Развитие идеологии ГИС, необходимость поддержания совместимости версий и систем, понимание того, что пространственная структура объекта не всегда соответствует его логической структуре, обусловили присутствие в современных ГИС черт как гибридных, так и интегрированных систем
Е.Г.Капралов (СПбГУ)
Вопросы истории развития взаимоотношений ГИС и СУБД довольно подробно изложены в [1] и [2], причем последняя публикация иллюстрирует их на примере продуктов ESRI, Inc. (США). Все векторные ГИС согласно [1] могут быть отнесены к гибридному или интегрированному типам. Гибридные системы хранят графические1 и атрибутивные данные либо в различных файлах, либо первые — в файлах, а вторые — под управлением внешней СУБД. В интегрированных системах ГИС является процессором пространственных запросов, надстроенным над стандартной СУБД, которая используется для хранения как атрибутивной, так и графической информации. Системы с раздельным хранением графики и атрибутов с подачи ESRI, Inc. часто называют также геореляционными. Однако развитие идеологии ГИС, необходимость поддержания совместимости версий и систем, понимание того, что пространственная структура объекта не всегда соответствует его логической структуре, обусловили присутствие в современных ГИС черт как гибридных, так и интегрированных систем, подтверждаемое автором статьи [2].
Похожая точка зрения высказана в [3] и проиллюстрирована рисунком (рис. 1).
Рис. 1. Три поколения ГИС: а) графические; б) геореляционные; в) объектно-реляционные (ОР)
Более развернуто ситуация рассмотрена и графически представлена (рис. 2, 3) в [4] в полном соответствии с идеями, изложенными в [1].
В статьях [2] и [5] показано, что в ГИС с однородной структурой целесообразно выделять не только геоданные и атрибуты, но и предметную (логическую) модель данных, а также связи и поведение объектов (рис. 4). Важной компонентой пространственной БД является метаинформация.
Рис. 2. Структура традиционной ГИС со смешанной структурой данных
Рис. 5, заимствованный из [3], в более формализованном виде иллюстрирует подобный подход.
Кроме того, упомянутые выше статьи наглядно показывают, что в современных системах присутствуют черты ГИС как с однородной, так и со смешанной структурой.
Рис. 3. Структ ура ГИС с однородной структурой данных
Стандартизация
В настоящее время использование стандартов становится значимым фактором. Для создания коммерчески успешного продукта при разработке ГИС необходимо учитывать более десяти стандартов, обеспечивающих совместимость пространственных данных и возможность взаимодействия программного обеспечения по их обработке и анализу. Обзор основных стандартов в этой области дан в [5, 6]. Вопросы стандартизации, связанные с реализацией поддержки пространственных данных в СУБД, подробно описаны в статье [7], где рассмотрены такие документы, как Open GIS Simple Features Specification For SQL ( http://www.opengeospatial.org/standards/is ) и ISO/IEC SQL/MM Part3: Spatial (перечень стандартов, которых стараются придерживаться разработчики ПО ГИС, значительно шире, но эти являются базовыми).
В основном названными стандартами регламентируются:
— иерархия геометрических типов;
— операции над объектами геометрических типов;
— представление метаданных.
Рис. 4. Содержимое базы геоданных [2]
Значительная часть статьи [7] посвящена описанию реализации поддержки пространственных данных в СУБД. Авторы остановились на рассмотрении таких систем, как Oracle с расширением Oracle Spatial; IBM DB2 с расширением Spatial Extender; PostgreSQL с расширением PostGIS; MySQL и ЛИНТЕР. Проверка работы средств поддержки ГИС выполнена на версиях
PostgreSQL 8.0.3 и ЛИНТЕР 6.0.10 (в настоящее время доступны PostgreSQL 8.3.4, MySQL 5.1 и ЛИНТЕР 6.1).
Рассмотрены следующие аспекты реализации:
— типы SQL для геометрических объектов;
— операции над объектами;
— текстовое представление геометрических объектов в различных операторах;
— двоичное представление геометрических объектов для обмена информацией между СУБД и приложениями;
— характеристики геометрических объектов;
— определение взаимного расположения геометрических объектов;
— координатные системы;
— создание таблиц, содержащих столбцы геометрических типов, и добавление столбцов геометрических типов в таблицы;
— удаление столбцов геометрических типов из таблиц;
— занесение значений в столбцы геометрических типов;
— выборка значений из столбцов геометрических типов;
— индексирование пространственных данных.
Поиск пространственных данных
Для поиска пространственных данных по некоторому критерию обычно используется двухступенчатая модель запроса. Для получения ответа последовательно выполняются две операции отбора записей, называемые первичным и вторичным фильтрами соответственно.
Рис. 5. Компоненты комплексной модели геопространственных объектов
Первичный фильтр позволяет осуществить быстрый отбор записей-кандидатов и передать их вторичному фильтру. Первичный фильтр обычно использует пространственный индекс и оперирует не самими геометрическими объектами, а их приближениями (например, MBR — минимальными охватывающими прямоугольниками) для уменьшения вычислительной сложности операции поиска. В результате на выходе первичного фильтра формируется множество записей, которыми и оперирует вторичный фильтр.
Импорт и экспорт пространственных данных
Наиболее широко распространенными форматами файлов для представления пространственных данных являются SHP (shapefile), разработанный ESRI, Inc. в 1997-1998 гг. [8], и MIF/MID MapInfo Corp.
Каждый SHP-файл содержит набор «геометрических примитивов» одного типа (могут быть и пустые наборы). К примитивам, соответствующим классам геометрических объектов, относятся точка (Point), множество точек (MultiPoint), ломаная (PolyLine) и многоугольник (Polygon). Каждый из этих типов примитивов имеет три варианта — для двумерной системы координат (XY), двумерной системы координат с дополнительной метрикой для каждой точки (XYM), трехмерной системы координат с дополнительной метрикой для каждой точки (XYZM). Также существует тип сложной формы — MultiPatсh, приблизительно соответствующий типу MultiPolygon стандарта Open Geospatial Consortium, Inc. (OGC, США). Атрибуты, не являющиеся геометрическими, но связанные с геометрическими данными в SHP-файле, хранятся в формате DBF.
Многие СУБД имеют утилиты для импорта данных из формата SHP и экспорта данных в этот формат. Например, в PostgreSQL импорт данных из формата SHP выполняет утилита shp 2 pgsql, экспорт — утилита pgsql 2 shp.
Другими распространенными и стандартизованными форматами представления пространственных данных являются язык географической разметки GML (Geography Markup Language, стандарт ISO 19136:2007), разработанный OGC, и язык KML (Keyhole Markup Language, стандарт OGC KML 2.2 Standard), созданный компанией Keyhole, Inc. и заимствованный Google, Inc. Во всех перечисленных ранее СУБД есть функции, сохраняющие пространственные объекты в формате GML.
Представление метаданных
Стандарт Simple Features Specification For SQL вводит следующие таблицы для доступа к метаданным:
— SPATIAL_REF_SYS — описание всех систем координат, которые могут быть использованы для представления геометрических объектов;
— GEOMETRY_COLUMNS — описание всех столбцов таблиц базы данных, содержащих данные геометрических типов.
Выполнение процедур AddGeometryColumn и DropGeometryColumn обеспечивает автоматическое обновление данных в представлении GEOMETRY_COLUMNS.
Список литературы 1. ДеМерс М.Н. Географические информационные системы. Основы: Пер. с англ. — М.: Дата+, 1999. — 589 с. 2. Мамедов Э. База геоданных // ArcReview. — 2001. — № (4)19. — С. 3–5 (доступна по адресу http://www.dataplus.ru/Arcrev/Number_19/PDF/p3.pdf ). 3. Лященко А., Иванченко С., Смирнов В. Концептуальные модели геопространственных данных // Инженерная геодезия. — Киев: КНУБА, 2005. — Вып. 51 (доступна по адресу http://gki.com.ua/DyWP/bindata/_0003659_path.pdf ). 4. Лященко А. Реляционные модели и пространственная индексация геоданных // Инженерная геодезия. — Киев: КНУБА, 2000. — Вып. 43. — С. 139–150 (доступна по адресу http://gki.com.ua/DyWP/bindata/_0003661_path.pdf ). 5. Андрианов В.Ю. Стандарты и ESRI // ArcReview. — 2006. — № 2 (37) (доступна по адресу http://www.dataplus.ru/arcrev/number_37/5_standarts.html ). 6. Андрианов В.Ю. Стандарты в ИПД // ArcReview. — 2006. — № 2 (37) (доступна по адресу http://www.dataplus.ru/arcrev/number_37/5_ipd.html ). 7. Борисенков Д.В., Харин В.Н. Краткий обзор стандартов поддержки ГИС в реляционных СУБД и вариантов их реализации // Технология клиент-сервер. — 2005. — № 3 (доступна по адресу http://www.linter.ru/ru/press-centre/publications/71 ) . 8. Зейлер М. Моделирование нашего мира. Руководство ESRI по проектированию базы геоданных. — Нью-Йорк: ESRI Press, 1999. — 254 c.
Окончание в следующем номере
1 Разделение данных о пространственных объектах на «графику» и «атрибутику» — явление распространенное вообще и нередкое в текстах ESRI, Inc. и в их переводах на русский язык. Это может рассматриваться как «тяжелое наследие» картографии или недопонимание того, что цифровое описание пространственного объекта складывается из координатного описания (которое либо уже, либо еще не графика) и атрибутов, т. е. прочих его свойств. Если придерживаться традиционной терминологии, унаследованной от компьютерной графики, то уместней говорить о «геометрии» как о геометрическом объекте (точки, линии и полигоны — это «геометрии»). М.Н. ДеМерс писал [1, с. 6]: «Не было также и способа связать графические данные (которые мы позже назовем геометрическими объектами (entities)) с описательной информацией о соответствующих объектах реального мира (что позже будет названо атрибутами (attributes))». Таким образом, «графика» введена им для простоты изложения, не более того. Далее [1, с. 96], выполняя обещание, он пишет: «Представление пространственных данных — еще один формализм, подобный тем, что мы рассматривали при переходе от реальных земных объектов к ограниченному набору геометрических примитивов, называемых точками, линиями, областями и поверхностями». Однако М.Н. ДеМерс непоследователен, и на той же странице опять появляются «графические структуры данных». Применять термин «графика» по отношению к конструкциям и формализмам геоинформатики нет никакой нужды. «Графики» нет ни в стандартах ИСО серии 19100 («Географическая информация»), ни в спецификациях OGC, Inc., ни в системе базовых понятий СУБД Oracle (имея в виду ее модуль Oracle Spatial), о которых далее пойдет речь в статье.
Автор примечания — А.В. Кошкарев.