Конвертация KML

Язык разметки Keyhole (KML) – это формат на основе XML для хранения географических данных и связанных с ними ресурсов, является официальным стандартом организации Open Geospatial Consortium (OGC). KML – распространенный формат, который используется для совместного использования географических данных сторонними (не-ГИС) пользователями, поскольку данные в этом формате можно легко передавать через интернет и просматривать с помощью различных бесплатных приложений. Файлы KML имеют расширение .kml или .kmz (сжатые файлы KML).

KML могут быть точечные, линейные, полигональные объекты, а также растровые изображения. KML также может содержать связанные ресурсы, такие как графику, изображения, атрибуты и HTML, несмотря на то, что наборы данных в ArcGIS представляются в основном как отдельные однородные элементы (например, класс точечных объектов может содержать только точки; растры могут содержать только ячейки или пикселы, но не объекты). Один файл KML может содержать объекты разных типов, а также и изображения.

С помощью инструментов геообработки можно конвертировать слой карты в KML, а KML – в базу геоданных ArcGIS; таким образом, вы сможете просматривать, редактировать и анализировать географические данные, содержащиеся в любом файле KML. Поддерживаются все объекты спецификаций KML 2.0 и 2.1. В настоящее время в спецификации KML 2.2 не поддерживается ни одна из новых функциональных возможностей – ни временная анимация, ни наложение фотографий, ни теги схем.

терминология KML

ТерминОписание

KMZ

Сжатый файл KML. С файлами KMZ можно работать и просматривать точно так же, как и с файлами KML.

Метка

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

Путь

Линейный объект.

Полигон

Полигональный объект.

Наложение на земную поверхность

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

Экранное наложение

Графика на карте или на экране – логотип, легенда или изображение. Экранные наложения не являются частью географического отображения, но могут нести полезную информацию.

Тег

Поскольку KML является форматом на основе XML, в его структуре предусмотрены различные теги. Например, каждый точечный объект в KML заключен в теге <Placemark>. Тег <Placemark> имеет подтеги, например <Name>, <Snippet> и <Description>, в которых хранится информация об этой точке, а также подтег <Point>, в котором хранятся координаты x-, y- и z.

Конвертировать из KML

Используйте инструмент KML в слой, чтобы конвертировать файл .kml или .kmz в файловую базы геоданных, которая будет содержать все объекты и изображения из исходного файла KML и файла слоя, и в котором будут поддерживаться цвета и символы исходного KML. Помимо данных об объекте KML и изображениях, конвертированные данные ArcGIS будут также содержать некоторые другие свойства KML, как, например, информация всплывающих окон, фрагменты кода и другие атрибуты. Выполнив эту конвертацию, вы сможете работать с географическими данными из вашего KML так же, как и с любыми другими ГИС-данными: редактировать, анализировать и отображать на карте.

преобразовать в KML

Используйте инструмент Слой в KML, чтобы конвертировать в KML любую карту. KML, созданный с помощью этого инструмента, представляет собой копию ваших данных в момент конвертации слоя. Созданный KML можно сделать доступным для других людей, и они смогут просматривать его в приложениях Google Earth или Explorer for ArcGIS.

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

СвойствоОписание

Имя слоя

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

Имя KML

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

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

Символы слоя

Набор условных обозначений слоя будет использоваться в KML. Для работы с векторными слоями не все символы ArcGIS поддерживаются форматом KML. Помните только главное правило: поддерживаются только простые символы.

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

В случае точечных символов, текущий символ будет экспортироваться и использовать .png для его отображения. 3D символы и другие сложные идентификаторы не поддерживаются.

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

Имя объекта

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

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

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

Примечание:

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

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

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

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

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

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

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

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

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

Создать 3D KML

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

Внимание:

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

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

ПолеЗначениеОбъяснение

AltMode

0 или -1

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

Base

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

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

Внимание:

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

Extruded

0 или -1

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

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

Управление 3D-поведением
Примечание:

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