.NET-библиотека для геоданных, картография

У нас есть веб-приложение с компонентом сопоставления (ASP.NET/SQL Server 2005, Google Maps API). Компонент сопоставления развивается - он начинался как простая, удобная функция и постепенно становится краеугольным камнем приложения; поэтому мы начинаем выполнять более сложные задачи отображения. Я пытаюсь понять, какая платформа для этого лучше всего. Некоторые примеры того, что нам нужно сделать:

  • Чтение и запись KML
  • Найти все точки на определенном расстоянии от данной точки
  • Найдите, какой многоугольник содержит точку (например, в какой провинции находится эта точка)
  • Найдите, какой многоугольник содержит данный многоугольник (например, в какой провинции находится этот округ)
  • Импорт данных из других форматов, таких как шейп-файлы ArcGIS.
  • (Возможно) Самостоятельно обслуживать фрагменты карты вместо того, чтобы полагаться на API Gmaps.

Кое-что из этого мы уже делаем, только с нашим собственным кодом. Мы храним координаты как пары десятичных столбцов, фигуры как фрагменты KML и реализовали некоторые стандартные алгоритмы (точка в многоугольнике и т. Д.) В нашем собственном коде. Пока мы не полагались ни на какие сторонние компоненты, библиотеки с открытым исходным кодом или компоненты пространственных данных, но я хотел бы найти надежную платформу для этого материала, которая хорошо протестирована и даст нам возможность расти.

Некоторые варианты, которые я рассматриваю, включают:

  • Пространственные компоненты SQL Server 2008 для создания историй и запросов к геоданным
  • SharpMap или NetTopologySuite для управления геоданными в .NET-коде

Есть ли другие варианты, которые мне следует рассмотреть? Каковы ваши рекомендации?


person Herb Caudill    schedule 30.04.2011    source источник
comment
Вы также можете получить ответ на свой вопрос на gis.stackexchange.com   -  person Cumbayah    schedule 01.05.2011


Ответы (3)


База данных с пространственной поддержкой отлично подойдет для задач «найти» в вашем вопросе. Поскольку вы уже используете SQL-сервер, логичным выбором было бы перейти на 2008 год, чтобы получить пространственные расширения.

Oracle и PostGreSQL также имеют хорошие пространственные расширения. MySQL этого не делает.

person MarkJ    schedule 07.05.2011

вам следует проверить ESRI api. Silverlight, javascript, flex, даже версии для java и iOS. Он будет делать все, что вы здесь описываете, и многое другое.

person Muad'Dib    schedule 30.04.2011
comment
Да, он действительно все сделает. Справедливости ради стоит отметить, что это может быть очень дорого - person MarkJ; 03.05.2011
comment
а также бесплатно. Silverlight / wpf sdk бесплатен, и они также открыли слои базовой карты без лицензии. - person Muad'Dib; 03.05.2011

Я бы порекомендовал вам посмотреть MapAround. Это GLP3 и имеет почти те же функции, что и SharpMap, но с оптимизацией производительности.

person Kirill Bezrukov    schedule 18.04.2013