Вложенные файлы KMZ не отображают изображения

У меня есть несколько файлов KMZ, созданных с помощью gdal_translate с использованием geoTiffs в качестве входных данных. Все отдельные файлы KMZ открываются и правильно отображаются в Google Планета Земля, но я хотел бы сгруппировать файлы KMZ в другой файл KMZ для лучшей организации. Я попробовал предложение JasonM1 в теме "Вложение файла KMZ", но изображения не отображаются. Google Планета Земля считывает родительский файл KMZ и перемещается в нужное место, но наложение не отображается. Как загрузить изображения? Файл doc.kml верхнего уровня показан ниже. Спасибо!

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
    <Document>
      <NetworkLink>
         <open>1</open>
         <refreshVisibility>1</refreshVisibility>
         <flyToView>1</flyToView>
         <Link>
            <href>out_1.kmz</href>
         </Link>
      </NetworkLink>
      <NetworkLink>
         <Link>
            <href>out_2.kmz</href>
         </Link>
      </NetworkLink>
      <NetworkLink>
         <Link>
            <href>out_3.kmz</href>
         </Link>
      </NetworkLink>
   </Document>
</kml>

person nak    schedule 25.07.2014    source источник
comment
Я предполагаю, что вложение файлов KMZ - это вопрос, на который вы ссылаетесь? На Stack Overflow прямо сейчас есть 7,7 миллиона вопросов, поэтому, если вы ссылаетесь на конкретный вопрос, будет полезно, если вы на самом деле предоставите ссылку. (который, как я вижу, отредактировал @JasonM1)   -  person psubsee2003    schedule 26.07.2014
comment
Какой фрагмент KML ссылается на отсутствующий оверлей? Что такое необработанная ссылка KML и что Google Планета Земля считает URL-адресом?   -  person JasonM1    schedule 27.07.2014


Ответы (1)


Изображения в файле KMZ упоминаются как относительные URL-адреса, относящиеся к корневому документу KML.

Предположим, что файл out_1.kmz имеет корневой файл kml с именем doc.kml со следующей ссылкой на оверлейное изображение:

<kml xmlns="http://www.opengis.net/kml/2.2">
    <GroundOverlay>
        <Icon>
          <href>overlay.jpg</href>
        </Icon>
    </GroundOverlay>
</kml>

Однако если корневой KML обращается к другому файлу KML во вложенной папке, то ссылки в целевом документе KML будут относиться к расположению целевого документа KML (т. е. к вложенной папке).

Если вы ссылаетесь на целевой файл KMZ из файла KML или KMZ, относительные ссылки на изображения в KMZ не изменятся.

Если вы пытаетесь реструктурировать содержимое одного или нескольких файлов KMZ, относительные URL-адреса изображения, на которое ссылаются, должны соответствовать новой структуре.

person JasonM1    schedule 27.07.2014
comment
это помогает моему пониманию. Но все ли ссылки относятся к верхнему уровню? - person nak; 29.07.2014
comment
Ссылки относятся к конкретному документу KML. Для корневого документа KM все ссылки относятся к верхнему уровню. Документ KML в подпапке будет иметь ссылки на него и так далее. - person JasonM1; 29.07.2014
comment
Извините, пользователь первый раз. @ Джейсон, это помогает моему пониманию. Но все ли ссылки относятся к верхнему уровню? Файлы KMZ представляют собой супероверлейные файлы, содержащие несколько папок и сотни файлов kml и png. Но самый низкий уровень kml (0.kml), по-видимому, предполагает, что файл png для отображения находится в той же папке, что и файл 0.kml. Он использует ‹href›0.png‹/href› Я бы добавил код, но в комментариях есть ограничение на количество символов. - person nak; 29.07.2014
comment
Если все файлы KML находятся на корневом уровне, то все ссылки относятся к верхнему уровню. - person JasonM1; 29.07.2014