SpatialDB Advisor
|
Straws in the Wind Blog Articles • Industry Best Practice? • Spatial Database Independence • 2011 Oracle Spatial Excellence Award for Education and Research • Tiling Very Large Rasters • Cloud Computing GIS and Standards (OGC/ISO) • Usefulness of Spatial Metadata as a Foundation for an Australian data.gov and other uses • Vale Professor Pieter Roelof Zwart 1941-2010 • Interview by Nestoria on Real Estate Mapping • Mapping surface area of a ruptured pipe in Oracle Spatial • FOSS4G 2009 Sydney Presentation • GIS software and Database Primary Keys • To Constrain or Not to Constrain: There should be NO Question • The Shapefile 2.0 Manifesto • Maps of War Website • Talk on Open GeoData in Australia • Boarder and District Spatial Information Group Presentation on Spatial Datbases • Presentations given by myself at the Australian Oracle Spatial Forum, Sydney, Thursday 28th August 2008 • The Sad State of SQL Spatial Standards - Take 2 • Radius Studio and ESRI (Part 2) • The Sad State of GIS SQL Standards • Microsoft to release their own spatial capability for SQL Server • Radius Studio and FDO • SpatialWare 4.9 Released • First Radius Studio Certified Practitioner • Image Catalog Tool - How To Videos • Latest article published on Directions Magazine • Image Catalog / GeoRaster Management Tools • ESRI Ireland - Many Thanks • PL/SQL Packages for Oracle Sdo_Geometry • Professor Hanan Samet • ADF and Spatial • Bouquets and Brickbats • Geomatics Degrees, Space Curves and Oracle Spatial • Non-Persistent Types • Feature Data Objects - Either/Or? • A Thank You
|
Over at Alex Willmer’s Misspelled nemesis club there has been a (now-closed) discussion on the successor to the ubiquitous shapefile. Alex points out a lot of the benefits of the shapefile (and there certainly have been many). Before we discuss its “successor”, we should reflect on our business needs and the problems we had with the original 1.0 version so that, having learned and remembered, we might create something better. In taking my use of shapefiles over the years as an articulation of “business needs”, I see two, specific and distinct, areas of need:
I have never used shapefiles for data editing of business data in a shared edit environment. Anyone who did so, or does so, (sorry) is mad. *>
I’m sure there are more reasons but these are a pretty reasonable summary of the issues for exchange as I see it. *> But, you know, a big pain in this arena was that, once stored in a shapefiles, unless I had ESRI software, I could not create the SBN/SBX spatial index files (that only ESRI software could read anyway)! Anyone else note the lack of “donation” of the structure of the spatial index to the public domain in the shapefile specification? This lack of donation of a critical element of a format highlights a big limitation in a vendor donating any format (or API) to the public domain (as in some sort of “look at me” act of philanthropy). *>
*?>
First off, if you are transactionally editing anything in your business/organisation then you use a database. And I don’t care what database you use: the decision as to what database is never made about “best” but about what is “incumbent” within an organisation. *> Maybe. SQLLite is a database and SpatialLite is a spatial type for that database. I am not sure that I would build a data exchange and read-only access system based on a database, because, perhaps, it is too complex. But, as the SpatialLite web page points out:
Added this bit of excellence is the fact that databases are meant to be “self-referential” via all its data rules being encoded within it (ie primary and foreign keys, check, unique and table etc constraints etc). As such I would prefer to get a fully specified single-file SQLLite database (with spatial data and indexing via SpatialLite) than any geospatial vendor’s proprietary data file format. One final think I like about SpatialLite is that its creator, Alessandro Furieri, has not attempted to write, from scratch, his own database management system. He has sensibly looked at the open source community and found the best for his (and our) purpose: SQLLite. Well done. Because of this he doesn’t have to specifically write ODBC etc drivers for SQLLite just extend those that exist (in the open source community). This bodes well for this style of data access for SQL clients. *> Finally, wrt File Geodatabase, Scott talks a lot about its complexity and semantic richness. Sure one needs this for data editing in a transactional environment (preferably via a properly constructed database that is aligned to computer science data management principles – and not a single vendor’s view on spatial data management), but who need this for simple file exchange? Vale, File Geodatabases! *>
So, SDF passes the “single file test” but, worryingly:
I can’t help thinking: what is being hidden from us? Revisiting SpatialLite we can see that it is not limited by the above restrictions, thus I think SpatialLite is a better choice for our purpose than (a partially hidden and crippled) SDF. *> *?> Can we learn anything from the database “design pattern” of “logical abstraction from physical implementation”? I think we can. But firstly let’s look at Feature Data Objects and Scott’s comments – _“At ESRI, we are working on a low-level (non ArcObjects-based) API for the file Geodatabase.”_. Sorry, Scott, but Autodesk has the drop on you here with regards to open source APIs for accessing spatial data via FDO. Why doesn’t ESRI write an FDO provider for their data formats? (AFAIK MapInfo have done so as yet for its formats.) Is this a “control” thing. Note, however, that if a user of your products zips up a file Geodatabase (have they gotten all the files?) and gave it to another business without ESRI software, what is wrong with that business using a free FDO provider to access the data (err one that implements access to any spatial indexing!)? Or are vendors trying to get software sales via a locked-up data format (a geo-Trojan horse)? At least FDO provides a logical platform for implementing that which we need and cleanly breaks the nasty hard connection between file formats and applications. While I like FDO I also dislike it. Personally, I would rather see vendors making SQL drivers (implementing SQL/MM and OGC SFS SQL access standards) available for any proprietary data formats they believe they need to create. Manifold GIS does this for its *.map* file format (though they do not make the driver available for download): perhaps they will and show the world the *> way to do it. But even with FDO we have a problem: it is, primarily, a geospatial programmers’ solution to data access. I cannot access any FDO spatial data format except through an application that has bound it in to its architecture. I would love to be able to do the following (on Windows) for non-database spatial data formats (for then I will not have to worry about any internal file storage issues):
*> However, this discussion and article have been useful because I will now give a long and serious look at the SpatialLite/SQLLite combination because, from this cursory examination it seems to fulfill all my requirements for Shapefile 2.0. ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
![]()
![]() |
Comment [3]
now that autodesk have developed a FDO Provider for SQLLite and it has been advocated on the mailing lists as better than sdf…
http://trac.osgeo.org/fdo/query?status=new&status=assigned&status=reopened&status=closed&verbose=1&component=SQLite+Provider&order=priority
The main performance win is being able to use sqllite indexes on other columns
i guess SQLLite won
(BTW this textarea is very small on the latest FF)
— zac spitzer · 28 October 2009, 01:24 · #
Thank you for this insightful overview. What are your thoughts on the binary xml vis-a-vis the cubewerx opensource library? http://www.cubewerx.com/bxml
One typo under the SQLite heading, “Added this this bit ..” (double this).
cheers,
-matt
— matt wilkie · 9 June 2010, 04:32 · #
Matt,
If I had to use XML in, say, something like a web server to client communication environment, then I would consider using something like the CubeWerx solution as against using alternate methods of XML tag reduction (eg replacing Tag GML with the number 1, Point with 2, etc). Anything that can reduce the size of the communications packet is good. CubeWerx’s solution has been around for a while but it is a good contribution from a company with an excellent reputation.
This is, of course, separate from the Well Known Binary (WKB) encoding of OGC Simple Feature data. This data is only one element in any complex XML document.
In the context of this blog about SpatialDB it is important to note that no standard requires a relational database implementor use any specific storage format. What is important is the logical API provided to access it through logical languages like Structured Query Lanaguage. So, I am more interested in being able to:
SELECT geometry.STArea() FROM <table>
Than whether the said geometry is stored as WKT, WKB, SQL3 Objects + Arrays, SVG….
regards
Simon
— Simon · 1 July 2010, 16:46 · #