TMapSpatialDB

 

Hierarchy        Properties        Methods        Events

Previous Top Next

 

Unit

 TMapSpatialDB

 

Компонент TMapSpatialDB используется для получения картографических данных, размещаемых в пространственных базах данных в соответствии со стандартом OGC 06-103r4: "OpenGIS® Implementation Standard for Geographic information - Simple feature access - Part 1: Common architecture".

Компонент обеспечивает возможность работы со следующими СУБД:

- PostreSQL(с опцией PostGIS) – версии 9.2 и выше;

- Oracle (c опцией Oracle Spatial) – версии 11g и выше;

- Microsoft SQL Server 2008 и выше.

 

Компонент TMapSpatialDB обеспечивает подключение к базе данных, выполнение SQL-запроса и нанесение результатов выполнения этого запроса на заданную карту. Результирующая выборка должна содержать поле с пространственными данными (в соответствии с указанным выше OGC-стандартом) и поле с уникальным идентификатором записи. Эти поля указываются в свойствах FieldGeom и FieldPK соответственно.

Метрика в выходном наборе данных должна быть представлена в типизированном поле пространственных данных: geometry (PostGIS), SDO_GEOMETRY (Oracle Spatial), geography (MS SQL Server).

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

Если поле кода классификатора не указывается или отсутствует в результирующей выборке по SQL-запросу, то объекты наносятся на карту с кодами, задаваемыми для всего результирующего набора данных целиком. При этом для объектов разной локализации можно указать разные коды (свойства – ExCodeLine, ExCodePoint, ExCodeSquare, ExCodeText).

Компонент TMapSpatialDB не создает карту с результатом запроса, а наносит объекты из результирующей выборки данных на заданную карту. Карта должна быть открыта в связанном с TMapSpatialDB компоненте TMapView (или TMapScreen). Карта указывается в свойстве SiteNumber.

Для доступа с БД необходим соответствующий провайдер:

- для СУБД РostgreSQL – комплект клиентских библиотек (основная библиотека - libpq.dll);

- для СУБД Oracle – комплект клиентских библиотек Oracle Instant Client (основная библиотека – oci.dll, Внимание! Версия Oracle Instant Client Lite не подходит для использования!);

- для СУБД Microsoft SQL Server - SQL Server Native Client.

 

Разрядность библиотек провайдера БД должна совпадать с разрядностью разрабатываемого приложения.

Отслеживание хода выполнения формирования карты по выборке данных производится с помощью событий компонента.

Для работы компонента требуется библиотека из состава GIS ToolKit – gisusqlmap.dll (gisu64sqlmap.dll – для проектов x64).

Пользователь, от имени которого выполняется запрос, должен иметь полномочия для создания и удаления временных таблиц (если в PostgreSQL и MS SQL Server такие права есть даже у пользователя гостевой группы, то для Oracle такое полномочие необходимо добавить).