Формат файлов KML и его использование на картах Google. Введение
Наиболее часто встречаемой проблемой, из-за которой пользователи не могут открыть этот файл, является неверно назначенная программа. Чтобы исправить это в ОС Windows вам необходимо нажать правой кнопкой на файле, в контекстном меню навести мышь на пункт "Открыть с помощью", а выпадающем меню выбрать пункт "Выбрать программу...". В результате вы увидите список установленных программ на вашем компьютере, и сможете выбрать подходящую. Рекомендуем также поставить галочку напротив пункта "Использовать это приложение для всех файлов KML".
Другая проблема, с которой наши пользователи также встречаются довольно часто - файл KML поврежден. Такая ситуация может возникнуть в массе случаев. Например: файл был скачан не польностью в результате ошибки сервера, файл был поврежден изначально и пр. Для устранения данной проблемы воспользуйтесь одной из рекомендаций:
- Попробуйте найти нужный файл в другом источнике в сети интернет. Возможно вам повезет найти более подходящую версию. Пример поиска в Google: "Файл filetype:KML" . Просто замените слово "файл" на нужное вам название;
- Попросите прислать вам исходный файл еще раз, возможно он был поврежден при передаче;
-Как закачать спутниковые карты, чтоб в них отсутствовали служебные символы и рисунки "Планеты Земля"
-Как разбить карты на фрагменты размером 1024*1024 максимум каждый, а также контролировать максимальное количество этих файлов
-Как автоматизировать процесс создания фрагментов и их привязки в программе "Планета Земля"
Естественно это вопросы появились в попытках ответить людям на возникающие вопросы, очередная такая работа заставила задуматься и попробовать написать по свежим следам воспоминаний небольшую инструкцию....
Почему сразу не написал? Да все просто, программы которые раньше использовал меняются, кое-где появляются новые возможности, в общем на данном этапе сей процесс у меня выглядит так.
1. Закачка картинок и создание kmz файла
Есть такая совершенно бесплатная програмка, называется SASPlanet. Находятся она тут http://sasgis.org/download/ и скачать ее можно там-же.
Прелесть данной програмки в том, что она позволяет скачивать снимки не только
Google карт, но и с кучи разных других источников. Причем скачивает
их с возможностью задать на сколько фрагментов делить, и создавать ли дополнительные файлы привязки!!! Вот эти картинки совершенно лишены лишней информации, они закачиваются пакетом, т.е. сразу можно качать приличные объемы, можно задать уровень детализации, сгенерируются базовые файлы привязки, которыми можем воспользоваться, а главное может сразу создать kmz файл для навигатора!!!
Посему, качаем програмку, а точнее архив и распаковываем его на своем компьютере. Запускаем SASPlanet и первое что необходимо сделать, это выставить параметр в меню "Источник\Интернет и кеш", т.е. чтобы карты брались и с интернета, если они отсутствуют, и из кеша, если они уже были закачаны на компьютер.
Далее следует поиграть с програмкой, т.е. посмотреть карты, какие они с того или иного источника (меняя меню "Карты") дабы определиться что Вам больше всего подходит. Во многом работа с программой схожа с Планетой Земля.
Вот если вы определились с какой картой Вам интереснее и какой именно участок Вам нужен в навигатор, то тогда:
Поувеличивайте карту, чтобы понять какой уровень детализации вам необходим, уровень детализации отображается в нижнем правом углу программы, на данной картинке, как видно, он составляет 5x, запомнили это число.
Отмечаем выбранный участок, для этого выбираем меню выделения прямоугольной области, карту при этом можно увеличить или уменьшить, главное чтоб отмечать было удобно.
Выделяем на карте нужную нам область
Появится вот такое меню
Выставляем тип карты на тот тип который вам понравился.
Масштаб ставим на число, которое мы запомнили как уровень детализации.
Проверьте что пункт "Пытаться загружать отсутствующие тайлы" отмечен галочкой.
Теперь нам немного надо подумать. Мы видим, что ниже под типом карты, программа нам дала разрешение картинки, в данном примере оно составляет 14336x12800 точек. У нас существуют в навигаторе следующие ограничения: размер файла может быть не больше 1024x1024 (естественно меньше можно, к примеру 900x200), общее количество таких файлов может быть не более 100.
Т.е. в данном конкретном случае, мы никоим образом не влазим в действующие ограничения. Тут два выхода, либо пометить меньшую территорию, либо выбрать более слабый уровень детализации. Если я сейчас установлю детализацию на один уровень меньше, т.е. 13, то получу разрешение картинки равное 7168x6400.
Вот 7168x6400 всполне подходят, ибо если мы картинку поделим например по горизонтали на 8 частей, а по вертикали на 7, то получим 896x915, что вполне влазиит в ограничение по размеру файлов, а количество файлов получится 7*8=56, что удовлетворяет условию, когда количество файлов должно быть не более 100.
Итак мы определились с размерами, масштабами и готовы дать команду загрузки из интернета всех необходимых снимков! Нажимаем кнопку "Начать"
Потребуется определенное время, иногда немалое, пока программа загрузит все данные с сервиса карт на локальный диск.
Появится вот такое меню, после окончания загрузки просто нажмите "Выход"
Мы закачали все нужные нам карты, теперь продолжаем, для этого надо снова вернуться к помеченой области, для этого просто выберите меню "Предыдущее выделение"
и, таким образом, мы вернулись к знакомому нам диалоговому меню
В этом диалоге выбираем закладку "Склеить"
Выберите результирующий формат как показано, т.е. создание "Kmz для Garmin".
Укажите путь сохранения и имя файла.
Выставьте правильный масштаб.
Поехали! Нажимаем "Начать" и програмка создаст kmz файл, внутри которого будут содержаться картинки карт, разбитые на части!!!
Все!!! То, что нам нужно было от программы SASPlanet мы получили, осталось лишь скопировать файл карт в навигатор (каталог /Garmin/CustomMaps/).
Единственно отмечу, не стоит давать kmz файлу имя русскими буквами, такой файл навигатор просто не увидит.
2. Редактирование карты
Есть ситуации, когда необходимо подправить картинки карт. У меня, например, получилась карта, дома которая выглядела нормально, а реально на водоеме
ее читаемость оставляла желать лучшего, и в следующий раз я просто обрисовал сушу коричневым, а воду голубым, тем самым увеличив контрастность между объектами и повысив читаемость. Подобных причин может быть множество.
Поэтому приведу руководство, как-же поредактировать готовый kmz файл.
Kmz файл представяет собой обычный Zip архив. Нужно настроить оболочку Windows, чтобы она позволяла видеть и изменять расширения файлов. Меняем расширение нашего файла на zip, и тогда файл можно открыть как архив и вытащить из него все содержимое.
Разархивируем наш файл в пустой каталог. Мы получим в нем:
doc.kml - текстовый XML файл привязок картинок к координатам.
files - каталог, в котором содержатся все картинки в формате jpg
Вот теперь берем и редактируем любые картинки в каталоге files. Главное не изменять имена файлов и не изменить размер картинок.
Для проверки как это будит выглядеть, можно программой Планета Земля открыть файл doc.kml, а он загрузит картинки. Как только, мы убедимся, что все
нужные изменения сделаны, достаточно запаковать в zip архив файл doc.kml и каталог files с содержимым, после чего изменить расширение архива с zip на kmz.
Что такое 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-файл, выполните указанные ниже действия.
В примере ниже показана структура папок в KMZ-архиве гастрольного тура Джимми Баффета.
Так как дополнительных файлов всего пять, все они объединены в подпапку files
. Если загрузить файл в Google Планету Земля, а затем скопировать и вставить его содержание в текстовый редактор, будет видно, что во всех элементах
Ссылки на внешние файлы
В файле doc.kml
обычно содержатся ссылки на другие файлы: картинки, значки, модели, текстуры и звуковые фрагменты. Они включаются в атрибут href (или в элемент
- в элементе (или в элементе
); - (дочерний элемент , или );
- и в элементе .
Ссылки на внешние файлы могут быть абсолютными
или относительными
– этому посвящен следующий раздел. Они могут указывать на файлы внутри того же KMZ-архива, внутри других KMZ-архивов или на внешних веб-серверах. Относительные ссылки всегда определяются исходя из расположения файла doc.kml
, как описано в разделе . Исключением является только
Абсолютные и относительные ссылки
Абсолютная ссылка содержит URL файла целиком. Такие ссылки однозначны и, как правило, указывают на файлы, которые хранятся на внешних серверах. Абсолютная ссылка на локально сохраненный файл перестанет работать после того, как он будет перемещен в другую систему. Чтобы этого избежать, рекомендуется пользоваться относительными ссылками.
Обработка относительных ссылок
Относительные ссылки обрабатываются исходя из расположения файла doc.kml , т. е. любой относительный путь начинается в корневой папке KMZ-архива. В примере выше основной URL имеет следующий вид (он может отличаться в зависимости от того, откуда вы загрузили KMZ-архив):
Buffetthawaiitour.kmz
Чтобы сослаться на файл, находящийся в другом KMZ-архиве (например, images/jimmyphoto.jpg в margaritavillealbum.kmz ) используется обозначение "..", соответствующее переходу на один уровень вверх (выходу из текущего KMZ-архива (buffetthawaiitour.kmz ).
Примечание . Правила обработки относительных ссылок в KMZ-архиве основаны на требованиях стандарта RFC 3986 (Раздел 5). Основной URL определяется расположением файла doc.kml , а все относительные URL обрабатываются на его основе.
Исключение: внутри элемента
Элемент
Создание KMZ-архива
Чтобы создать ZIP-архив, воспользуйтесь приложением Windows Explorer или Mac Finder. Выделите содержание папки, в которой расположен файл doc.kml и связанные с ним ресурсы, и нажмите WinZip > Добавить в ZIP-файл . Библиотека Java в формате JAR также содержит ZIP-библиотеку для создания и извлечения ZIP-архивов, а в Linux предусмотрены соответствующие инструкции командной строки.
Примечание . При создании ZIP-архива необходимо выделить содержание папки с файлом doc.kml , а не саму папку.
Измените расширение созданного архива с ZIP на KMZ . Если потребуется извлечь файлы, достаточно снова изменить расширение на ZIP , после чего можно будет воспользоваться стандартной программой для распаковки ZIP-архивов.
KMZ-архивы в Google Планете Земля
Использование элемента
Большинство HTML-элементов во всплывающих окнах с описанием в KML обрабатывается в Google Планете Земля точно так же, как в стандартных веб-браузерах. Тем не менее, если в
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License , and code samples are licensed under the Apache 2.0 License . For details, see our . Java is a registered trademark of Oracle and/or its affiliates.
Обновлено Январь 10, 2014
Файл KML хранит данные о геомоделировании в формате XML. Он содержит точки, линии и изображения. Используют XML для выражения географической аннотации и визуализации путем хранения местоположений, наложения изображений, видео-ссылок и информации моделирования, таких как линии, фигуры, 3D-изображения и точки. Различные геопространственные программные решения используют формат KML, чтобы поместить данные в формат, который могут легко использовать другие программы и веб-службы.
Введение
Keyhole Markup Language — XML-обозначение для выражения географической аннотации и визуализации в двумерных картах и трехмерных браузерах. KML был разработан для использования с Google Earth, который изначально назывался Keyhole Earth Viewer. Он был создан Keyhole. Inc, который был приобретен Google в 2004 году. Данный формат стал международным стандартом Open Geospatial Consortium в 2008 году.
Google Earth была первой программой, способной просматривать и графически редактировать подобные файлы. Другие проекты, такие как Marble, также начали развивать поддержку KML.
Применение: как создать формат KML?
Вы можете открыть файл с данным расширением в "Google Картах". Для этого необходимо разместить его местоположение онлайн, а затем ввести URL-адрес в поисковое поле "Карт Google".
Google Earth была первой программой, которая могла просматривать и редактировать данные файлы, и она по-прежнему остается одним из самых популярных способов для работы с геоданными в Интернете. Открыв веб-страницу, используйте пункт меню «Мои места» (значок закладки) для загрузки файла KML со своего компьютера или учетной записи Google Диска.
Вы также можете открыть файлы с помощью любого текстового редактора (например, Notepad ++). Это позволит увидеть текстовую версию, которая включает в себя координаты, ссылки на изображения, углы наклона камеры и временные метки.
Если вы хотите конвертировать KML в XML, вам не нужно делать конверсию. Поскольку формат на самом деле является просто использует расширение формата KML), вы можете переименовать.KML в.XML, чтобы он был открыт в вашем средстве просмотра XML.
Вы также можете импортировать файл прямо в Карты Google. Это делается на странице Google Мои карты при добавлении контента на новый слой карты. Открыв карту, выберите «Импорт» на любом уровне, чтобы загрузить файл с вашего компьютера или Google Диска. Вы можете создать новый слой с помощью кнопки «Добавить слой».
Также вы можете самостоятельно создать KML-файл и его URL-адрес в Google Картах, предварительно связав URL-адрес вашего файла с помощью http://maps.google.com/maps?q=. Например, чтобы открыть тот же самый адрес, вы можете использовать следующий URL: http://maps.google.com/maps?q=http://mywebsite.com/myfile.kml.
Данная операция работает и для Google Earth — трехмерного плагина просмотра нашей планеты, который можно добавить в веб-браузер.
Структура
Формат KML-файла указывает набор функций (метки, изображения, полигоны, 3D-модели, текстовые описания) для отображения в Google Картах, Google Earth, Maps, на мобильных устройствах или любом другом геопространственном программном обеспечении, реализующем кодировку KML. Каждое местоположение имеет долготу и широту. Данный формат разделяет некоторые из тех же структурных грамматик, что и GML. Некоторая информация не может быть просмотрена в Картах Google или на мобильных устройствах.
Данные очень часто распространяются в формате KMZ, которые являются зашифрованными файлами KML с расширением.kmz. Они должны быть совместимы с устаревшим (ZIP 2.0) сжатием, иначе файл.kmz может не распаковываться.
Геодезические системы отсчета в KML
Для своей системы отсчета KML использует 3D-географические координаты: долготу, широту и высоту. Долготы, широтные компоненты (десятичные градусы) определены в соответствии с Мировой геодезической системой 1984 года (WGS84). Вертикальная составляющая (высота) измеряется в метрах от вертикальной базы геоида WGS84 EGM96 Geoid. Если высота не указана в координатной строке (например, -77.03647, 38.89763), то для компонента высоты предполагается значение по умолчанию 0 (приблизительно уровень моря), то есть (-77.03647, 38.89763, 0).
Формальное определение системы координат (закодировано как GML), используемое в KML, содержится в спецификации OGC KML 2.2. Это определение ссылается на компоненты EPSG CRS.
Документация
Спецификация KML 2.2 была представлена в открытом геопространственном консорциуме, чтобы обеспечить его статус открытого стандарта для всех геообъектов. В ноябре 2007 года в рамках OGC была создана новая рабочая группа для формализации стандарта. Были запрошены комментарии по предлагаемому стандарту до 4 января 2008 года, и он стал официальным стандартом OGC 14 апреля 2008 года.
Рабочая группа стандартов завершила работу над запросами на изменение KML 2.2 и включила принятые изменения. Официальный стандарт OGC KML 2.3 был опубликован 4 августа 2015 года.
Формат KML является расширением, в котором сохраняются географические данные объектов в программе Google Earth. К такой информации относятся метки на карте, произвольный участок в виде многоугольника или линий, трехмерная модель и изображение части карты.
Рассмотрим приложения, которые взаимодействуют с данным форматом.
Google Earth
- После запуска нажимаем на «Открыть» в главном меню.
- Находим директорию с исходным объектом. В нашем случае файл содержит информацию о местоположении. Кликаем по нему и жмем на «Открыть» .
Интерфейс программы с указанием местоположения в виде метки.
Блокнот
Блокнот - встроенное приложение Windows для создания текстовых документов. Может также выступать в роли редактора кода определенных форматов.
- Запустите данный софт. Для просмотра файла надо выбрать «Открыть» в меню.
- Выбираем «Все файлы» в соответствующем поле. Выделив искомый объект, нажимаем на «Открыть» .
Визуальное отображение содержимого файла в Блокноте.
Можно сказать, что расширение KML имеет малое распространение, и используется исключительно в Google Earth, а просмотр такого файла через Блокнот мало кому будет полезен.