Статьи

KMZ-архіви

  1. Що таке KMZ-файл? У KMZ-файл входить основний KML-файл і, як правило, пов'язані з ним ресурси, стислі...
  2. Посилання на зовнішні файли
  3. Абсолютні і відносні посилання
  4. Обробка відносних посилань
  5. Виняток: <sourceHref> всередині елемента <Model>
  6. Створення KMZ-архіву
  7. KMZ-архіви в Google Планета Земля

Що таке KMZ-файл?

У KMZ-файл входить основний KML-файл і, як правило, пов'язані з ним ресурси, стислі за допомогою архиватора в єдиний архів. KMZ-архів можна зберігати на диску або відправляти поштою як єдиний файл. За допомогою веб-посилання KMZ-файл можна отримати з веб-сервера. Перед стисненням основний KML-документ і пов'язані з ним ресурси представляють з собою окремі файли з власними іменами і розширеннями, організовані по каталогам. Формат KMZ служить не тільки для архівування, але і для стиснення, тому в архів можна включити тільки один великий KML-файл. Розмір файлу зазвичай вдається скоротити в десять разів (в залежності від вмісту). Таким чином, KML-файл розміром 10 КБ можна перетворити в KMZ-файл розміром 1 КБ.

Google Планета Земля і Google Карти розпізнають формати KML і KMZ, а також підтримують збереження KMZ-файлів. За замовчуванням основному KML-файлу присвоюється ім'я doc.kml.

Примітка. Для ясності ми також будемо називати основною KML-файл в KMZ-архіві doc.kml. В реальності він може називатися як завгодно, головне - він повинен мати розширення KML і бути єдиним KML-файл в архіві.

Якщо розмір файлу doc.kml перевищує 10 КБ або якщо в ньому містяться посилання на інші ресурси (картинки, звукові фрагменти, моделі або текстури), необхідно створити KMZ-архів.

Рекомендована структура каталогів

У цьому розділі міститься кілька порад по створенню KML- і KMZ-файлів. Приклад, який ми використовуємо, запозичений з сайту Джиммі Баффета , Де формат KML використовується для відображення гастрольних маршрутів і пов'язаної з ними інформації в Google Планета Земля.

завантажте KMZ-файл з інформацією про це турне (використовується з дозволу власника).

Примітка. Щоб відносні посилання на KMZ-файли правильно оброблялися Google Планетою Земля 6.0, необхідно дотримати всі наведені нижче інструкції (зверніть особливу увагу на пункт 4). У більш ранніх версіях геобраузера правила обробки відносних посилань були менш суворі, тому деякі посилання, які працювали в Google Планета Земля до версії 5.2 включно, можуть не працювати у версії 6.0 і пізніших.

Щоб створити KMZ-файл, виконайте такі дії.

  1. Створіть папку з файлами, які потрібно включити в KMZ-архів, і надайте їй описову назву (наприклад, buffetthawaiitour).
  2. Помістіть в корінь цієї папки KML-файл (який ми для простоти називаємо doc.kml). KLM-файл повинен бути всього один. Коли KMZ-архів відкривається в Google Планета Земля, використовується тільки перший знайдений KLM-файл, а всі інші ігноруються. Таким чином, якщо в архів включено кілька KML-файлів, складно передбачити, який з них буде знайде першим.)
  3. Додайте на кореневої рівень одну або кілька папок з картинками, моделями, текстурами, звуковими файлами і іншими ресурсами, посилання на які є в файлі doc.kml. Кількість підпапок і їх структура залежить від того, скільки у вас додаткових файлів і як ви вважаєте за краще їх впорядкувати.
  4. Вказуйте відносні посилання. (Докладні відомості наведені в розділі Посилання на зовнішні файли .) Шляхи всіх відносних посилань починаються з кореневої папки, описаної в пункті 1. Наприклад, якщо KMZ-файл vacationJournal.kmz збережений на робочому столі, а в doc.kml є посилання на файл myFavoritePlace.jpg, який також знаходиться на робочому столі, посилання <href> в файлі doc.kml має вигляд ../myFavoritePlace.jpg.
  5. Чи не надавайте розширення KMZ папок всередині KMZ-файла; воно зарезервовано для самого архіву.

У прикладі нижче показана структура папок в KMZ-архіві гастрольного туру Джиммі Баффета.

Так як додаткових файлів всього п'ять, всі вони об'єднані в підпапку files. Якщо завантажити файл в Google Планету Земля, а потім скопіювати і вставити його зміст в текстовий редактор, буде видно, що у всіх елементах <href> використовуються відносні посилання на додаткові ресурси (значки, накладення на екрані, звукові файли).

Так виглядає KML-код посилання на один із значків:

<IconStyle> <scale> 1.1 </ scale> <Icon> <href> files / icon_surfing.png </ href> </ Icon> </ IconStyle>

А це - KML-код посилання на звуковий файл:

<Gx: SoundCue> <href> files / Margaritaville.mp3 </ href> </ gx: SoundCue>

Посилання на зовнішні файли

У файлі doc.kml зазвичай містяться посилання на інші файли: картинки, значки, моделі, текстури і звукові фрагменти. Вони включаються в атрибут href (або в елемент <href>), який може знаходитися всередині наступних елементів KML:

Посилання на зовнішні файли можуть бути абсолютними або відносними - цьому присвячений наступний розділ. Вони можуть вказувати на файли всередині того ж KMZ-архіву, всередині інших KMZ-архівів або на зовнішніх веб-серверах. Відносні посилання завжди визначаються виходячи з розташування файлу doc.kml, як описано в розділі Обробка відносних посилань . Винятком є ​​тільки <sourceHref> всередині елемента <Model>.

Абсолютні і відносні посилання

Абсолютне посилання містить URL файлу цілком. Такі посилання однозначні і, як правило, вказують на файли, які зберігаються на зовнішніх серверах. Абсолютне посилання на локально збережений файл перестане працювати після того, як він буде переміщений в іншу систему. Щоб цього уникнути, рекомендується користуватися відносними посиланнями.

Нижче наведено приклад абсолютної посилання на файл, що зберігається на зовнішньому сервері.

<Icon> <href> http://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png </ href> </ Icon>

Обробка відносних посилань

Відносні посилання обробляються виходячи з розташування файлу doc.kml, т. Е. Будь-який відносний шлях починається в кореневій папці KMZ-архіву. В наведеному вище прикладі основний URL має такий вигляд (він може відрізнятися в залежності від того, звідки ви завантажили KMZ-архів):

buffetthawaiitour.kmz

Щоб послатися на файл, що знаходиться в іншому KMZ-архіві (наприклад, images / jimmyphoto.jpg в margaritavillealbum.kmz) використовується позначення "..", відповідне переходу на один рівень вгору (виходу з поточного KMZ-архіву (buffetthawaiitour.kmz).

<Href> ../ margaritavillealbum.kmz / images / jimmyphoto.jpg "</ href>

jpg </ href>

Примітка. Правила обробки відносних посилань в KMZ-архіві засновані на вимогах стандарту RFC 3986 (Розділ 5). Основний URL визначається розташуванням файлу doc.kml, а все відносні URL обробляються на його основі.

Виняток: <sourceHref> всередині елемента <Model>

Елемент <Model> включає елемент <Link>, який вказує на файл COLLADA, який необхідно завантажити в Google Планету Земля. Файли COLLADA містять тривимірні моделі і мають розширення DAE. Елемент <Model> також включає елемент <Alias>, який пов'язує <targetHref> (файл текстури, що передається в Google Планету Земля) і <sourceHref> (шлях до файлу текстури всередині DAE-файлу). Якщо в елементі <sourceHref> вказана відносна посилання, Google Планета Земля обробляє її на основі розташування DAE-файлу, а не doc.kml, як це відбувається у всіх інших випадках. Розглянемо приклад.

<Model>. . . <Link> <href> MackyBldg.kmz / files / CU Macky.dae </ href> </ Link> <ResourceMap> <Alias> <sourceHref> ../ files / StairsnoCulling.jpg </ sourceHref> <targetHref> .. /files/StairsnoCulling.jpg </ targetHref> </ Alias> <Alias> <sourceHref> ../ files / sideturretnoCulling.jpg </ sourceHref> <targetHref> ../ files / sideturretnoCulling.jpg </ targetHref> </ Alias >. . . </ Model>

Створення KMZ-архіву

Щоб створити ZIP-архів, скористайтеся додатком Windows Explorer або Mac Finder. Виділіть вміст папки, в якій розташований файл doc.kml і пов'язані з ним ресурси, і натисніть WinZip> Додати в ZIP-файл. Бібліотека Java в форматі JAR також містить ZIP-бібліотеку для створення і вилучення ZIP-архівів, а в Linux передбачені відповідні інструкції командного рядка.

Примітка. При створенні ZIP-архіву необхідно виділити зміст папки з файлом doc.kml, а не саму папку.

Змініть розширення створеного архіву з ZIP на KMZ. Якщо буде потрібно витягти файли, досить знову змінити розширення на ZIP, після чого можна буде скористатися стандартною програмою для розпакування ZIP-архівів.

KMZ-архіви в Google Планета Земля

Використання елемента <iframe>

Більшість HTML-елементів у спливаючих вікнах з описом в KML обробляється в Google Планета Земля точно так же, як в стандартних веб-браузерах. Проте, якщо в <description> включений елемент <iframe>, він обробляється як звичайний HTML, т. Е. Спеціальні функції KML не підтримуються. Наприклад, в <iframe »не будуть розпізнані ресурси KMZ-архіву і посилання на інші розділи того ж файлу, такі як <a href="#my feature;flyto">. Елемент <src> всередині <iframe> не може вказувати ні на локально збережений файл, ні на файл всередині KMZ-архіву. Він повинен містити зовнішній URL, доступний браузеру.

Що таке KMZ-файл?

Новости