СТАНДАРТЫ
Консорциум Open GIS (www.opengis.org) продолжает деятельность по внедрению методов обработки географической информации в традиционные среды. После языка Java, превращенного стараниями консорциума в GeoJava, совершенно логично подошла очередь и XML, географическое воплощение которого получило название GML (Geography Markup Language).
Язык XML (eXtensible Markup Language) в свое время был разработан консорциумом W3 в расчете на постепенное вытеснение из Интернета языка HTML. Этот “HTML будущего”, как его нередко называют, уже активно осваивается ведущими производителями программ, причем не только браузеров: по мнению известного Web-дизайнера Дмитрия Кирсанова (www.kirsanov.com), поддержка XML через какое-то время появится в большинстве текстовых процессоров, баз данных, систем подготовки документации, а некоторые предрекают встраивание этого языка даже на уровне операционных систем. Так, не далее чем 13 января этого года компания Autodesk объявила о завершении первого этапа работы над спецификацией LandXML (www.landxml.org) - расширения языка XML для изыскательских, строительных и сельскохозяйственных работ, позволяющего описывать такие объекты, как точки, земельные участки и их расположение относительно друг друга (см. PC Week/RE, № 2/2000, с. 2).
Внешне XML очень похож на HTML: те же угловые скобки, открывающиеся и закрывающиеся теги, атрибуты и подстановки. Но если в HTML все допустимые теги жестко заданы стандартом, то XML-документ может пользоваться любыми тегами, даже изобретаемыми на ходу автором документа. Это свойство языка и использовали в консорциуме Open GIS, создав набор тегов, способных описывать пространственную информацию. В работе помимо консорциума участвовали компании Oracle, Galdos Systems, MapInfo, CubeWerx и Compusult. Ключевым фактором, предопределившим географическое использование XML, стало четкое отделение представления от содержания, хорошо согласующееся с тем обстоятельством, что географические данные и их графическая интерпретация на бумаге, дисплее или где-то еще - две абсолютно разные вещи. Существует огромное и явное различие между географической информацией, представляющей собой описание окружающего мира в пространственных терминах, и конкретной визуализацией этой информации. Иными словами, собирать сведения о геометрии и свойствах объектов - это одно, а решать, каким цветом и какой толщины рисовать линии, изображающие эти самые объекты на карте, - совсем другое. И язык XML идеально вписывается в эту идеологию, провозглашая разделение содержания и представления.
GML базируется на разработанной консорциумом Open GIS абстрактной модели географии, которая описывает мир в терминах географических элементов, называемых геообъектами. Свойства геообъекта включают в себя название, тип и некоторую дополнительную информацию, зачастую численную, а геометрическая конфигурация составляется из стандартных строительных блоков - точек, линий и полигонов. Для простоты начальная спецификация GML ограничена двухмерной геометрией, хотя вскоре должны появиться версии для 2,5-мерного и трехмерного пространства, а также версия, поддерживающая топологию. GML позволяет хранить достаточно сложные объекты: например, такой объект, как радиовышка, может состоять из точки (сама вышка) и площадного элемента, соответствующего территории радиопокрытия. Для описания же здания используются теги Polygon, OuterBoundaryIs, LinearRing, Coordinates и Description. Напомню, что согласно стандарту языка XML пользователь может создавать и применять любые теги. Для визуализации географических данных, хранящихся в формате GML, необходим отдельный инструмент, который преобразует информацию в вид, понятный браузеру, - скажем, в VML (Microsoft Vector Markup Language) или формат X3D (XML-инкарнация VRML).
Помимо того, что GML потенциально представляет собой замечательное средство передачи географической информации по Интернету, у него есть все шансы стать и инструментом для ее хранения. Ключевыми технологиями здесь являются XLink (XML Linking Language), описывающий связь XML-документов друг с другом, и XPointer, уточняющий, каким образом связи должны указывать на различные места внутри документов. По своей функциональности ссылки в языке XML близки к ссылкам HTML, но при этом обеспечивают ряд дополнительных возможностей - они могут быть многонаправленными, независимыми и соединять большое количество ресурсов (см. сайт sag.mephi.ru). Спецификация XPointer позволяет сослаться на подресурс в составе ресурса. Расширенные возможности связей XML совместно со спецификациями XPointer предоставляют разработчикам документов развитую систему гиперсвязи, которая существенно отличается от любых предыдущих систем. Таким образом, с учетом того факта, что географические данные равномерно “размазаны” по поверхности земного шара и что регион А обычно располагает куда более подробными картами о регионе А, чем регион Б, можно признать идеальной схему, в которой каждый город (область, страна) вносит свой вклад в геоинформационную базу данных, где региональные данные проинтегрированы на глобальном уровне. Для решения этой задачи трудно найти средство более адекватное, чем GML.
В пользу GML как средства хранения пространственной информации говорит и то, что, во-первых, для редактирования изображений не нужно ничего, кроме текстового редактора, а во-вторых, рост числа клонов XML (таких, как LandXML или VoiceXML) предполагает возможность интеграции географических и негеографических данных в рамках одной технологии. Последнее обстоятельство открывает поистине захватывающие перспективы.