So, ArcGIS 10.2 was released last week, with a bunch of exciting new features. Among other things, they turned on multi-core support in a few spatial analyst tools, made it easy to create Python add-ins for the GUI, and have posted code templates on GitHub. All of these features are very exciting, but what I’m most excited about is support for Spatialite databases.
For those of you who don’t know, Spatialite is a light SQL platform with spatial capabilities. It doesn’t have all the advantages of a true server-client DBMS, but it doesn’t have the overhead either. One of Spatialite’s big advantages is the ability to package several vector files in a single file (no more .shx, .shp, .proj, etc) for easier distribution. Also, the spatial SQL functionalities allow you to solve problems that would be difficult or impossible to solve with standard geoprocessing tools.
This is a great move, as it will allow users of ESRI products and users of open source products to work together more easily. As of this writing, there is not, to my knowledge, in-GUI support for SQL queries in ArcMap, so you will have to perform spatial queries in the Spatialite GUI (see my GIS Resources page for download link) or through Python, although ESRI may have implemented this support in SDE. If anyone knows or has access to SDE to test this, please let me know in the comments.
If you want a nice way to package your data that almost anyone can use in their GIS, to play around with spatial SQL queries, or just to see what this is all about, give Spatialite a try. And thanks to ESRI, now you can use it in ArcGIS, too!
I tested the ArcGIS capabilities the other day, and found that you can read and write to the SpatialLite DB from the basic geoprocessing tools without a problem. I did have one vector layer that failed to load out of 5 tested, though. This is a great development, but we’ll have to see how well it plays with ESRI’s software in the long run.