Сопоставление структур базы данных и карты

Печать Предыдущая страница Стартовая страница Следующая страница

Многие современные СУБД имеют возможность хранения в базе пространственных данных в соответствии со стандартом OGC (Open Geospatial Consortium) - OGC 06-103r4: "OpenGIS® Implementation Standard for Geographic information - Simple feature access - Part 1: Common architecture".

Текущая версия Panorama SpatialDB Service позволяет обрабатывать пространственные данные, размещенные в соответствии со стандартом OGC в БД PostgreSQL и MS SQL Server.

В СУБД PostgreSQL возможность хранения в базе пространственных данных достигается с помощью дополнительного расширения – PostGIS.

PostGIS представляет собой расширение свободной объектно-реляционной СУБД PostgreSQL, предназначенное для хранения в базе географических данных (геометрии) и поддерживающее стандарты OGC (Open Geospatial Consortium). PostGIS был выпущен в 2001 году компанией Refractions Research и составляет конкуренцию коммерческим решениям, являясь при этом свободным программным продуктом с открытым исходным кодом. Основным достоинством PostGIS является возможность использования языка SQL совместно с пространственными операторами и функциями. PostGIS довольно активно развивается, по мере развития самой СУБД PostgreSQL и проекта Open Source Geospatial Foundation.

В PostgreSQL хранение пространственных данных реализуется непосредственно в таблицах базы данных в полях, имеющих специальный тип данных – GEOMETRY. Тип данных GEOMETRY представляет собой блок двоичных данных определенного формата. В этом блоке содержится заголовочная часть, определяющая характер локализации объекта, сложность его метрики, примененную систему координат для хранения, а также непосредственно массив координат.

СУБД Microsoft SQL Server, начиная с версии 2008, имеет встроенную поддержку работы с пространственными данными. SQL Server поддерживает следующие пространственные типы: geography и geometry. Географический пространственный тип данных geography в SQL Server представляет эллиптические данные в системе координат круглой земли, такие как координаты широты и долготы в системе GPS. Плоский пространственный тип данных geometry в SQL Server представляет данные в евклидовом пространстве (плоской системе координат). Текущая версия Panorama SpatialDB Service поддерживает работу с пространственным описанием объекта, как координаты широты и долготы в системе WGS-84 (GPS), то есть размещаемым в поле типа geography.

Хранение пространственного описания объекта в полях БД никак не регулируется стандартом OGC, который определяет лишь перечень типов пространственных объектов и набор основных функций для работы с ними. Также стандарт OGC 06-103r4: "OpenGIS® Implementation Standard for Geographic information - Simple feature access - Part 1: Common architecture" предписывает общеобязательное представление в стандартизованном виде данных, хранящихся в таких полях, и определяет два вида представлений – WKB (Well-known Binary Representation for Geometry) и WKT (Well-known Text Representation for Geometry). Это означает, что все разработчики СУБД, поддерживающие данный стандарт, вправе хранить гео-данные в своем собственном формате, но при этом обязаны обеспечить возможность доступа к этим данным в стандартизованном формате (WKB или WKT). Физическое размещение пространственной информации в блоке двоичных данных своего собственного формата отличается от WKB, отличается у различных СУБД и зачастую не документировано.  Ввиду этого Panorama SpatialDB Service использует стандартизованный доступ к пространственным данным в БД посредством WKB стандарта.

Если рассматривать БД, хранящую пространственные данные, по аналогии с векторной картой, можно выделить определенное соответствие на разных уровнях:

-База данных – карта;

-Таблица БД – слой карты (или отдельный вид однотипных объектов);

-Запись в таблице БД – картографический объект.

 

Каждая запись таблицы БД представляется совокупностью полей. Выделяются следующие обобщенные типы полей:

-Первичный ключ – поле, уникально идентифицирующее запись  в наборе данных (таблице);

-Поле геоданных;

-Поля атрибутивной информации об объекте.

-Поле, определяющее внешний вид объекта на карте.

 

-Для отражения информации из таблицы БД с пространственными данными проводится следующее соответствие:

-Первичный ключ – Идентификатор объекта карты;

-Поле геоданных – Метрика объекта карты;

-Атрибутивные поля – Семантика объекта карты.

-

Внешний вид объектов карты может быть назначен единый для всей таблицы, отображаемой на карте, либо определен для каждой записи персонально с помощью специального поля, содержащего идентификатор условного знака карты (ключа цифрового классификатора).

 

Таким образом, обязательными полями в таблице БД, необходимыми для ее отражения на карте, являются:

-Первичный ключ;

-Поле геоданных.

 

На основе вышесказанного можно сделать заключение о взаимном соответствии данных на разных уровнях:

 

На стороне сервера БД

На стороне ГИС Сервера

База данных

у

Векторная карта

Таблица БД

у

Слой карты

Запись таблицы БД

у

Картографический объект

 

При этом взаимное соответствие на уровне «Таблица БД у Слой карты» не всегда является жесткой и однозначной. Таблицы могут быть разнесены по разным схемам, информация от разных таблиц БД может попадать в один слой карты и т.д.

Жесткой однозначной связью является соответствие «Запись таблицы БД  у Картографический объект». Это значит, что объекту карты устанавливается уникальное соответствие одной конкретной записи в одной конкретной таблице БД (внутри одной определенной схемы БД). При этом одна запись может быть представлена иногда не одним, а целым набором объектов на карте, что обусловлено спецификой стандарта представления метрики объектов в БД - OGC 06-103r4: "OpenGIS® Implementation Standard for Geographic information - Simple feature access - Part 1: Common architecture". В данном случае соответствие  «Запись таблицы БД  у Картографический объект» следует рассматривать как «Запись таблицы БД  у Набор картографических объектов».