Создание KML в ArcGIS for Desktop – это простой процесс, состоящий из трех основных шагов:
Как векторные, так и растровые слои , а также документы карты 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 изображений. |
Следующие атрибуты полей (все целочисленные) используются для управления размещением и свойствами объектов в 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.
Продолжение следует…