知道任何C#空间数据库吗?

时间:2010-02-02 13:54:25

标签: c# .net spatial spatial-index

我正在考虑在不使用SQL2008的情况下在.NET中实现空间查询。第一个要求是能够创建(BTree样式)空间索引并能够查询它。

尽管SQL 2008附带了用于类型的.NET库,但您需要将SQL用于空间索引。

是否有人使用任何.NET库来处理空间数据(操作系统或商业用途)?我正在看NetTopologySuite,但它看起来很安静,我不想要一个死库。

4 个答案:

答案 0 :(得分:8)

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,但是在http://trac.osgeo.org/geos/还有一个JTS的C ++实现,它有一个活跃的用户社区,我用过几个项目。

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/

答案 1 :(得分:4)

NTS很好......

现在或以后可能有用的其他内容: -

GDAL / OGR用于访问不同的栅格/矢量格式 PROJ4用于处理投影和变换 (在1次安装中查看上面的FWTOOLS下载)

你也应该查看Mapwindow ...如果还没出来,那么在.NET中重写的版本应该很快就会出来......在悉尼的FOSS4G看到它。

http://www.mapwindow.org/

当然PostGRES与PostGIS是一个非常强大的空间数据库,您可以从.NET访问

另请查看具有矢量数据空间扩展的SQLLite,现在是RasterLite !!

Geoserver或Mapserver,如果您想要通过网络启用任何内容。

要结帐的其他常规GIS应用程序: GRASS和SAGA

答案 2 :(得分:2)

答案 3 :(得分:-1)

我建议DotSpatial

其MIT许可