2010-02-02 10 views
9

Estoy buscando implementar consultas espaciales en .NET sin usar SQL2008. El primer requisito es poder crear un índice espacial (estilo BTree) y poder consultarlo.¿Conoce alguna de las bibliotecas de datos espaciales de C#?

Aunque SQL 2008 se envía con bibliotecas .NET para los tipos, debe usar SQL para los índices espaciales.

HA ¿alguien usó alguna biblioteca .NET para datos espaciales (SO o comercial)? Estoy mirando NetTopologySuite pero parece tranquilo y no quiero una biblioteca muerta.

+0

Al parecer, Microsoft ha anunciado soporte para espacial en SQL Azure hoy en MIX en Las Vegas, por lo que presumiblemente esto incluirá espacial índices – geographika

Respuesta

8

SharpMap es una colección Open Source (bien conocido y utilizado) de las bibliotecas espaciales para .NET

http://www.codeplex.com/SharpMap

bibliotecas comerciales de ESRI serían los más utilizados. ¿Puedo preguntar por qué no desea usar SQL para crear índices espaciales?

http://msdn.microsoft.com/en-us/library/bb964712.aspx

Si no desea crear índices en la base de datos a continuación, se le pegado usando archivos de forma:

http://mapserver.org/utilities/shptree.html

actualización

No he utilizado NTS o JTS, pero también hay una implementación en C++ de JTS en http://trac.osgeo.org/geos/ que tiene una comunidad de usuarios activa, y la he usado en un coupl e de proyectos.

Shapely http://gispython.org/shapely/manual.html se basa en GEOS en Python. Si está haciendo todo en "la nube", entonces valdría la pena leer este artículo: http://sgillies.net/blog/986/manipulimization-of-whatchamacallems/

Índices re: encontré que los índices espaciales de SQL Server + superan a los índices shapefile + con los mismos datos. Si necesita los índices para mostrar datos, las memorias caché de teselas funcionarían mucho mejor que cualquier indización.

Python parece haberse convertido en uno de los idiomas clave en GIS. También hay una biblioteca de índice de tipo R - http://pypi.python.org/pypi/Rtree/

+0

SQL Azure no admite datos espaciales y no estoy convencido de que SQL sea el mejor lugar para los índices espaciales en un entorno altamente escalable. Gracias por el enlace de shptree y el reconocimiento de SharpMap. ¿Tienes alguna opinión de NetTopologySuite? Como puerto de JTS, ¿no tiene soporte para el índice R-Tree? –

4

NTS es bueno ...

Otras cosas que pueden ser útiles ahora o más adelante: -

GDAL/OGR para acceder a diferentes formatos raster/vector PROJ4 para el manejo de las proyecciones y transformaciones (Confirmar descarga FWTools de lo anterior en 1 instalación)

que debe salir MapWindow también ... Ver 6 es el re-escrito en .NET debe estar fuera pronto si no fuera todavía ... lo vi en FOSS4G en Sydney.

http://www.mapwindow.org/

de Postgres curso con PostGIS es una base de datos espacial muy poderosa que puede acceder desde .NET

También puedes ver SQLLite que tiene extensiones espaciales para dat vector, y ahora RasterLite !!

Geoservidor o Mapserver si desea habilitar cualquier cosa en la Web.

Otras aplicaciones SIG en general a la comprobación: GRASS y SAGA

+0

+1 porque NTS es bueno – yzorg

Cuestiones relacionadas