This project is read-only.

Which method of spatial indexing uses MssqlSpatial?

Jul 31, 2007 at 6:35 PM
The same as PostGIS? (GiST - Generalized Search Method) or R-Tree?
Thank you in advanced for the answer.
Aug 2, 2007 at 4:38 AM
None of the above. MSSQL2005 doesn't support creating your own index type.

Instead it uses 4 double-value columns that contain the min/max of the minimum bounding box.
This more or less makes it work in the same way that an axis aligned boundingbox tree works (although not quire because it uses a combined index on the four values). Although this sounds a bit too simple, it actually performs quite well.
Aug 2, 2007 at 3:40 PM
PostGIS indexing algorithm is R-Tree implemented on GiST, a PostgreSQL indexing infrastructure. As SharpGIS said, SQL Server 2005 has not such indexing API, and it seems 2008 version will not have it either. The are some approaches to overcome this limitation, using grids or a space-filling curve function over B-Tree indexing implemented with CLR table-valued functions.

For MsSqlSpatial I adopted a simpler approach described by SharpGIS. It's not properly a spatial index in the academic sense but I have fine-tuned it to be better enough for most cases (in particular for my needs and priorities, but being this an open source project, everyone is invited to contribute a better performant implementation :-)

Best regards,
Ricardo Stuven.
Aug 2, 2007 at 4:48 PM
Thank you!