.GML вариант №
GML расшифровывается как язык географической разметки, основанный на спецификациях XML, разработанных Open Geospatial Consortium (OGC). Этот формат используется для хранения объектов географических данных для обмена между различными форматами файлов. Он служит языком моделирования для географических систем, а также открытым форматом обмена для географических транзакций в Интернете.
Формат файла GML
Как и в большинстве грамматик на основе XML, грамматика состоит из двух частей: схемы, описывающей документ, и документа-экземпляра, содержащего фактические данные. Документ GML описывается с помощью схемы GML. Это позволяет пользователям и разработчикам описывать общие наборы географических данных, которые содержат точки, линии и полигоны. С помощью схем приложений пользователи могут обращаться к дорогам, автомагистралям и мостам, а не к точкам, линиям и многоугольникам.
Стоит отметить, что GML не следует интерпретировать для представления пространственных данных на картах. Представление контента GML отличается от цели, для которой был создан GML. Короче говоря, GML похож на XML в том, что он используется только для хранения пространственного содержимого, которое может использоваться картографическими приложениями для целей отображения.
Формирование контента в GML
GML представляет пространственные данные с помощью функций, которые представляют собой список свойств и геометрий. Свойство имеет имя, тип и описание значения. Геометрии состоят из основных строительных блоков геометрии, таких как:
- точки
- линии
- кривые
- поверхности и
- полигоны
Планируется, что будущие версии GML будут поддерживать трехмерную геометрию, а также топологические отношения между объектами.
Кодирование GML уже позволяет использовать довольно сложные функции. Функция может, например, состоять из других функций. Таким образом, отдельный объект, такой как аэропорт, может состоять из других объектов, таких как рулежные дорожки, взлетно-посадочные полосы, ангары и аэровокзалы. Геометрия географического объекта также может состоять из множества геометрических элементов. Таким образом, геометрически сложный объект может состоять из смеси типов геометрии, включая точки, цепочки линий и полигоны.
Примеры
GML 1.0 и 2.0 кодируют объекты Polygons, Points и LineString следующим образом:
<gml:Polygon>
<gml:outerBoundaryIs>
<gml:LinearRing>
<gml:coordinates>0,0 100,0 100,100 0,100 0,0</gml:coordinates>
</gml:LinearRing>
</gml:outerBoundaryIs>
</gml:Polygon>
<gml:Point>
<gml:coordinates>100,200</gml:coordinates>
</gml:Point>
<gml:LineString>
<gml:coordinates>100,200 150,300</gml:coordinates>
</gml:LineString>