Создание KML в ArcGIS for Desktop – это простой процесс, состоящий из трех основных шагов:

  • Создание пользователем слоев и карт в одном из приложений ArcGIS for Desktop : ArcMap , ArcGlobe и ArcScene .
  • Подготовка слоев и карт к конвертации в KML путем задания данным конкретных свойств и атрибутов, в результате чего создаваемый файл KML будет максимально соответствовать вашим требованиям, удобен в использовании и хорошо оформлен.
  • Создание файла KML с помощью одного из двух инструментов конвертации KML: Слой в KML или Карта в KML . Также у вас есть возможность создать KML из класса пространственных 3D-объектов типа мультипатч с помощью инструмента Мультипатч в COLLADA .
  • Создание слоев и карт

    Как векторные, так и растровые слои , а также документы карты ArcMap (.mxd ) могут быть преобразованы в формат KML. Перед конвертацией в KML классы пространственных объектов и наборы растровых данных сначала должны быть добавлены к отображению (автоматическое создание слоя из источников данных) или преобразованы в слой с помощью инструментов Создать векторный слой или Создать растровый слой .

    KML, созданный в ArcGIS for Desktop , представляет собой "снимок" слоев и карт в момент их преобразования в KML. Внешний вид слоев в ArcGIS for Desktop в основном совпадает с внешним видом KML; например, если вы хотите отображать KML с помощью определенного символа или цвета, используйте ArcMap , чтобы присвоить слою необходимые условные обозначения, после чего экспортируйте их в KML.

    Подготовка слоев и карт к конвертации в KML Слои

    Много различных особенностей и свойств слоев, созданных в среде ArcGIS for Desktop , учитывается при конвертации в KML, включая видимые атрибутивные поля, прозрачность, подписи, настройки всплывающей информации и символы отображения. При установке свойств слоя и атрибутов данных необходимо убедиться, что создаваемый набор данных KML соответствует вашим требованиям и является удобным в использовании и хорошо оформленным. Кроме некоторых исключений, указанных ниже, правило конвертирования слоя или карты в KML звучит "what you see is what you get (что видишь, то и получишь)". В следующей таблице приводится ряд действий, которые вам необходимо произвести в процессе подготовки ваших слоев к их конвертации в KML.

    Свойства слоя и конвертация KMLСвойство Внешний вид Описание

    Векторный слой ArcGIS станет папкой после конвертации в формат KML. Имя слоя будет использовано в качестве названия папки KML.

    Описание слоя

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

    Символы слоя

    Набор условных обозначений слоя будет использоваться в KML.

    Для работы с векторными слоями не все символы ArcGIS поддерживаются форматом KML. Что касается линейных объектов, поддерживаются только простые символы со стандартными настройками цвета и толщины символа; дополнительные эффекты, такие как штрихи, стрелки, а также многоуровневые и многослойные символы не поддерживаются. Для отображения полигональных объектов могут использоваться только простые заливки цветом и линии границ; рисунки, штриховки, градиентные заливки не поддерживаются, а к отображению линий границ полигонов применимы ограничения, установленные для отображения линейных объектов. Если для слоя требуются не только простые символы, используйте параметр Возвращает одно составное изображение в инструментах Слой в KML или Карта в KML для конвертации объектов с символами в растровое изображение, содержащее сложные символы.

    Имя объекта

    В этом примере в качестве имени используется код административного деления FIPS (США)

    Если надписи объектов включены, в качестве источника имени будет использовано поле надписи или выражение. Если надписи объектов включены, в качестве источника имени будет использовано отображаемое поле надписи или выражение. Если ни одно из этих свойств слоя не задано, будут использованы значения из поля Name .

    Надпись объекта

    Если надписи слоя включены, в качестве источника имен для всех объектов KML будет использовано поле надписи или выражение.

    Примечание:

    Только точечные объекты будут надписаны. Для линейных и полигональных объектов могут быть созданы и надписаны центроиды для достижения эффекта надписывания.

    Фрагмент объекта

    Фрагмент объекта можно задать, изменив псевдоним поля на KMLSnippet . Значения в поле Snippet векторного слоя иначе будут использованы в качестве фрагментов для всех объектов KML.

    Всплывающее окно с информацией по объекту

    По умолчанию во всплывающем окне отображается информация из всех видимых полей слоя. Всплывающая информация для слоя KML может быть также установлена с помощью Свойств всплывающей информации HTML . Если всплывающие окна HTML отключены, значения в поле PopupInfo векторного слоя будут отображаться с использованием всплывающей информации при щелчке на объекте KML. Эти значения могут представлять собой числовые или текстовые атрибуты, а также сохраненный в текстовом поле HTML-код.

    Папки и подпапки

    Значения в поле FolderPath имеют формат Block Groups/Year/2010 .

    Если слой имеет поле FolderPath , значения этого поля будут использоваться для создания структуры папок и подпапок KML. В этом поле, в качестве разделителя папок и подпапок используется символ прямой косой черты (/). Если слой не содержит поля FolderPath , можно задать структуру папок и подпапок с помощью составных слоев . Укажите сам составной слой в качестве входных данных для инструмента Слой в KML , чтобы получить в выходном KML его структуру.

    Высота объекта

    KML может быть создан в 3D-формате, если слой пространственных объектов поддерживает значения Z и имеет такие значения в геометрии объектов. Также, если слой имеет 3D эффекты отображения, использующиеся в ArcGlobe или ArcScene (базовые высоты или вытягивание), эти 3D эффекты будут сохранены в выходном KML. Если никакие из этих эффектов слоя не применяются, для управления 3D эффектами используются атрибуты полей. Более подробные описание приводится в следующем разделе, посвященном созданию 3D изображений.

    Свойства слоя и конвертация KML Создание 3D-изображений

    Следующие атрибуты полей (все целочисленные) используются для управления размещением и свойствами объектов в 3D-пространстве (на поверхности или над ней).

    Внимание:

    KML использует систему координат WGS84 и метры в качестве единиц измерения. При создании KML предполагается, что значения высот даются в метрах.

    Свойства слоя для 3D-конвертацииПоле Значение: Объяснение

    AltMode

    Значение 0 задает абсолютную высоту в KML и должно использоваться, если объекты имеют z-значения. Значение -1 позволяет размещать объекты относительно поверхности земли.

    Base

    Любое числовое значение

    Может использоваться любое числовое значение. Если значение используется в относительном размещении (AltMode=-1), оно управляет высотой объекта над поверхностью земли.

    Внимание:

    Если объекты имеют z-значение 100 и находятся в области, где высота поверхности земли выше 100, использование абсолютных значений приведет к тому, что объекты окажутся под поверхностью земли.

    Extruded

    Значение 0 – без вытягивания, -1 – с эффектом вытягивания. Вытягивание объектов превращает полигоны в подобие блоков, стороны которых опускаются вниз, к поверхности земли.

    Полигоны зеленого цвета в левой части сзади являются объектами без высот, или Z-значений , красные и серые объекты впереди справа имеют значения высот. Похожие эффекты могут применяться к объектам с и без z-значений. Например, зеленые вытянутые полигоны не имеют z-значений, но у них есть следующие поля: AltMode = -1, Base = 25 и Extruded = -1. Красные вытянутые полигоны имеют z-значение 1300 и следующие поля: AltMode = 0, Base = 0 и Extruded = -1. Поскольку красные объекты имеют значения высот, их положение задано как абсолютное, и к ним применено только вытягивание.


    Примечание:

    Дополнительный параметр инструмента Слой в KML , Зафиксировать объекты на земле , игнорирует настройки 3D, поверхность земли будет драпирована объектами. Этот параметр удобен при создании KML из объектов с z-значениями, находящимися ниже уровня земли, для которых эффект 3D не требуется. Вы также можете использовать поле Clamped со значением -1 , чтобы получить тот же эффект, но для каждого объекта в отдельности.

    Карты

    Существуют также свойства карты, которые вы можете использовать для проверки, как будут выглядеть и вести себя документы, конвертированные в KML. В следующей таблице приводится ряд действий, которые вам необходимо произвести в процессе подготовки ваших карт к их конвертации в KML.

    Свойства карты и конвертация KMLПараметр Внешний вид Описание

    Имя фрейма данных карты

    Для конвертации в KML был выбран фрейм данных New Orleans Admin . Фрейм данных включает в себя два слоя: Block Groups и Municipalities .

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

    Описание фрейма данных карты

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

    Наиболее часто встречаемой проблемой, из-за которой пользователи не могут открыть этот файл, является неверно назначенная программа. Чтобы исправить это в ОС Windows вам необходимо нажать правой кнопкой на файле, в контекстном меню навести мышь на пункт "Открыть с помощью", а выпадающем меню выбрать пункт "Выбрать программу...". В результате вы увидите список установленных программ на вашем компьютере, и сможете выбрать подходящую. Рекомендуем также поставить галочку напротив пункта "Использовать это приложение для всех файлов KML".

    Другая проблема, с которой наши пользователи также встречаются довольно часто - файл KML поврежден. Такая ситуация может возникнуть в массе случаев. Например: файл был скачан не польностью в результате ошибки сервера, файл был поврежден изначально и пр. Для устранения данной проблемы воспользуйтесь одной из рекомендаций:

    • Попробуйте найти нужный файл в другом источнике в сети интернет. Возможно вам повезет найти более подходящую версию. Пример поиска в Google: "Файл filetype:KML" . Просто замените слово "файл" на нужное вам название;
    • Попросите прислать вам исходный файл еще раз, возможно он был поврежден при передаче;

    С помощью которого гео-данные из таблицы (я думаю, что большинство по привычке хранит информацию именно в XLS формате) можно конвертировать в карту в формате KML – для просмотра в Google Maps или Google Earth. Сразу замечу, что есть и другие пути создания личных карт (карт объектов недвижимости, карт собственных перемещений по планете или карт расположения ближних-дальних родственников и т.д. :-)). Один из самых очевидных – воспользоваться сервисом Google Map Maker http://www.google.com/mapmaker . Но вернемся все-таки к моему способу. Что мы имеем на входе? Таблица в Эксель с двумя листами. На первом листе для справки представлен список станций метро Москвы и их GPS координаты. На втором листе наши данные для представления на карте в следующем формате:

    -№ объекта
    -Тип недвижимости (1,2,3,4 – вы можете сами потом определиться какому маркеру какой тип объекта соответствует)
    -Краткое название объекта
    -Описание объекта
    -Полная ссылка на фотку с http://
    -Ссылка на сайт с подробным описанием или фотографией
    -GPS1 координаты объекта – широта и долгота.
    -GPS2

    Если вы нашли нужный вам адрес на Google Maps , то широту и долготу можно определить так:
    В правом верхнем углу Google Maps находите «Ссылка на эту страницу»

    Качаем архив с шаблонами и макросами:

    Первый файл KML-Shablon-Map – это шаблон таблицы для заполнения своими данными.

    Второй файл kml-PERSONAL с макросами. Его надо скопировать на локальном компьютере в папку на диске:
    C:\DocumentsandSettings\Пользователь\ApplicationData\
    Microsoft\Excel\XLSTART
    («Пользователь» – это ваш логин для входа в компьютер)

    Заходим в Эксель, редактируем таблицу под себя.

    В меню Сервис выбираем Макрос – Макросы

    В опциях указываем наш файл с макросами kml-PERSONAL и выбираем макрос KML_XLS_Shablon. Потом нажимаем «Выполнить».


    После этого появляется окно для сохранения файла KML – вводим например Test.kml.

    Очень обязательный шаг. После того, как файл сохранен на локальном диске, находим его, открываем в обыкновенном блокноте Windows (NotePad) и сохраняем в формате UTF-8!!!


    Готово.

    Теперь KML можно открывать с помощью Google Earth.

    Для того, чтобы открыть файл в Google Maps, загрузите его на сервер (можно создать где-нибудь на Narod.ru и скинуть туда, если у вас нет своего сайта).

    Потом заходим на

    Файл 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 (Keyhole Markup Language - язык разметки Keyhole) — это формат файлов, который используется отображения географических данных в программах Google Планета Земля, Карты Google и Карты Google для мобильных устройств.

    KML использует основанную на тегах структуру с вложенными элементами и атрибутами и создан на основе стандарта XML.

    Для создания файлов KML можно использовать программу Google Планета Земля (Google Earth), редактор XML или обычный текстовый редактор.

    Файлы KML и связанные с ними изображения (при наличии) можно сжимать с помощью формата ZIP в архивы KMZ.

    С помощью файлов KML можно:

    • устанавливать различные значки и делать подписи для обозначения мест на поверхности Земли,
    • создавать различные ракурсы для выбранных объектов, изменяя положение камеры,
    • использовать различные накладываемые изображения,
    • определять стили для настройки отображения объекта, применять код HTML для создания гиперссылок и встроенных изображений,
    • использовать папки для иерархической группировки элементов,
    • динамически получать и обновлять файлы KML из удаленных или локальных узлов сети,
    • получать данные KML в соответствии с изменениями в средстве трехмерного просмотра,
    • отображать текстурные трехмерные объекты COLLADA

    В качестве объектов в файлах формата KML могут быть использованы:

    Метки (объект Placemark) – самый простой элемент, задает метку – обозначение положения на поверхности Земли с помощью значка в виде желтой кнопки.

    Пути – линии определенной толщины и цвета

    Многоугольники — определяется цвет линий и цвет подписи.

    Изображения — накладываемые изображения поверхности Земли позволяют накладывать изображение на ландшафт Земли, могут быть перемещаемыми и масштабируемыми, так и не перемещаемыми, например, логотип.

    Трёхмерная модель — позволяет подключать описание трёхмерных объектов (например, зданий и сооружений). Трёхмерную модель можно задать двумя способами: заданием высоты плоских фигур (вытягиванием) и ссылкой на полноценную модель в формате COLLADA (Google SketchUp).

    Простейший пример файла KML.



    Дворец спорта
    Дворец спорта «Нагорный» просп. Гагарина, 29
    43.979459,56.291908,0


    Опишу структуру этого файла.

    Первая строка — заголовок XML. Это 1-я строка в каждом файле KML. Перед этой строкой не должно быть пробелов или символов.

    Вторая строка – служит для объявления пространства имен KML. Это 2-я строка в каждом файле KML 2.1.

    Объект Placemark, содержащий следующие элементы:

    — name, ярлык, используемый для обозначения метки

    — description, описание, появляющееся в окне комментария, прикрепленном к метке

    — Point, указывает положение метки на поверхности Земли (долгота, широта и дополнительно высота).

    Этот файл Вы можете загрузить в программе Google Планета Земля (Google Earth) выбрав в меню Файл – Открыть.

    Его также можно загрузить использую API карт Google.

    Код примера:

    Пример использования Google Earth на сайте

    function initialize() {if (GBrowserIsCompatible()) {geoXml = new GGeoXml(«http://remont.cek.ru/xml/prim_kml_1.kml»);

    var map = new GMap2(document.getElementById(«map_canvas»));

    map.setCenter(new GLatLng(56.291908,43.979459), 15);

    map.setMapType(G_SATELLITE_MAP);

    map.addControl(new GSmallMapControl());

    map.addControl(new GMapTypeControl());

    map.addOverlay(geoXml);

    Если загрузить его в браузере мы увидим

    Вы также можете просмотреть файл KML на Картах Google.

    Предварительно необходимо чтобы Ваш файл KML должен быть размещен на веб-сайте в Интернете.

    С начала нужно зайти по адресу http://maps.google.ru/

    Затем в строке поиска ввести адрес Вашего KML-файла в интернете, например, http://сайт/examples/kml/prim_kml_1.kml и нажать на кнопку «Поиск на карте».

    Ваш KML-файл отобразиться на карте Google.

    Продолжение следует…