Отображать динамические растровые (лидарные) данные на веб-карте, такие как Geoserver, Bing Maps, Google maps с нуля - PullRequest
2 голосов
/ 17 августа 2011

У меня есть некоторые высококачественные данные LiDAR.Мне нужно обработать его динамически и обновить поле (не поле высот) в зависимости от моего ввода и высоты в этой точке.После этого мне нужно отобразить растровые данные на веб-карте (карта Bing, карта Google и т. Д.) В режиме реального времени.Вот что я смог сделать до сих пор: я придумал несколько скриптов, использующих ArcGIS Python Lib, которые обрабатывают мои лидарные клипы, добавляют поле, обновляют это поле в соответствии с входными данными. Итак, теперь у меня есть всеточки на растре делятся на 3 категории каждые 5 минут.Если я просматриваю этот растр в arcGIS, я могу видеть красивый 3-цветный растр, перекрывающийся на базовой карте.

Но теперь мне нужно отрендерить эти растровые клипы на веб-карте.Сначала я должен был полигонизировать эти классифицированные клипы и отобразить полигоны на карте JavaScript.Но полигонизация занимает много времени, и, следовательно, она устраняется.

Теперь другой вариант, который у меня есть, - использовать возможности рендеринга GeoServer Raster для отображения изображений.Затем используйте созданную мной WMS, чтобы перекрыть ее на Bing Maps.Вот где я застрял.Я понятия не имею, как автоматически получать растры, которые поддерживает Geoserver, такие как Geotiff, jpg200o и т. Д., Из моих файлов ADF, сначала отображать их на открытых слоях, а затем пытаться перекрывать их на картах Bing.

Если кто-то знает о каких-либоХороший учебник, который делает этот вид рендеринга динамически изменяющихся растров на карте, был бы хорош, если бы вы могли указать мне на это.

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

Спасибо

PS: я неплохо разбираюсь в веб-программировании, веб-сервисах, базах данных, скриптах и ​​т. Д. Но новичок в работе с Lidar и Geo-Rasters.

Ответы [ 2 ]

4 голосов
/ 17 августа 2011

Поскольку вы знакомы с Python, вы можете использовать Python-скрипт GDAL2Tiles.py, который поставляется с библиотекой GDAL (http://www.gdal.org/gdal2tiles.html), чтобы взять любой растровый файл с географической привязкой и нарезать его на предварительно визуализированные PNG-плитки размером 256px x 256pxпронумерованы в соответствии с системой листов TMS, то есть системой z / x / y, которую используют Bing Maps / Google Maps / Open Street Maps).Включите этот сценарий в существующий рабочий процесс, чтобы каждые 5 минут повторно генерировать набор плиток с изображениями.

Затем все, что вам нужно сделать, - это создать новую TileSourceSpecification Bing Maps, которая указывает непосредственно на каталог, в котором полученплитки выводятся - вообще не требуется промежуточная служба WMS.

2 голосов
/ 30 августа 2011

Я решил это, используя растровый рендеринг Geoserver на OpenLayers и Bing Maps As Base. По сути, у меня есть скрипт Python, который обрабатывает мой лидар и производит формат GeoTiff. Geoserver использует этот GeoTIFF в качестве хранилища данных и предоставляет WMS (сервер веб-картографии). Открытый слой Позволяет мне перекрывать мои GeoTIFF на изображениях Bing Maps! Так что мне не нужно выходить на улицу, создавая плитку и схему листов. Как только мои данные изменятся, геосервер отобразит новые данные! Дайте мне знать, если кому-то понадобится более подробная информация по этому вопросу.

--- ОБНОВЛЕНИЕ: 3 апреля 2015 г. ---

Если быть более точным, я настроил растр GeoTIFF как сервис WMS в GeoServer. Затем, используя функции в JavaScript, я просто изменил SLD (Styled Layer Descriptor XML) и сервер отобразил растр в соответствии с моими живыми параметрами.

Теперь это можно сделать с помощью API сервера изображений ArcGIS Server. Он предоставляет гораздо более мощные функции для управления растров.

...