Как создать KML, который поддерживает анимированные наложения на землю?


11

У меня есть 12 изображений, которые представляют погодные условия от 1 до 12 дня. Я использую gdal2tiles для создания фрагментов карты из каждого из этих изображений. gdal2tiles также создает файл KML, который можно использовать в Google Планета Земля для отображения плиток.

Однако я хочу создать анимированный слой из всех 12 изображений. Google Планета Земля поддерживает анимацию в файлах KML (см. Https://developers.google.com/kml/documentation/time#example2 ). Существуют ли какие-либо инструменты для создания анимированного наземного оверлея KML-файла, такого как этот? Способен ли gdal2tiles на это?

Большое спасибо. - Майк


Мое лучшее предложение - последовать совету этого комментатора: « gis.stackexchange.com/questions/72550/… » и попытаться «объединить несколько статических KML-файлов, которые у вас есть в настоящее время, в один KML-файл с несколькими метками меток TimeStamp». Поскольку gdal2tiles создает файл KML, может показаться, что это будет инструмент для использования. Извините, я не могу предложить намного больше, чем это. Удачи!
TheLastGIS

Ответы:


8

Прекрасным инструментом для создания анимированных KML-файлов с оверлеями на земле является simplekml , «пакет python, позволяющий генерировать KML с минимальными усилиями».

Ниже приведено быстрое и грязное воспроизведение примера TimeSpan, который вы упомянули перед использованием simplekml:

import simplekml
kml = simplekml.Kml()

ground1 = kml.newgroundoverlay(name='Blue Marble - Jan')
ground1.icon.href = 'http://mw1.google.com/mw-earth-vectordb/kml-samples/bmng12/files/BMNG-Jan.jpg'
ground1.gxlatlonquad.coords = [(-180,-90),(180,-90),(180,90),(-180,90)]
ground1.timespan.begin = "2004-01-01"
ground1.timespan.end = "2004-01-31"

ground2 = kml.newgroundoverlay(name='Blue Marble - Feb')
ground2.icon.href = 'http://mw1.google.com/mw-earth-vectordb/kml-samples/bmng12/files/BMNG-Feb.jpg'
ground2.gxlatlonquad.coords = [(-180,-90),(180,-90),(180,90),(-180,90)]
ground2.timespan.begin = "2004-02-01"
ground2.timespan.end = "2004-02-29"

ground3 = kml.newgroundoverlay(name='Blue Marble - Mar')
ground3.icon.href = 'http://mw1.google.com/mw-earth-vectordb/kml-samples/bmng12/files/BMNG-Mar.jpg'
ground3.gxlatlonquad.coords = [(-180,-90),(180,-90),(180,90),(-180,90)]
ground3.timespan.begin = "2004-03-01"
ground3.timespan.end = "2004-03-31"

# ...and so on with the other months

kml.save("TimeSpan_Example_simplekml.kml")
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.