Язык разметки 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.
Перед запуском инструмента Слой в KML необходимо назначить символы этому слою и задать определенные свойства, а также изменить определенные атрибуты данных. Во время конвертации в KML используется множество аспектов и свойств слоев, в том числе видимые атрибуты полей, прозрачность, надписи, настройки всплывающих окон и символы отображения. Настраивая свойства слоя и атрибуты данных, необходимо убедиться, что создаваемый набор данных KML соответствует вашим ожиданиям, что им удобно пользоваться и он хорошо оформлен. Кроме некоторых исключений, указанных ниже, при конвертации слоя в KML выполняется принцип "что видишь, то и получишь". В следующей таблице приводится ряд действий, которые вам необходимо произвести в процессе подготовки ваших слоев к их конвертации в KML.
Свойство | Описание |
---|---|
Имя слоя | Слой в ArcGIS станет папкой после конвертации в формат KML. Имя слоя будет использовано в качестве названия папки KML. |
Описание слоя | Описание слоя будет отображаться в качестве всплывающей информации для папки. |
Символы слоя | Набор условных обозначений слоя будет использоваться в KML. Для работы с векторными слоями не все символы ArcGIS поддерживаются форматом KML. Помните только главное правило: поддерживаются только простые символы. Что касается линейных объектов, поддерживаются только простые символы со стандартными настройками цвета и толщины символа; дополнительные эффекты, такие как штрихи, стрелки, а также многоуровневые и многослойные символы не поддерживаются. Для точек будет экспортироваться текущий символ и использоваться файл .png для его отображения. 3D символы и другие сложные идентификаторы не поддерживаются. Для отображения полигональных объектов могут использоваться только простые заливки цветом и линии границ; рисунки, штриховки, градиентные заливки не поддерживаются, а к отображению линий границ полигонов применимы ограничения, установленные для отображения линейных объектов. Если для ваших объектов требуются не только простые символы, используйте параметр Возвращает одно составное изображение инструмента Слой в KML, чтобы конвертировать объекты с символами в растровое изображение, содержащее сложные символы. |
Имя объекта | Если надписи объектов будут включены, в качестве источника имени в KML будет использовано поле надписи слоя или выражение. Если надписи объектов включены, в качестве источника имени будет использовано отображаемое поле надписи или выражение. Если ни одно из этих свойств слоя не будет задано, то для имени будет использовано значение из поля Name. |
Надпись объекта | Если надписи слоя включены, то в качестве источника имен для всех объектов KML будет использовано поле надписи или выражение. Примечание:Только точечные объекты будут надписаны. Для линейных или полигональных объектов могут быть созданы и надписаны центроиды, которые создадут эффект надписывания. |
Фрагмент объекта | Фрагмент объекта можно задать, изменив псевдоним любого из существующих полей на KMLSnippet. Иначе, значения в поле Snippet векторного слоя будут использованы в качестве фрагмента каждого из объектов KML. |
Всплывающее окно с информацией по объекту | По умолчанию во всплывающем окне отображается информация из всех видимых полей слоя. Отображение всплывающих окон объектов KML можно настроить, используя настраиваемые всплывающие окна слоя. Когда всплывающие окна не настроены, при щелчке по объекту KML во всплывающем окне будут отображаться значения поля PopupInfo векторного слоя. Эти значения могут представлять собой числовые или текстовые атрибуты, а также сохраненный в текстовом поле HTML-код. |
Папки и подпапки | Слоям и объектам KML можно задать структуру папок. Если слой имеет поле FolderPath, и поле заполнено значениями с несколькими уровнями, значения этого поля будут использоваться для создания структуры папок и подпапок KML. Первый уровень поля FolderPath становится корневой папкой, содержащей другие папки. В этом поле, в качестве разделителя папок и подпапок используется косая черта (/). Если слой не содержит поля 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) имеет значение высоты, его расположение задано как абсолютное, к нему применено только вытягивание.
Примечание:
Параметр инструмента Слой в KML Зафиксировать объекты на земле, игнорирует настройки 3D, и все объекты будут драпироваться на поверхности земли. Этот параметр удобен при создании KML из объектов с z-значениями, находящихся ниже уровня земли, или для которых эффект 3D не требуется. Вы также можете использовать поле Clamped со значением -1, что даст такой же эффект, но для каждого объекта в отдельности.