В связи с тем, что W3C опубликовало словари и онтологии геопространственных данных хочу остановиться на этом по-подробнее.
Geography Markup Language (GML) — словарь XML определенный Open Geospatial Consortium (OGC) для описания географических данных. Одной из основных особенностей является интеграция с другими словарями XML.
Всемирная волонтерская организация OGC организовала спецификацию GML. В ходе разработки GML был создан ISO TC 211 для связывания стандартизационой работы ISO и OGC. Сейчас ожидается релиз GML уже в качестве всемирного стандарта (в рамках ISO 19136).
GML это словарь XML данных для инфраструктуры GeoWeb, дающий устройствам, подключенным к интернету, доступ к географической информации, например состояния пробок или адреса банков.
Изначально GML базировался на RDF, однако в последствии была предоставлена XML Schema для упрощения интеграции и переноса различных географических данных в GML. Внедрение XML схемы позволило создать более совершенную и мощную структуру самого языка.
GML имеет набор примитивов, который используется для создания схем, этот набор включает в себя:
Профили в GML это четкие правила выражения документа, в основном используются для «усыновления» GML другими языками, например RSS.
Данные профили вошли в спецификацию и предложены для публичного использования
Спецификация предполагает возможность построение пользовательских профилей для использования нужных параметров GML.
GML имеет интересную возможность, т.н. Сферу Интересов. Например приложение для туризма получит данные о туристических объектах (горы, дороги, отели, достопримечательности итд.) и не получит, например, бизнес данные.
Язык KML, ставший популярным благодаря Google является дополнением GML. GML лишь описывает географические данные, в то вермя как KML отвечает за их отображение, потому KML может нести в себе GML данные. Однако свойства отображения GML можно настроить и без KML.
Геометрия в GML имеет такие типы данных
Геометрически модели GML и RML идентичны
Список онтологий GeoOWL включает в себя интересный (хотя ИМХО бесполезный) формат GeoRSS это способ передачи гео данных в RSS (точнее формат предназначен для Atom 1.0, RSS 2.0, RSS 1.0, однако он может использоваться и в других не-RSS XML форматах). Язык имеет два варианта GeoRSS-Simple и GeoRSS-GML.
Отличаются они формами записи. GeoRSS-GML просто добавляет GML в RSS, а Sipmle имеет свою, упрощенную форму записи.
Например
Simple
GML
Simple (Atom)
GML RSS (привязка ко времени)
GML для начала
Geography Markup Language (GML) — словарь XML определенный Open Geospatial Consortium (OGC) для описания географических данных. Одной из основных особенностей является интеграция с другими словарями XML.
Стандарты
Всемирная волонтерская организация OGC организовала спецификацию GML. В ходе разработки GML был создан ISO TC 211 для связывания стандартизационой работы ISO и OGC. Сейчас ожидается релиз GML уже в качестве всемирного стандарта (в рамках ISO 19136).
GML это словарь XML данных для инфраструктуры GeoWeb, дающий устройствам, подключенным к интернету, доступ к географической информации, например состояния пробок или адреса банков.
Модель GML
Изначально GML базировался на RDF, однако в последствии была предоставлена XML Schema для упрощения интеграции и переноса различных географических данных в GML. Внедрение XML схемы позволило создать более совершенную и мощную структуру самого языка.
GML имеет набор примитивов, который используется для создания схем, этот набор включает в себя:
- Свойства
- Геометрия
- Система ссылок на координаты
- Время
- Динамические особенности
- Слои
- Единицы измерения
- Правила описания стилей карты
Профили
Профили в GML это четкие правила выражения документа, в основном используются для «усыновления» GML другими языками, например RSS.
Данные профили вошли в спецификацию и предложены для публичного использования
- Профиль точки (для программ использующих точечное построение, однако не использующих словари GML полностью)
- Простые свойства (для использования GML в векторных данных)
- Покрытия
- Топология
- Наблюдения
- Переменные объекты (для реалтайм меняющихся данных)
- Отсутствие поддержки для динамических параметров
Данный профиль является одним из наиболее полных и позволяет решать большое количество реальных жизненных задач
- GMLJP2000 (GML для Jepeg 2000)
- Профиль для RSS
Спецификация предполагает возможность построение пользовательских профилей для использования нужных параметров GML.
Схема применения
GML имеет интересную возможность, т.н. Сферу Интересов. Например приложение для туризма получит данные о туристических объектах (горы, дороги, отели, достопримечательности итд.) и не получит, например, бизнес данные.
KML
Язык KML, ставший популярным благодаря Google является дополнением GML. GML лишь описывает географические данные, в то вермя как KML отвечает за их отображение, потому KML может нести в себе GML данные. Однако свойства отображения GML можно настроить и без KML.
Геометрия
Геометрия в GML имеет такие типы данных
- Точка
- Полигон
- Линия
Геометрически модели GML и RML идентичны
GeoRSS
Список онтологий GeoOWL включает в себя интересный (хотя ИМХО бесполезный) формат GeoRSS это способ передачи гео данных в RSS (точнее формат предназначен для Atom 1.0, RSS 2.0, RSS 1.0, однако он может использоваться и в других не-RSS XML форматах). Язык имеет два варианта GeoRSS-Simple и GeoRSS-GML.
Отличаются они формами записи. GeoRSS-GML просто добавляет GML в RSS, а Sipmle имеет свою, упрощенную форму записи.
Например
Simple
<georss:point>45.256 -71.92</georss:point>
GML
<georss:where> <gml:Point> <gml:pos>45.256 -71.92</gml:pos> </gml:Point> </georss:where>
Пример готового документа GeoRSS
Simple (Atom)
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:georss="http://www.georss.org/georss"> <title>scribble</title> <id>http://example.com/atom</id> <author><name>Christopher Schmidt</name></author> <entry> <id>http://example.com/19.atom</id> <link href="http://example.com/19.html"/> <title>Feature #19</title> <content type="html">Some content.</content> <georss:line> 23.1811523438 -159.609375 22.5 -161.564941406 20.654296875 -160.422363281 18.4350585938 -156.247558594 18.3471679688 -154.731445312 19.951171875 -153.588867188 21.8188476562 -155.983886719 23.02734375 -158.994140625 23.0932617188 -159.631347656 </georss:line> </entry> </feed>
GML RSS (привязка ко времени)
<item> <title>FLIGHT 1003</title> <link>http://flightdata/...</link> <description>FLIGHT 1003 to BOS</description> <guid isPermaLink="false">dl1003</guid> <pubDate>Wed, 06 Jun 2007 18:53:36 GMT</pubDate> <gml:TimePeriod> <gml:relatedTime> <gml:TimePeriod gml:id="time-0A05000263007CS.0.0.TKF"> <gml:beginPosition>2006-06-16T07:45:00.000Z</gml:beginPosition> <gml:endPosition>2006-06-16T07:45:00.000Z</gml:endPosition> </gml:TimePeriod> </gml:relatedTime> <gml:relatedTime> <gml:TimePeriod gml:id="time-0A05000263007CS.0.1.ORB"> <gml:beginPosition>2006-06-16T08:00:00.000Z</gml:beginPosition> <gml:endPosition>2006-06-16T09:00:00.000Z</gml:endPosition> </gml:TimePeriod> </gml:relatedTime> <gml:relatedTime> <gml:TimePeriod gml:id="time-0A05000263007CS.0.2.LND"> <gml:beginPosition>2006-06-16T09:13:00.000Z</gml:beginPosition> <gml:endPosition>2006-06-16T09:13:00.000Z</gml:endPosition> </gml:TimePeriod> </gml:relatedTime> <gml:beginPosition>2006-06-16T07:45:00.000Z</gml:beginPosition> <gml:endPosition>2006-06-16T09:13:00.000Z</gml:endPosition> </gml:TimePeriod> <georss:where> <gml:LineString> <gml:pointProperty> <gml:Point gml:id="point-0A05000263007CS.0.0.TKF"> <gml:pos srsName="WGS84(DD)">36.235 -115.03333333333333</gml:pos> </gml:Point> </gml:pointProperty> <gml:pointProperty> <gml:Point gml:id="point-0A05000263007CS.0.1.ORB"> <gml:pos srsName="WGS84(DD)">37.65356495497155 -114.5048399056895</gml:pos> </gml:Point> </gml:pointProperty> <gml:pointProperty> <gml:Point gml:id="point-0A05000263007CS.0.2.LND"> <gml:pos srsName="WGS84(DD)">36.235 -115.03333333333333</gml:pos> </gml:Point> </gml:pointProperty> </gml:LineString> </georss:where> </item>