Знаете какие-нибудь библиотеки пространственных данных C#?

Я рассматриваю реализацию пространственных запросов в .NET без использования SQL2008. Первое требование — иметь возможность создать пространственный индекс (в стиле BTree) и запросить его.

Хотя SQL 2008 поставляется с библиотеками .NET для типов, вам необходимо использовать SQL для пространственных индексов.

Кто-нибудь использовал какие-либо библиотеки .NET для пространственных данных (ОС или коммерческие)? Я смотрю на NetTopologySuite, но он выглядит тихим, и мне не нужна мертвая библиотека.


person Simon Munro    schedule 02.02.2010    source источник
comment
Судя по всему, сегодня на MIX в Лас-Вегасе Microsoft объявила о поддержке пространственных индексов в SQL Azure, так что, вероятно, это будет включать пространственные индексы.   -  person geographika    schedule 18.03.2010


Ответы (4)


SharpMap — это (хорошо известная и используемая) коллекция пространственных библиотек OpenSource для .NET.

http://www.codeplex.com/SharpMap

Наиболее широко будут использоваться коммерческие библиотеки ESRI. Могу я спросить, почему вы не хотите использовать SQL для создания пространственных индексов?

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

Если вы не хотите создавать индексы в базе данных, вам придется использовать шейп-файлы:

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

Обновить

Я не использовал NTS или JTS, но есть также реализация JTS на C++ по адресу http://trac.osgeo.org/geos/ с активным сообществом пользователей, и я использовал его в нескольких проектах.

Shapely http://gispython.org/shapely/manual.html основан на GEOS в Python. Если вы все делаете в «облаке», возможно, стоит прочитать эту статью — http://sgillies.net/blog/986/manipulimization-of-whatchamacallems/

Повторные индексы — я обнаружил, что SQL Server + пространственные индексы превосходят шейп-файлы + индексы с теми же данными. Если вам нужны индексы для отображения данных, то тайловые кеши будут работать намного лучше, чем любое индексирование.

Python, кажется, стал одним из ключевых языков в ГИС. Существует также библиотека индексов R-типа — http://pypi.python.org/pypi/Rtree/

person geographika    schedule 04.02.2010
comment
SQL Azure не поддерживает пространственные данные, и я не уверен, что SQL — лучшее место для пространственных индексов в хорошо масштабируемой среде. Спасибо за ссылку на shptree и признание SharpMap. У вас есть мнение о NetTopologySuite? Как порт JTS, разве он не поддерживает индекс R-Tree? - person Simon Munro; 04.02.2010

НТС хорош...

Другие вещи, которые могут быть полезны сейчас или позже: -

GDAL/OGR для доступа к различным растровым/векторным форматам PROJ4 для обработки проекций и преобразований (ознакомьтесь с загрузкой FWTOOLS для вышеуказанного в 1 установке)

Вы также должны проверить Mapwindow... версия 6 полностью переписана на .NET, она должна скоро выйти, если еще не вышла... видел ее на FOSS4G в Сиднее.

http://www.mapwindow.org/

Конечно, PostGRES с PostGIS — это очень мощная пространственная база данных, доступ к которой можно получить из .NET.

Также проверьте SQLLite, который имеет пространственные расширения для векторных данных, а теперь и RasterLite!

Geoserver или Mapserver, если вы хотите что-то включить в Интернете.

Другие общие ГИС-приложения для проверки: GRASS и SAGA

person timemirror    schedule 10.02.2010

Простой для QuadTree http://www.codeproject.com/KB/recipes/QuadTree.aspx

person Smart_Joe    schedule 15.07.2010

Я бы предложил DotSpatial

имеет лицензию Массачусетского технологического института

person Manfred Wippel    schedule 04.05.2020