Microsoft has announced the support for geospatial indexing and querying in Azure DocumentDB, the purpose built NoSQL JSON document database designed for modern mobile and web applications.
The latest DocumentDB service update includes support for automatic indexing of geospatial data, as well as SQL support for performing proximity queries stored in DocumentDB. Users who download version 1.4.0 of the .NET SDK will also find new types for representing points and polygons, support for creating and enabling spatial indexing on DocumentDB collections, and new LINQ query operators for performing spatial queries.
As Microsoft described in the “Schema Agnostic Indexing with Azure DocumentDB” paper, they designed DocumentDB’s database engine to be truly schema agnostic and provide first class support for JSON. The write optimised database engine of DocumentDB now also natively understands spatial data represented in the GeoJSON standard.
How does it work?
In a nutshell, the geometry is projected from geodetic coordinates onto a 2D plane then divided progressively into cells using a quadtree. These cells are mapped to 1D based on the location of the cell within a Hilbert space filling curve, which preserves locality of points. Additionally when location data is indexed, it goes through a process known as tessellation, i.e. all the cells that intersect a location are identified and stored as keys in the DocumentDB index. At query time, arguments like points and polygons are also tessellated to extract the relevant cell ID ranges, then used to retrieve data from the index.
Learn more about this feature here.
Source: GIM International