What’s the Point? Inaugurating a Spatial SQL Concordance

In a couple of weeks I will be presenting a workshop entitled Location Data Query with SpatiaLite and QGIS to the NYC Open Data Meetup. The workshop will describe how to do some typical GIS operations (e.g. buffering, intersecting) in spatial SQL rather than in the typical desktop GIS.

The talk will focus on SpatiaLite, but I do most of my work in PostGIS. I am therefore constructing the workshop with an eye towards using spatial functions that are named the same in both SQL implementations. This is a little confusing, because each implementation provides a number of ways to accomplish the same thing. I have therefore begun a Spatial SQL Concordance to begin documenting some commonly used spatial functions. As you can see, there are about 8 different functions with about 16 different aliases that can be used to accomplish the relatively simple task of creating a point in your spatial database. Additionally, the PostGIS docs note that some of these options are faster or slower than others.

This tool, which will grow organically as I work on various projects, should make it easier both to switch back and forth between these implementations, and to decide which function to use to accomplish a given task.