У нас есть веб-приложение с картографическим компонентом (ASP.NET/SQL Server 2005, Google Maps API).Компонент картирования развивается - он начинался как простая, приятная функция и постепенно становится краеугольным камнем приложения;поэтому мы начинаем выполнять более сложные задачи по отображению.Я пытаюсь выяснить, что является лучшей платформой для этого.Некоторые примеры того, что нам нужно сделать:
- Читать и писать KML
- Найти все точки на определенном расстоянии от заданной точки
- Найти, какой полигон содержитточка (например, в какой провинции находится эта точка)
- Найти, какой полигон содержит данный полигон (например, в какой провинции находится этот район)
- Импорт данных из других форматов, таких как шейп-файлы ArcGIS
- (Может быть) Служите плиткам карты сами, вместо того, чтобы полагаться на API Gmaps
Некоторые из них мы уже делаем, только с помощью нашего собственного кода.Мы храним координаты в виде пар десятичных столбцов, фигуры в виде фрагментов KML и внедрили некоторые стандартные алгоритмы (точка-полигон и т. Д.) В нашем собственном коде.До сих пор мы не полагались на какие-либо сторонние компоненты, библиотеки с открытым исходным кодом или компоненты пространственных данных, но я хотел бы найти надежную платформу для этого материала, которая хорошо протестирована и даст нам возможность расти.
Некоторые параметры, которые я рассматриваю, включают:
- Пространственные компоненты SQL Server 2008 для создания историй и запросов геоданных
- SharpMap или NetTopologySuite для управления геоданными в коде .NET
Есть ли другие варианты, которые я должен рассмотреть?Каковы ваши рекомендации?