I am trying to group points of geospatial data based on density and relative distance. Is there a way that this can be done in SQL Server 2008 using the spatial features or would it be better to translate the data into graph data and use a graph clustering algorithm?
A:
Google
As far as I know there are no inbuilt spatial methods for clustering points in SQL Server 2008. I've never come across any examples of this done in T-SQL / at the database level. It would be far easier to go with your second approach and do these calculations at the application level - using R, GRASS, MapServer depending on your needs / development preferences.
If it is just for displaying clusters of points (rather than associated analysis) then check out the following links:
OpenLayers
http://openlayers.org/dev/examples/strategy-cluster.html
http://googlemapsapi.martinpearman.co.uk/articles.php?cat_id=1
http://econym.org.uk/gmap/example_clusterer.htm
Python / PostGIS
geographika
2010-05-06 07:31:06