Що таке файл GML?
GML розшифровується як Geography Markup Language, яка базується на специфікаціях XML, розроблених Open Geospatial Consortium (OGC). Цей формат використовується для зберігання об’єктів географічних даних для обміну файлами різних форматів. Він служить мовою моделювання для географічних систем, а також відкритим форматом обміну для географічних транзакцій в Інтернеті.
Формат файлу GML
Як і в більшості граматик на основі XML, граматика складається з двох частин – схеми, яка описує документ, і екземпляра документа, який містить фактичні дані. Документ GML описується за допомогою схеми GML. Це дозволяє користувачам і розробникам описувати загальні набори географічних даних, які містять точки, лінії та багатокутники. Використовуючи схеми додатків, користувачі можуть посилатися на дороги, шосе та мости замість точок, ліній і багатокутників.
Варто зауважити, що GML не слід інтерпретувати для представлення просторових даних на картах. Представлення вмісту GML відрізняється від мети, для якої було створено GML. Коротше кажучи, GML подібний до XML тим, що він використовується лише для зберігання просторового вмісту, який можна використовувати програмами відображення для відображення.
Формування вмісту в GML
GML представляє просторові дані за допомогою функцій, які є списком властивостей і геометрій. Властивість має назву, тип і опис значення. Геометрії складаються з основних будівельних блоків геометрії, таких як:
- бали
- лінії
- криві
- накладки і
- багатокутники
У майбутніх версіях GML планується підтримка 3D-геометрії, а також топологічних зв’язків між об’єктами.
Кодування GML вже дозволяє використовувати досить складні функції. Функція може, наприклад, складатися з інших функцій. Таким чином, один об’єкт, як-от аеропорт, може складатися з інших об’єктів, таких як шляхи руління, злітно-посадкові смуги, вішалки та аеровокзали. Геометрія географічного об’єкта також може складатися з багатьох геометричних елементів. Таким чином, геометрично складний об’єкт може складатися з комбінації типів геометрії, включаючи точки, рядки ліній і багатокутники.
Приклади
GML 1.0 і 2.0 кодують об’єкти Polygon, 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>