воскресенье, 15 февраля 2009 г.

KML — работаем профессионально. Введение.

KML - язык управления геоданными, являющийся основным для Google Earth, также поддерживается такими популярными средами как MS Virtual Earth, ArcGIS, Microstation, Autodesk ... Список постоянно пополняется, KML является также одним из OGC стандартов http://www.opengeospatial.org/standards/kml/
Ссылки
http://code.google.com/intl/ru/apis/kml/ - домашняя страница руководства по KML
http://ru.wikipedia.org/wiki/KML - Википедия
http://www.eastgeology.com/neogeografia - наша коллекция KML

Методы создания и редактирования KML
  • Создание внутренними средствами Google Earth
  • Экспорт из ГИС как внутренними средствами, так и с помощью специальных расширений
  • Генерация средствам php, python, xslt и другими
  • Прямое редактирование в текстовых редакторах

Прямое редактирование в текстовых редакторах

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

  • Постоянно обновляются теги KML

  • Отсутствуют пользовательские средства, в полной мере поддерживающие все средства KML при создании и редактировании.


Существующие средства, как правило, ориентированы на упрощение реализации конкретных задач. Несмотря на наличие как стандартного программного обеспечения, так и собственного для работы с KML http://applications.geoblogspot.com/ , примерно половину времени работы с KML провожу в обычном текстовом редакторе (использую Notepad++).
Одна из основных возможностей GE - копирование и вставка объектов (Ctrl+C, Ctrl+V - далее CtrlCV).
Создаем или открываем KML в GE, выделяем его в списке Places, делаем CtrlCV и видим его дубликат.
Теперь открываем редактор, делаем Ctrl+V и видим текст KML в редакторе. Неважно, работаем мы с KML или KMZ форматом, внутренним форматом GE является KML. KMZ - это архивированный ZIP архив KML и распаковывается при открытии в GE автоматически. Вы можете также распаковать (unzip) KMZ файл вручную и убедиться в этом самостоятельно.

Пример - добавление даты события (тегов времени).

Открываем GE
Копируем следующий текст KML в буфер обмена и вставляем в My Places
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<name>Point with TimeStamps</name>
<Placemark>
<Point>
<coordinates>57.05104837705052,57.62926121886946,0</coordinates>
</Point>
</Placemark>
<Placemark>
<Point>
<coordinates>57.51270742269408,57.84105183908832,0</coordinates>
</Point>
</Placemark>
</Document>
</kml>

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

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<name>Point with TimeStamps</name>
<Placemark>
<TimeStamp> <!-- Открываем описание даты события -->
<when>2007-01-12</when> <!-- Дата события -->
</TimeStamp> <!-- Закрываем описание даты события -->
<Point>
<coordinates>57.05104837705052,57.62926121886946,0</coordinates>
</Point>
</Placemark>
<Placemark>
<TimeStamp><when>2008-01-12</when></TimeStamp> <!-- Дата другого события -->
<Point>
<coordinates>57.51270742269408,57.84105183908832,0</coordinates>
</Point>
</Placemark>
</Document>
</kml>

Копируем полученный текст в буфер обмена и в GE. Получаем KML, который содержит даты событий. Шкала времени должна появиться автоматически, и теперь с ее помощью можно управлять видимостью событий.
Результат можно сохранить локально или опубликовать в internet как KMZ файл.

Вы можете сразу загрузить в GE приведенные примеры с небольшими изменениями:
Без временной шкалы - http://dl.getdropbox.com/u/470962/kml/learing/Points%20without%20of%20TimeStamps.kmz - внес небольшие изменения в стили, чтобы примеры отличались друг от друга
С добавлением даты событий http://dl.getdropbox.com/u/470962/kml/learing/Points%20with%20TimeStamps.kmz



Комментариев нет: