TMapSpatialDBHierarchy Properties Methods Events |
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 такое полномочие необходимо добавить).
|