Feature Data Objects - комплекс решений для доступа к пространственным данным

Материал из GIS-Lab
Перейти к навигации Перейти к поиску
Эта страница опубликована в основном списке статей сайта
по адресу http://gis-lab.info/qa/fdo.html


Описание Feature Data Objects

Feature Data Objects (далее FDO) – это комплекс решений от компании Autodesk, разработанный на основе библиотек GDAL и OGR, предоставляющий возможность создания прикладных программ для географических информационных систем с эффективными инструментами для преобразования, хранения и изменения пространственных данных.

FDO – создан для разработчиков приложений ГИС в виде продуманного API (Application Programming Interface), функционал которого может быть расширен при помощи таких языков программирования как Microsoft C#.NET, Microsoft Visual Basic.NET и, конечно же, Microsoft Visual C++.NET. Все структуры данных соответствуют стандартам Open Geospatial Consortium (OGC).

Что такое Feature Data Objects (FDO)?

Доступ к пространственным данным при помощи FDO осуществляется при помощи основных объектов класса Provider. Так, например, объект класса MySQL Provider создает соединение с источником данных MySQL Server, который содержит в себе географическую информацию. После того как соединение установлено, средствами FDO можно выбрать часть или все данные необходимые для визуализации или анализа. Выбор данных происходит аналогично команде Select, которая так часто используется в запросах SQL.

Работу SHP (ESRI Shape Files) провайдера пространственных данных можно представить примерно такой схемой: создание соединения с источником данных SHP > cоздание запроса SQL для выбора пространственных данных > выполнение запроса SQL > возвращение набора пространственных объектов.

Каковы выгоды от использования такой технологии? Можно сразу заметить, что отсутствует основная операция «конвертации» данных. Благодаря библиотеке абстракций GDAL, работающей с большинством форматов пространственных данных напрямую, FDO способен создавать множество соединений с источниками данных, без какого-либо преобразования информации. Кроме «чтения-на-лету» FDO также способен изменять или добавлять новые пространственные объекты!

Необходимые требования к контекстному содержанию источников данных от FDO такие:

  • Источник данных может содержать одно или несколько хранилищ данных. Хранилищем данных (data store) называется пространство на диске (или любом другом информационном носителе), которое хранит географические данные.
  • Хранилище данных может содержать одну или несколько схем данных (feature scheme) - информации о структуре географических данных, а также одно или несколько пространственных содержаний (spatial context). Здесь под пространственным содержанием подразумевается неструктурированный набор географических данных.
  • Схема данных может содержать один или несколько классов (feature classes) пространственных объектов. Здесь под классом пространственных объектов подразумевается структурированный набор географических данных.
  • Класс пространственных объектов может содержать одно поле геометрических данных (feature geometry properties) (геометрических структур пространственного объекта), а также одно или несколько полей атрибутивных данных (non-feature geometry properties – это данные, которые не имеют геометрических данных, но однозначно определяющие свойства пространственного объекта). Класс пространственных объектов может быть любым другим типом геометрических данных, совместимых с FDO.

Геометрическая структура пространственного объекта в представленной координатной системе, может быть выражена в двух (2D), в трех (3D), а иногда даже и в четырех измерениях (4D). Представление геометрической информации в FDO основано на OpenGIS Simple Features Implementation Specification for SQL (version 1.1, document 99-049), который можно найти на сайте www.opengeospatial.org/standards.

Структура географических данных FDO может быть сохранена в формате XML. FDO XML формат базируется на стандарте OpenGIS Consortium Geography Markup Language (version 2.1.1, document 02-009), который можно найти на сайте www.opengeospatial.org/standards/gml. Структурой географических данных FDO является всего лишь информация о схематическом представлении данных, которая не зависит от местоположения источника данных.

FDO API

FDO API доступен в двух основных модификациях: первая – Enterprise, а вторая – Open Source, а также для двух платформ: Windows и Linux. Enterprise версия FDO API содержит в себе все компоненты версии Open Source, а также некоторые дополнительные компоненты, например провайдер данных для SDF (Spatial Data Format от Autodesk). Open Source версия содержит в себе исключительно компоненты Open Source.

Версия Enterprise реализована в качестве основного компонента для таких программных продуктов как: AutoCAD Map 3D, AutoCAD Civil 3D, Autodesk MapGuide Enterprise и Autodesk Topobase. FDO API в контексте этих программных продуктов может оказаться не столь содержательным для разработчика, поскольку он ориентирован именно на эти программные продукты. То есть API для AutoCAD Map 3D прежде всего построен на платформе AutoCAD, а AutoCAD не предназначался для ГИС. Таким образом, FDO API для AutoCAD Map 3D нужно было так изменить, чтобы он безупречно работал с платформой AutoCAD.

Версия OpenSource реализована в виде исходного кода, который можно найти и скачать на сайте Open Source Geospatial Foundation http://fdo.osgeo.org/downloads в виде архивов. Наименование проекта «fdo». Документация содержит в себе инструкции по инсталляции программного комплекса на соответствующей платформе.

Введение в Feature Data Objects

Цели этой статьи:

  1. Описание установки компонентов FDO, для создания приложения ГИС, использующих соединения с источниками пространственных данных
  2. Описание настройки провайдеров данных, использующих данные соединения.

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

Провайдеры данных, основанные на технологии RDBMS, за исключением Microsoft SQL Server, требуют установки специальных компонентов RDBMS, без которых полная функциональность этих провайдеров данных не гарантируется. Более подробная информация по установке и настройке компонентов RDBMS будет рассмотрена в следующем разделе. Если компонент RDBMS для Microsoft SQL Server уже установлен и настроен, то рекомендуется просмотреть последовательность его установки и настройки.

В последующих разделах будут рассмотрены наиболее важные объекты классов, и их методы, которые нужно использовать для создания соединений с источниками данных, но подробное описание их функционирования в эту статью включаться не будет. За подробной информацией об объектах классов и их методах рекомендуется обратиться к FDO API reference documentation по адресу http://fdo.osgeo.org/files/fdo/docs/FDO_API_managed/index.htm.

FDO developer’s guideтакже содержит в себе полное описание структур и типов данных FDO API, который может стать отличным руководством для тех, кто хочет разработать ГИС на основе FDO. “FDO developer’s guide” снабжен примерами в виде исходного кода, где подробно разбираются возможности создаваемого Вами ГИС-приложения на основе FDO.

Документация, которую можно найти и скачать на сайте http://fdo.osgeo.org/documentation.html поможет немедленно приступить к разработке специализированных программных продуктов на базе FDO. Следует обратить внимание на следующую документацию:

Примечание: Документация о провайдере данных FDO Providerfor WFS не содержит никаких данных о его архитектуре и API, но его функционал полностью доступен, и может быть использован посредством FDO API.

Обзор провайдеров данных

В этом разделе дано краткое описание файловых провайдеров данных и провайдеров данных  на основе реляционных баз данных. Здесь все провайдеры данных названы полными именами, однако в данной статье могут быть использованы и их краткие названия. Провайдеры данных от Autodesk поставляются только вместе с соответствующими программными продуктами, а остальные провайдеры данных доступны согласно спецификациям Open Geospatial Consortium (OGC).

Наименование провайдера

Описание провайдера

OSGeo FDO Provider for ArcSDE Обеспечивает доступ к базам географических данных ESRI ArcSDE в режиме чтения и записи (ESRI ArcSDE в свою очередь базируется на СУБД Oracle или Microsoft SQL Server). Поддерживает импорт и экспорт схем базы данных, добавление, выбор, изменение и удаление записей в схеме базы данных, но не поддерживает создания или удаления схем.
OSGeo FDO Provider for MySQL Обеспечивает доступ к базам данных MySQL Server в режиме чтения и записи. Поддерживает пространственные типы данных и запросы. Достаточно содержательный API позволяет не только получать информацию, но и обрабатывать ошибки, создавать новые соединения и получать список всех хранилищ данных. Архитектура MySQL поддерживает разнообразные хранилища данных на его основе.
OSGeo FDO Provider for ODBC Обеспечивает доступ к базам данных ODBC в режиме чтения записи. К сожалению, поддерживает исключительно объекты свойственные точкам с координатами X, Y и Z (источники данных на основе Microsoft Access, тут остаются «не у дел», если они хранят пространственную информацию так же, как, например, Oracle или Microsoft SQL Server). Не поддерживает создания или удаления схем. Обычно используется для непосредственного задания положения объекта в пространстве.
OSGeo FDO Provider for SDF Обеспечивает доступ к хранилищу данных на основе SDF в режиме чтения и записи. Специальный формат SDF, который был разработан Autodesk, поддерживает объекты со сложной геометрией, и обладает высокой производительностью при больших объемах данных, полностью совместим с другими продуктами Autodesk, использующими данный формат. Поддерживает «пространственное индексирование» и полностью может заменить обычное хранилище географических данных. Последняя версия FDO поддерживает только формат версии 3.0 и выше.
OSGeo FDO Provider for SHP Обеспечивает доступ к пространственным и атрибутивным данным на основе ESRI Shape в режиме чтения и записи, которые делятся на три основных файла для геометрии, индексирования и атрибутивных данных. Каждый файл SHP и ассоциированный с нимфайл DBF – это класс пространственных объектов. Может заменить обычное хранилище данных, но не поддерживает многопользовательское редактирование.
OSGeo FDO Provider for WFS Обеспечивает доступ к пространственным и атрибутивным данным на основе WFS в режиме чтения.Web File Service поддерживает клиент-серверное подключение с одним или несколькими серверами данных, предоставляющих пространственную информацию в формате Geographic Markup Language (GML). Связь с серверами данных WFS, хранится в формате XML, за исключением геометрической информации, которая хранится в формате GML. В данный момент документация о провайдере данных FDO Provider for WFS не содержит никаких данных о его архитектуре и API, но его функционал полностью доступен, и может быть использован посредством FDO API.
OSGeo FDO Provider for WMS Обеспечивает доступ к пространственным и атрибутивным данным на основе WMS в режиме чтения. Web Mapping Service предоставляет картографическую информацию в соответствующей координатной системе в форматах PNG, GIF и JPEG, а также помимо растровых форматов еще и в векторных Scalable Vector Graphics (SVG) или Web Computer Graphics Metafile (Web CGM).
Autodesk FDO Provider for Oracle Обеспечивает доступ к базам данных Oracle в режиме чтения и записи. Поддерживает пространственное индексирование, продолжительные транзакции и блокировки данных. Достаточно содержательный API позволяет не только получать информацию, но и обрабатывать ошибки, создавать новые соединения и получать список всех хранилищ данных.
Autodesk FDO Provider for Raster Обеспечивает доступ к пространственным данным в растровых форматах в режиме чтения. Поддерживает разнообразные файловые форматы, которые часто используются в ГИС: JPEG, PNG, MrSID и другие. Также поддерживает ориентированные в координатной системе растровые изображения, например, такие как GeoTIFF, GRID, Coverages, а также космические снимки.
Autodesk FDO Provider for SQL Server Обеспечивает доступ к базам данных Microsoft SQL Server в режиме чтения и записи. Поддерживает создание, изменение и удаление схем, а также пространственные и непространственные типы данных.

Системные требования FDO API

Операционная система и провайдеры данных, основанные на RDBMS

Требования к операционной системе и провайдерам данных, основанных на технологии RDBMS, описаны в документации для провайдеров данных и соответствуют версиям Open Source и Enterprise.

Среда для разработки приложений на основе FDO

FDOAPI написан на языке Microsoft Visual C++.NET, поэтому все примеры использования объектов классов в этой статье также будут приводиться на языке С++. Однако в статье будут описаны примеры на эквивалентных языках программирования, например на Microsoft Visual C#.NET или Microsoft Visual Basic.NET.

Microsoft Windows XP Service Pack 2

Наибольшая часть исходного кода FDO API требует установленной среды программирования Microsoft Visual Studio 2005 (Express, Standard или Professional редакций).

RedHat Enterprise Linux 3

Среда программирования основана на GNU.

Начало работы с FDO

Установка FDO

OpenSource

Установка FDO Open Source Edition достаточно хорошо описана в Building FDO Open Source. В данном документе содержится инструкция по сборке библиотек FDO и их последующей установке

Enterprise

FDO Enterprise Edition устанавливается в виде компонентов для таких программных продуктов, как AutoCAD Map 3D, AutoCAD Civil 3D, Autodesk MapGuide Enterprise и Autodesk Topobase. Исходный код FDO API доступен на языках Microsoft Visual C++.NET и Microsoft Visual C#.NET в контексте программного продукта AutoCAD Map 3D 2009, а Autodesk MapGuide Enterprise 2009 Server дополнен исходным кодом FDO API на языке Microsoft Visual C#.NET.

Доступ к документации

Документация FDO API специально создана на базе doxygen, таким образом, чтобы поддерживались ссылки на заголовки других документов или заголовки для исходного кода. Doxygen формирует документацию на базе html, благодаря этому сохраняется общая структура документа и ссылки на их заголовки (можно дать ссылку на статью про doxygen на гислаб)

В случае обращения к документации FDO API, укажите вкладку с надписью «Classes» с правой стороны и из открытого списка выберите класс, описание которого интересует. Документация расположена в каталоге установки FDO <install directory>\Dosc\HTML\FDO_API.

Создание соединения и доступа к пространственным данным

Создание соединения выполняется следующим образом:

  1. Создайте или выберите из реестра провайдер данных.
  2. Создайте менеджер соединений.
  3. Создайте соединение.
  4. Определите тип источника данных.
  5. Получите список файлов источника данных.
  6. Получите состояние соединения.
  7. Получите свойства соединения.
  8. Получите значения свойств соединения.
  9. Установите свойства соединения.
  10. Откройте соединение.
  11. Откройте продолжительное соединение.
  12. Получите список файлов источника данных, если они существуют.

Создание в реестре провайдера данных

Метод GetProviders класса FdoProviderRegistry возвращает содержимое файла providers.xml, который расположен в папке <install>\bin для Windows, или в директории /usr/local/fdo-<version>/lib для Linux, что, по своей сути, является реестром провайдеров данных.

Когда создается соединение, можно использовать одно из имен провайдеров данных, возвращенных данным методом в виде массива строк.

Создание менеджера соединений

Менеджер соединений создает новые соединения.

Метод GetConnectionManager класса FdoFeatureAccessManager управляет созданными или уже имеющимися соединениями.

Создание соединения

Метод CreateConnection класса FdoConnectionManager создает новое соединение.

Определение типа источника данных

Источник данных может быть представлен в виде файлов, баз данных или ресурса на веб-сайте. Провайдеры могут определять тип соответствующего источника данных, для которого в данный момент создано соединение. Например, провайдеры для SDF, SHP или растровых источников данных,  могут иметь только один тип «File». Провайдеры для Oracle, MySQL, ArcSDE или SQL Server создают соединения с базами данных, и потому имеют только один тип «Database Server». Провайдеры для WFS и WMS создают соединения с ресурсами на веб-сайтах, и потому имеют только один тип «Web Server». Провайдеры для ODBC могут создавать соединения как с файлами, так и с базами данных и потому определены типом «Unknown».

Вы можете определить тип источника данных, после того как создали соединение с ним, при помощи метода GetProviderDatastoreType, который определен в классе FdoIConnectionInfo.

Получение списка файлов источника данных

Если открыто соединение с источником данных, тип которого определен как «File», Вы можете получить список файлов, которые содержатся данным источником. Для соединения с источником данных через провайдер SDF, список будет представлен только *.sdf файлами. Для соединения с источником данных через провайдер SHP, список будет представлен файлами *.shp, а также дополнительными файлами *.shx, *.dbf, *.prj. Провайдер SHP может создавать соединение и с папками, содержащими файлы *.shp, *.shx, *dbf и *.prj. Для соединения с источником данных через растровый провайдер, список будет представлен файлами растровых форматов, например *.jpg, и соответствующими файлами *.jgw и *.xml.

Метод GetDependentFileNames класса FdoIConnectionInfo возвращает массив строк в виде имен файлов источника данных.

Получение свойств соединения

Первое, что можно сделать, это получить информацию о соединении при помощи метода GetConnectionInfo класса FdoIConnection.

Затем можно получить свойства соединения при помощи метода GetConnectionProperties класса FdoIConnectionInfo, этот метод возвращает упорядоченный массив значений свойств соединения.

Упорядоченный массив свойств соединения представлен классом FdoIPropertyDictionary. Все методы этого класса обеспечивают получение значений свойств соединения по имени свойства, а также значений по умолчанию или определенных перечислением значений.

Получение значений свойств соединения

Свойства соединения могут быть представлены определенными значениями:

  1. user names
  2. passwords
  3. file path names
  4. URLs
  5. symbolic host names
  6. service identifiers
  7. data store names

Каждый провайдер данных снабжен уникальным списком наименований свойств. Более подробную информацию о наименовании свойств смотрите в документации “FDO developer’s guide”.

Установка значений свойств соединения

Установка значений свойств соединения осуществляется при помощи методов класса FdoIPropertyDictionary.

Откройте соединение

Открытие соединения осуществляется при помощи метода Open для класса FdoIConnection. Прежде чем обращаться к методам соединения, убедитесь, что соединение открыто при помощи метода GetConnectionState.

Откройте продолжительное соединение

Каждый провайдер данных, основанный на технологии RDBMS, в настройках соединения имеет свойство, определяющее имя источника данных. При создании соединения имя источника данных можно не указывать, и тогда соединение можно называть «продолжительным». Во время инициализации соединения необходимо указать имя источника данных, хотя смысл продолжительных соединений в том, что они могут быть установлены для различных источников данных с различными именами. Необходимо только изменить значение соответствующего свойства в настройках соединения.

Если создается продолжительное соединение с источником данных, используя провайдер данных ArcSDE, то можно убедиться в том, что возвращаемый специальным методом список имен источников данных всегда содержит только одно наименование.

Получите список файлов источника данных, если они существуют

Список файлов источника данных можно получить и после соединения с ним. Соответствующий метод определит список имен файлов, если провайдер данных имеет соответствующий тип.

Особенности при использовании некоторых провайдеров данных

ArcSDE Provider

Этот тип провайдера пространственных данных может быть использован для подключения к источнику данных на основе ArcSDE, который, в свою очередь, создает соединение с базами данных типа Oracle или Microsoft SQL Server.

После подключения необходимо получить информацию о количестве и содержанию схем пространственных данных, после чего можно смело использовать стандартные команды INSERT, DELETE, UPDATE и SELECT.

MySQL Provider

Здесь необходимо указать информацию, определяющую наименование источника данных и имя пользователя, создающего подключение к базе данных, затем создать схему пространственных данных, после чего можно использовать стандартные команды.

SDF, SHP и ODBC Provider

Здесь необходимо создать схему пространственных данных, после чего можно использовать стандартные команды.

WFS и WMS Provider

Здесь необходимо получить информацию о содержании схем пространственных данных, после чего можно использовать стандартные команды.

Совместимость методов провайдеров данных

Можно также определить совместимость методов провайдеров данных, чтобы получить представление о возможности выполнения некоторых методов, поддерживаемых этим провайдером.

Параметры совместимости можно получить посредством использования объекта соединения, причем не имеет значение открыто или закрыто в данный момент соединение. Эти параметры указывают значения, определяющие совместимость некоторых методов провайдера данных, который использует данное соединение. Например: параметры совместимости для Oracle или Microsoft SQL Server указывают на то, что провайдер данных использующий соединение с этими источниками, поддерживает команду UPDATE, но в процессе выполнения этой команды Вы можете получить сообщение об ошибке, связанное с тем, что указанная учетная запись пользователя базы данных не имеет разрешения на изменение данных в указанном источнике.

Используя информацию о совместимости методов провайдеров данных, можно избежать получения сообщения об ошибках, а также возможности использование команд UPDATE, INSERT, DELETE а также других. Для этого используйте перечисленные ниже методы FdoICommandCapabilities, FdoIConnectionCapabilities, FdoIExpressionCapabilities, FdoIFilterCapabilities, FdoIRasterCapabilities, FdoISchemaCapabilities, FdoITopologyCapabilities класса FdoIConnection.

Особенности при использовании реестра учетных записей

Реестр учетных записей или пользователей очень часто используется в реляционных базах данных. API провайдеров данных включают в себя методы для создания, изменения или удаления учетных записей из реестра таких баз данных как Oracle, MySQL Server или Microsoft SQL Server. Можно также определять разрешения для созданных или уже имеющихся в реестре базы данных учетных записей. Однако для этого необходимо создать продолжительное соединение, где учетная запись должна иметь все разрешения, присущие администратору. Все методы представлены объектом класса FdoUserManager. Создать объект этого класса можно методом FroUserManager.Create.

Совместимость методов реестра учетных записей

Совместимость методов реестра учетных записей не отражена непосредственно через APIпровайдеров данных. Поэтому информация о совместимости методов реестра учетных записей не может быть предоставлена соответствующим методом FdoIConnection.GetCommandCapabilities. Однако можно использовать свойства FdoUserManager.SupportsDatastoreGrants и FdoUserManager.SupportsWindowsAuthentification, чтобы проконтролировать выполнение методов данного класса. Определение типа провайдера данных неформально указывает на то, можно ли выполнить тот или иной метод данного класса.

Особенности при использовании методов источников данных

Среди всех провайдеров данных только несколько из них могут осуществлять операции создания, уничтожения источников данных а также получения список всех источников данных. К таким можно отнести три провайдера данных на основанных на технологии RDBMS: Oracle, MySQL Server, а также Microsoft SQL Server, и один провайдер данных, основанный на файловой технологии SDF(Spatial Data File). Используйте метод FdoICommandCapabilities, чтобы определить возможность оперирования методами провайдеров данных.

Oracle, MySQL Server и Microsoft SQL Server

Выполните следующую последовательность действий, чтобы создать или уничтожить источник данных:

  1. Создайте продолжительное соединение к источнику данных под учетной записью администратора.
  2. Создайте источник данных посредством выполнения метода FdoICreateDataStore, или уничтожьте его выполнением FdoIDestroyDataStore.
  3. Определите свойства соединения.
  4. Определите список наименований свойств соединения, прежде чем устанавливать определенные значения перечисленным свойствам.
  5. Синхронизируйте объект соединения методом Execute.
  6. Чтобы проверить результат действий выполните метод FdoIListDataStores текущего объекта класса соединения. Выполните метод Execute, и теперь можно получить список всех источников данных текущего соединения в соответствующем значении списка свойств соединения. Этот список включает все доступные источники данных по умолчанию. При использовании метода FdoICreateDataStore по умолчанию можно не указывать список источников данных, чтобы не создавать их.

SDF

Выполните следующую последовательность действий, чтобы создать или уничтожить источник данных:

  1. Создайте источник данных посредством выполнения метода FdoICreateDataStore, чтобы создать источник данных SDF, или уничтожьте его выполнением FdoIDestroyDataStore. Выполнение этих методов доступно даже при закрытом соединении.
  2. Чтобы проверить результат действий проверьте список файлов в каталоге, что был указан в соединении. Так как провайдер данных SDF не поддерживает метод FdoIListDataStores.

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

Пространственное содержание (spatial context) определяется свойством, которое необходимо при создании соединения с источником данных, а затем упрощает работу с геометрическими данными. Следующие методы непосредственно определены в объектах класса соединения: FdoIActivateSpatialContext, FdoICreateSpatialContext, FdoIDestroySpatialContext, FdoIGetSpatialContexts и оперируют объектами пространственного содержания. Соединение с источником данных должно быть открыто в момент выполнения данных методов. Все указанные провайдеры данных поддерживают метод FdoIGetSpatialContexts. Перечисленные провайдеры данных ArcSDE, Oracle, MySQL Server и Microsoft SQL Server поддерживают методы FdoICreateSpatialContext и FdoIDestroySpatialContext. А вот провайдер данных SDF поддерживает метод FdoICreateSpatialContext, но не поддерживает метод FdoIDestroySpatialContext.

Установка и конфигурация провайдеров данных FDO

Установка FDO Provider for ArcSDE

Установка и конфигурация ArcSDE Client Software для Windows

Полная функциональность провайдера данных для ArcSDE может быть обеспечена при условии, что необходимые компоненты ArcSDE 9.3 SDK уже установлены и готовы к работе. Если же они отсутствуют, то необходимо сначала их приобрести. Подробную информацию по приобретению компонентов ArcSDE 9.3 SDK можно найти на сайте http://www.esri.com/software/arcgis/arcgisengine/how_to_buy.html. После приобретения компонентов следуйте инструкциям по их установке. После установки убедитесь, что соответствующие библиотеки присутствуют в каталоге установки ArcSDE 9.3 SDK:

  1. pe93.dll
  2. sde93.dll
  3. sg93.dll

Перед тем, как конфигурация компонентов ArcSDE 9.3 SDK завершена, необходимо установить ArcSDE Server, к которому будет обращаться ArcSDE Client. Проверено, что ArcSDE Server и ArcSDE Client не обязательно должны иметь одну и ту же версию. Например, версии 9.0 и 9.1 совместимы между собой, также как и версии 9.0 и 9.3.

Несмотря на то, что соединение ArcSDE Client напрямую создает соединения с Oracle или Microsoft SQL Server, FDO Provider for ArcSDE не гарантирует прямого соединения с Oracle или Microsoft SQL Server, минуя ArcSDE Server.

ArcSDE Server обеспечивает соединение только с источниками данных, которые основаны на технологии RDBMS, поэтому может создавать прямые соединения с Oracle и Microsoft SQL Server, например ArcSDE Server for Oracle может создавать и поддерживать соединения с источниками данных Oracle, а ArcSDE Server for SQL Server поддерживает соединения с Microsoft SQL Server. Необходимо учесть, что при установке ArcSDE Server, нужно настроить параметры порта приема и передачи данных, которые необходимо указывать при создании соединения с источником данных. ArcSDE Server использует эти настройки, чтобы определить количество портов для приема и передачи сообщений, а также установки определенного протокола для опроса серверов данных. FDO Provider for ArcSDE API построен таким образом, чтобы параметры порта для приема и передачи данных, можно было указывать непосредственно в строке соединения.

Также необходимо создать определенную группу пользователей для каждой базы данных, к которой будут создаваться соединения, использующие учетные записи этой группы пользователей. Для этого необходимо создать соединение с базой данных, используя учетную запись администратора, что имеет право создавать или удалять группу пользователей.

Установка и конфигурация ArcSDE Client Software для Linux

Полная функциональность провайдера данных для ArcSDE может быть обеспечена при условии, что необходимые компоненты ArcSDE 9.3 SDK уже установлены и готовы к работе. Если же они отсутствуют, то необходимо сначала их приобрести. Подробную информацию по приобретению компонентов ArcSDE 9.3 SDK можно найти на сайте http://www.esri.com/software/arcgis/arcgisengine/how_to_buy.html. После приобретения компонентов следуйте инструкциям по их установке. После установки убедитесь, что соответствующие библиотеки присутствуют в каталоге установки ArcSDE 9.3 SDK и зарегистрированы в реестре LD_LIBRARY_PATH:

  1. libpe93.so
  2. libsde93.so
  3. libsg93.so

Конфигурация установленных компонентов в целом такая же, как и для Windows, за исключением того, что установка библиотек производится в каталог для служб и сервисов.

Установка FDO Provider for MySQL Server

Полная функциональность провайдера данных будет обеспечена при установленном программном обеспечении MySQL Server Database 5.0, если у вас не установлен ни один из компонентов, то рекомендуется найти и скачать их на сайте http://dev.mysql.com/downloads/mysql/5.0.html, затем необходимо выполнить установку в стандартный каталог С:\Program Files\MySQL\MySQLServer 5.0.

После установки MySQL Server Database необходимо выполнить его конфигурацию вручную. Во время установки многие параметры принимают значения по умолчанию, достаточно нажимать кнопку «Далее» во время установки. Если возникнет необходимость изменить конфигурации компонентов, то необходимо запустить MySQL Server Instance Configuration Wizard.

Конфигурация компонентов MySQL Server Database предлагает множество параметров по умолчанию. Но изменять необходимо только те параметры конфигурации, которые не перечисляются ниже, так как эти параметры MySQL Server может настроить самостоятельно:

Детальная конфигурация.

    • Установка многофункциональная база данных.
    • Конфигурация InnoDB Tablespace Settings.
    • Установка DSS или OLAPA.
    • Установка TCP/IP протоколов связи (используя порт 3306).
    • Установка Strict Mode.
    • Установка UTF-8 Encoding в качестве стандартного декодирования данных.
    • Установка наименования сервиса для Windows (например, Service Name = MySQL)
    • Конфигурация SecuritySettings для изменения параметров безопасности базы данных.

После установки необходимо убедиться, что в каталоге, куда был установлен MySQL Server Database, присутствует каталог \bin. Каталог должен в себе содержать файл libmysql'.'dll, что, по сути, является провайдером данных для MySQLServer.

Конфигурация компонентов MySQL Server Database сохраняется в файле, который должен быть расположен в C:\Program Files\MySQL\MySQLServer 5.0\my.ini. Этот файл будет использован сервисами MySQL Server во время запуска.

Установка и конфигурация MySQL Client Software для Linux

Полная функциональность провайдера данных будет обеспечена при установленном программном обеспечении MySQL Server Database 5.0, если у вас не установлен ни один из компонентов, то рекомендуется найти и скачать его на сайте http://dev.mysql.com/downloads/mysql/5.0.html в формате архивного файла (zipped tarfile). Затем следуйте инструкциям по установке, расположенным на этом же сайте http://dev.mysql.com/doc/refman/5.0/en/index.html. Затем выберите пункт 2. Installing and Upgrading MySQL, в предложенном списке выберите пункт 2.8. Installing MySQL on Other Unix-Like Systems.

Конфигурация компонентов провайдера данных заключается в непосредственной настройке всех сервисов MySQL Server Database, а также установки паролей для двух созданных учетных записей по умолчанию.

Настройка сервисов MySQL Server Database описана в документации на сайте http://dev.mysql.com/doc/refman/5.0/en/index.html, в разделе 2. Выберите пункт 2. Installing and Upgrading MySQL, в предложенном списке выберите пункт 2.10.2 Unix Post-Installation Procedures. Затем перейдите в конец статьи «…If you install MySQL from a source distribution, or using a binary distribution format, that does not install MySQL Server automatically, you can install it manually», и найдите строку shell> chkconfig –-add mysql.

Настройка учетных записей описана в том же разделе 2. Выберите пункт 2. Installing and Upgrading MySQL, а затем предложенном списке выберите пункт 2.10.3 Securing the Initial MySQL Accounts. Следуйте указаниям, описанным в данном разделе для установки паролей для двух созданных по умолчанию учетных записей.

Установка FDO Provider for ODBC

Сначала необходимо установить UnixODBC Driver Manager, а затем установить и настроить компоненты ODBC. По умолчанию поддерживается только провайдер для EasySoft ODBC Oracle.

Установка и конфигурация ODBC для Linux

Установите UnixODBC Driver Manager, который можно найти и скачать на сайте http://www.unixODBC.org. Для примера:

Скачиваем архивный файл unixODBC'-2.2.11.'tar'.'gz, а затем распаковываем его в каталог \'unixODBC'-2.2.11\, и, наконец, в каталоге \'unixODBC'-2.2.11\ выполняем следующую последовательность команд:

./configure –-prefix=/usr/local/unixODBC
make
make install <текущий каталог>

В данной статье были рассмотрены только основные принципы установки и работы с FDO. Следующие статьи будут посвящены примерам использования FDO для решения разнообразных задач и создания прикладных программ для ГИС, куда также будет включен и исходный код на Microsoft C#.NET и Microsoft Visual Basic.NET.

E-mail: thinkingaboutgis@yahoo.com