我正在考虑在.NET中实现空间查询,而不使用sql2008.第一个要求是能够创建(BTree风格的)空间索引并能够查询它.
尽管sql 2008附带有.NET库的类型,但您需要使用sql作为空间索引.
任何人都使用任何.NET库进行空间数据(OS或商业)?我正在看NetTopologySuite,但它看起来很安静,我不想要一个死亡的图书馆.
解决方法
SharpMap是一个(众所周知和使用的)OpenSource的.NET空间库集合
http://www.codeplex.com/SharpMap
来自ESRI的商业图书馆将是最广泛使用的.
我可以问为什么你不想使用sql来创建空间索引?
http://msdn.microsoft.com/en-us/library/bb964712.aspx
如果您不想在数据库中创建索引,那么您将被使用shapefile所困扰:
http://mapserver.org/utilities/shptree.html
更新
我没有使用NTS或JTS,但也有一个C实现的JTS在http://trac.osgeo.org/geos/有一个活跃的用户社区,我已经使用了几个项目.
Shapely http://gispython.org/shapely/manual.html基于Python中的GEOS.如果你在“云”中做所有事情,那么可能值得一读这篇文章 – http://sgillies.net/blog/986/manipulimization-of-whatchamacallems/
重新索引 – 我发现sql Server空间索引优于具有相同数据的shapefile索引.如果要求显示数据的索引,则tile缓存将执行远远优于任何索引.
Python似乎已经成为GIS中的关键语言之一.还有一个R型索引库 – http://pypi.python.org/pypi/Rtree/