Ссылки на локальные изображения в KML приводят к противоречивому поведению - PullRequest
0 голосов
/ 23 октября 2019

Моя цель - создать KML, содержащий ссылки на фотографии с информацией GPS на наборе сетевых дисков. Сгенерируйте файл с помощью Python и создайте пути, используя pathlib.Path(...).as_uri().

Например, это будет создано:

    <Placemark>
      <name>IMG_0089</name>
      <description>
        <![CDATA[
        <img src="file:////share/folder%201/folder2/IMG_0089.JPG" width="600"/> 
        ]]>
      </description>
      <styleUrl>#simpleBalloon</styleUrl>
      <Point>
        <coordinates>-122.5,37.2</coordinates>
      </Point>
    </Placemark>

У меня есть пара вопросов:

СначалаURI, предоставленный pathlib, начинается с file://, однако, похоже, что Google Планета Земля хочет, чтобы путь начинался с file:////. Chrome откроет file:// просто отлично.

Во-вторых, не все изображения отображаются в Google Планета Земля. Я могу взять путь в KML и открыть его в Chrome (или Windows Explorer), и изображение отобразится. Что больше всего сбивает с толку, так это то, что это происходит только на некоторых изображениях. Пути создаются в кавычках Jinja2 при создании KML.

Исходя из этого комментария , похоже, это может быть связано с тем, как некоторые символы должны быть экранированы. По крайней мере, некоторые из проблемных путей содержат апострофы.

1 Ответ

1 голос
/ 30 октября 2019

Здесь возникают две проблемы.

  1. Изображения находятся на общем диске, а ваш KML находится на локальном диске с абсолютными URL-адресами, используя file://// в качестве префикса. Рекомендуется размещать KML на том же диске и корневом пути, что и изображения, и использовать относительные пути к изображениям из KML. Доступ к локальным файлам может быть отключен по умолчанию, поэтому, если это необходимо, перейдите в Инструменты> Параметры> Общие и установите флажок «Разрешить доступ к локальным файлам и личным данным».

  2. Специальные символы (пробелы и апострофы) в именах папок и / или имен файлов. Это требует экранирования URL-адресов и иногда не работает должным образом.

Как правило, специальные символы в путях и именах файлов ДОЛЖНЫ работать в Google Планета Земля Про, НО некоторые комбинации специальных символов и / илиУ URL с абсолютными путями к внешнему диску могут возникнуть проблемы, для устранения которых может потребоваться некоторое время.

Если возможно, лучше всего упростить 1) размещение KML на том же диске /location в качестве изображений, на которые ссылаются, или связывать изображения внутри KMZ с KML и использовать относительные ссылки URL, а также 2) очищать имена папок и файлов, чтобы они не включали специальные символы.

...