KML + Google Планета Земля: большое сложное наложение с селектором временной шкалы? - PullRequest
1 голос
/ 21 января 2010

Возник вопрос о наложениях и сроках в Google Планета Земля (или, возможно, в других KML-дружественных клиентах).

У меня есть данные для каждой минуты дня для данного дня, которые представляют числовые значения для различных областей на карте, и я хочу отобразить эти данные таким образом, который в основном похож на карту метеорологического радара. Итак, для каждой минуты у меня есть большой список ограничивающих прямоугольников широты и долготы, каждый из которых имеет соответствующее числовое значение; отображение будет включать рисование многоугольника над ограниченной областью, и цвет многоугольника будет зависеть от этого числового значения.

Я вижу много способов сделать это за один момент времени; либо создайте PNG с чем-то вроде ImageMagick для всей области карты и наложите растровое изображение, либо нарисуйте многоугольники прямо на карте ... вопрос, однако, заключается в том, как я могу настроить это так, чтобы временной диапазон мог быть выбран пользователь, и все наложения, которые соответствуют этому временному диапазону, будут отображены. И он должен быть максимально отзывчивым, поэтому эффективность является ключевым фактором.

Можно было бы предварительно визуализировать много и много файлов PNG, например, по одному на каждый временной интервал; или лучше использовать полигоны, или ...?

Наконец, Google Earth - лучший клиент для этого? Или мне лучше быть с чем-то другим?

Спасибо !!

Ответы [ 2 ]

3 голосов
/ 22 января 2010

Открытый геопространственный консорциум Стандарт WMS для обслуживания карт определяет поддержку параметра TIME, который позволяет поддерживать временные запросы. Сервисы WMS, предоставляющие эту поддержку, известны как WMS-T. Насколько я знаю, из картографических серверов с открытым исходным кодом только Mapserver и частично Geoserver обеспечивают поддержку WMS-T (я могу быть очень неправ в этом, поскольку говорю только из личного опыт). Зайдите на эту страницу, чтобы узнать все подробности о настройке службы WMS-T:

http://mapserver.org/ogc/wms_time.html

Вы можете легко увидеть, как работает запрос, посмотрев эти URL:

http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi?LAYERS=nexrad-n0r-wmst&TRANSPARENT=true&FORMAT=image%2Fpng&TIME=2005-08-29T13%3A00%3A00Z&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&SRS=EPSG%3A4326&BBOX=-90,22.5,-67.5,45&WIDTH=256&HEIGHT=256

Обратите внимание, как параметр TIME изменяется с 2005-08-29T13% 3A00% 3A00Z на 2005-08-30T13% 3A00% 3A00Z (Время форматируется в соответствии с ISO 8601 Спецификация).

http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi?LAYERS=nexrad-n0r-wmst&TRANSPARENT=true&FORMAT=image%2Fpng&TIME=2005-08-30T13%3A00%3A00Z&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&SRS=EPSG%3A4326&BBOX=-90,22.5,-67.5,45&WIDTH=256&HEIGHT=256

На стороне клиента, хотя Google Планета Земля может выступать в качестве клиента WMS, я не думаю, что он поддерживает временное измерение запросов WMS. С другой стороны, создание веб-клиента, который их поддерживает, действительно просто с OpenLayers , структурой веб-картографирования с открытым исходным кодом Javascript, как вы можете видеть в следующем примере:

http://dev.openlayers.org/releases/OpenLayers-2.8/examples/wmst.html

Надеюсь, это даст вам некоторые подсказки.


Редактировать: Вы можете определить несколько значений времени, один диапазон или несколько диапазонов. Например, для одного диапазона URL будет:

http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi?LAYERS=nexrad-n0r-wmst&TRANSPARENT=true&FORMAT=image%2Fpng&TIME=2005-08-30T13%3A00%3A00Z/2005-09-01T13%3A00%3A00Z&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&SRS=EPSG%3A4326&BBOX=-90,22.5,-67.5,45&WIDTH=256&HEIGHT=256

Обратите внимание, что параметр TIME равен 2005-08-30T13% 3A00% 3A00Z / 2005-09-01T13% 3A00% 3A00Z

2 голосов
/ 23 января 2010

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

  • При уменьшении масштаба (небольшого масштаба) необходимо будет нарисовать много ячеек, что сделает использование изображения более эффективным. PNG могут быть упакованы в файл kmz, который является просто заархивированным каталогом.
  • Когда пользователь масштабируется в тесном (крупномасштабном) масштабе, необходимо нарисовать меньше ячеек, что делает вектор наиболее эффективным методом. Google Планета Земля может построить большое количество векторов без особых проблем, но есть ограничения.

Google Планета Земля великолепна как программа просмотра общего назначения, которая очень удобна для пользователя. Однако инструменты временного ряда являются более сложными, поэтому они будут зависеть от сложности ваших пользователей. Насколько это применимо к вашему проекту, зависит от типа данных, которые вы имеете, и от того, какой вывод вы хотите получить. Вы можете получить лучшие результаты, используя вспышку.

...