ГИС с Bing Silverlight и SQL 2008? - PullRequest
1 голос
/ 18 июня 2011

У меня есть данные, которые я хочу создать приложение типа ГИС, которое будет иметь типичные функции добавления и удаления слоев разных типов. Каков наилучший архитектурный подход?

Данные состоят из местоположений собственности в Eastings и Northings. У меня также есть данные обследования боеприпасов в GML и Shapefiles.

Я знаю, что это очень широкий вопрос, но предметная область также кажется мне очень широкой, и я не уверен, в каком направлении идти.

Я думал об использовании пространственного элемента управления SQL 2008 и элемента управления Bing Silverlight для визуализации этих карт. Для этого мне нужно будет преобразовать восточные и северные координаты в тип географии GWS84? Но затем, если бы я преобразовал шейп-файлы в GML и импортировал все файлы GML в sql с использованием GeomFromGML, они бы имели геометрические типы данных. Разве эти два типа не будут несовместимы?

Кроме того, должен ESRI ArcGIS API для Silverlight особенность в уравнении? Является ли это хорошей средой для создания карт, которые я могу указать как SQL sqerver 2008 в качестве источника данных (при необходимости используя службу WCF)?

Любой совет с благодарностью!

1 Ответ

5 голосов
/ 18 июня 2011

Это то, что я делал несколько раз, используя данные ОС из SQL Server в элементах управления Bing Maps AJAX и Silverlight. Некоторые общие комментарии ниже (без определенного порядка!):

  • Не ожидайте, чтобы реализовать полномасштабный ГИС-функциональность с помощью Bing Maps. Простой запрос, поиск и отображение данных все нормально (+ простое редактирование), но после этого вы будете бороться с тем, что может быть достигается в браузере.
  • Все векторные фигуры, поставляемые в Bing Maps, должны быть в (география) Координаты WGS85, EPSG: 4326.
  • Однако все данные будут спроецированы и отображается с использованием (проецируется) Сферическая система Меркатора, EPSG: 3857.
  • Что касается векторных фигур, вы можете ожидать, что вы достигнете того же уровня производительности, что и на вкладке пространственных результатов SSMS, то есть (при тщательной архитектуре) вы можете отобразить до 5000 объектов на карте одновременно. масштабируйте / перемещайте их, нажимайте на них, чтобы вызвать различные свойства и атрибуты и т. д. Однако, после этого вы обнаружите, что пользовательский интерфейс становится довольно неотзывчивым (что Я полагаю, это причина того, что вкладки пространственных результатов ограничивают вас отображением 5000 записей одновременно.
  • Если вы хотите отобразить больше объектов, чем это, один из подходов заключается в их растеризации, проецируя их в проекцию EPSG: 3857, создавая файл изображений объектов в формате .PNG / .JPG и затем разрезая это изображение на листы в соответствии с система нумерации квадратов Bing Maps, как описано здесь:
    http://msdn.microsoft.com/en-us/library/bb259689.aspx и отображение их в качестве слоя плиток. Слои листов значительно быстрее, чем отображение эквивалентных векторных фигур, хотя это означает, что данные статичны.
  • Если вы создаете растровые плитки, вы можете либо визуализировать их динамически или предварительно обработать их для улучшения производительности - то есть вы можете установить задание на рендеринг и обновление набора тайлов для медленно меняющихся данных
    каждую ночь / каждый месяц и т. д.
  • Если вы говорите о данных OS Mastermap, уровень детализации участие означает, что вам нужно более тщательно подумать о том, что
    функции, которые вы хотите отобразить, и как вы хотите отобразить их. Возьмите
    например, Большой Лондон, занимающий площадь около 50 км х 40 км. к создавать растровые плитки (каждая из которых имеет размер 256 x 256 пикселей) при уровне масштабирования 19
    охватывая эту область, вам нужно визуализировать и хранить 1,3 миллиона отдельно плитка. Если каждый из них генерируется из запроса к базе данных, который принимает, скажем, 200 мс для запуска, потребуется много времени, чтобы подготовить все ваши данные. Кроме того, после того, как файлы были сгенерированы, вы можете подумать
    о хранении их в БД, а не в файловой системе.
  • Что касается загрузки данных ОС в SQL Server, в первую очередь - там
    Несколько инструментов, которые будут импортировать из GML или shapefile в SQL Сервер и обработать проекцию из EPSG: 27700 (Ordnance Survey
    Национальная сеть) к WGS84 по пути. Попробуйте GDAL / OGR или Safe FME для
    стартеры.

У меня есть блог на http://alastaira.wordpress.com, в котором есть несколько постов, которые могут оказаться полезными для описания различных аспектов интеграции Bing Maps и SQL Server. В частности, вы можете посмотреть на:

http://alastaira.wordpress.com/2011/02/16/loading-ordnance-survey-open-data-into-sql-server-2008/

http://alastaira.wordpress.com/2011/01/23/the-google-maps-bing-maps-spherical-mercator-projection/

http://alastaira.wordpress.com/2011/02/21/using-ogr2ogr-to-convert-reproject-and-load-spatial-data-to-sql-server/

...