GIS-Lab: Руководство пользователя gvSIG - Глава 11

- English

# GIS-LAB

Географические информационные системы и дистанционное зондирование

- Статьи
  - Вопросы-ответы
  - ГИС
  - Обработка ДЗЗ
  - Предложить тему
- Документация
  - Документация
  - Журналы
  - Законодательство
- Программы
- Проекты
- О GIS-Lab
  - О сайте
  - Участие
  - Новости
  - Кнопки
  - Диск

- Форум
- Блог

- Главная
- Документация
- gvSIG

# Руководство пользователя gvSIG

# 11. Расширение geoDB (менеджер баз данных)

<<< предыдущая глава | оглавление | следующая глава >>>

Это расширение обеспечивает простой, стандартизованный доступ к различным пространственным базам данных. На данный момент gvSIG поддерживает следующие СУБД:

- PostgreSQL (PostGIS)
- MySQL
- HSQLDB
- Oracle Spatial (SDO Geometry)

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

Рассматриваемое расширение имеет два интерфейса: один для управления источниками данных, а второй для добавления слоя к View.

## 11.1 Менеджер связи с пространственной базой данных

Для того, чтобы открыть окно в котором можно добавлять, удалять, подключать и отключать всевозможные базы данных, содержащие географическую информацию, выберите меню Show – Geographic DB connection manager. Если вы уже пользовались этим менеджером в предыдущей сессии, то вы увидите созданные ранее подключения. Если нет, то диалоговое окно будет пустым.

##

Щелкните на кнопку Add для того чтобы начать ввод параметров нового подключения.

Примечание: Начиная с версии gvSIG 1.1, имя базы данных чувствительно к регистру. Если нужно открыть проект, сохраненный в любой из версий, предшествующей 1.1, и содержащий подключения не удовлетворяющие этому требования, то необходимо произвести повторное подключение к базе данных, корректно указав ее имя.

Можно подключиться к базе данных прямо в этом окне или сделать это позже. Активное подключение обозначается именем базы данных и знаком “[C]” перед ним. Если вы хотите активировать подключение, то выберите и нажмите кнопку Connect. Введите пароль к базе данных, после чего выбранное подключение будет активировано.

## 11.2 Добавление слоя geoDB к View

В окне Project Manager, создайте новый view и откройте его, используя кнопки New и Open. Воспользуйтесь иконкой Add layer для добавления слоя. Перейдите на вкладку GeoDB диалогового окна для добавления нового слоя соответствующего типа.

На этой вкладке нужно выбрать подключение (в случае, если выбрано неактивное подключение, то потребуется ввести пароль к базе данных) и одну или несколько таблиц, содержащих геоданные и атрибутивную информацию. Здесь же можно задать каждому слою собственное имя, отличное от имени таблицы. Для добавления выбранных данных в view щелкните кнопку Ok.

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

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

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

## 11.3 Экспорт слоя gvSIG в пространственную базу данных

Эта функция позволяет создавать новые таблицы в пространственной базе данных из векторных источников в gvSIG. Процесс создания выглядит следующим образом:

1. Создайте векторный слой любого типа, например откройте SHP файл, используя кнопку Add layer.

2. Выберите слой щелчком мыши на его имени, расположенном в левой стороне экрана.

3. В меню Layer – Export to укажите тип базы данных в которую вы хотите экспортировать выбранный слой. В примере показан экспорт в базу данных Oracle.

4. Введите имя таблицы, в которую вы экспортируете слой, при этом новая таблица с указанным именем будет создана в базе данных (Oracle). Также нужно указать, хотите ли вы включать или нет создаваемый слой в текущий View.

Если все пройдет успешно, то новый векторный geoDB слой появится в view и вы сможете работать с ним обычным способом.

## 11.4 Oracle Spatial

Этот раздел посвящен информации о драйвере для Oracle Spatial.

Этот драйвер позволяет получить доступ к любой таблице Oracle Spatial или Oracle Locator (в обоих случаях, начиная с версии 9i и выше), содержащей поле типа SDO.

### 11.4.1 Метаданные

Драйвер работает только с теми таблицами, данные о которых внесены в представление USER_SDO_GEOM_METADATA.

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

### 11.4.2 Типы данных

Поддерживаются двух и трехмерные данные следующих типов:

- Точка и мультиточка
- Линия и мультилиния
- Полигон и мультиполигон
- Коллекция

На данный момент слои в формате LRS (Linear Referencing System) не поддерживаются.

### 11.4.3 Системы координат в Oracle

У Oracle существует собственная система для хранения систем координат. Miguel Ángel Manso по поручению Политехнического Университета Мадрида составил список соответствия этой системы системе EPSG и этот список был включен в состав драйвера в качестве файла DBF.

Преобразования из одной системы координат в другую, осуществляется средствами gvSIG, так как их производительность в этих операциях оказывается выше.

### 11.4.4 Замечания по чтению геометрических данных

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

Кроме того, драйвер должен установить уникальный идентификатор для записей таблицы или представления, и это оказывается невозможным в ряде случаев. При возникновении такой проблемы она будет обнаружена драйвером, который выдаст сообщение об ошибке. В результате такое представление не сможет быть загружено в gvSIG.

### 11.4.5 Передача слоя из gvSIG в Oracle

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

Чтобы выполнять действия над двумя геометрическими объектами Oracle (наиболее частый случай – пересечение), эти два объекта должны иметь одинаковую систему координат. Каждый геометрический объект имеет поле SRID, которое может содержать значение NULL.

Например, у нас есть две таблицы, данные в которых хранятся в системах координат EPSG:4326 (код Oracle - 8307) и EPSG:4230 (код Oracle - 8223), в этом случае невозможно выполнить SQL запрос для выполнения вычислений применительно к геометрическим объектам обеих таблиц. Однако, если геометрические объекты этих таблиц не имеют системы координат (то есть значение поля SRID равно NULL), то в таком случае необходимые операции над объектами этих таблиц могут быть выполнены, принимая во внимание ошибки, связанные с пересечением различных системам координат.

При чтении таблицы, геометрические объекты которой не имеют координатной системы (SRID=NULL), подразумевается, что пользователь удостоверится в том, что геометрические объекты соответствуют текущему View, так как никакое перепроецирование невозможно (ситуация может измениться с выходом нового расширения gvSIG для более развитого использования систем координат).

То что системы координат не сохраняются, позволяет более гибко использовать операции над геометрическими объектами.

<<< предыдущая глава | оглавление | следующая глава >>>

Обсудить в форуме (Комментариев - 2)

Последнее обновление: March 23 2009

Наверх

### Вход

логин
пароль

- Регистрация
- Забыли пароль?

### Новое на сайте

Способы отображения данных с помощью OpenLayers

Экспорт данных HDF и HDF-EOS с помощью hdp

Разработка простого расширения для QGIS на Python

Организация и работа с репозиториями расширений QGIS

Автоматическое обновление репозитория расширений QGIS из SVN

Пакетное склеивание shape-файлов в MergeShapes/OGR

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

- Все новости

### Рассылка новостей

### Новое на форуме

- Все темы форума

### Обратная связь

используйте эту форму для отправки комментария, вопроса или сообщения об ошибке для этой страницы

- О нас
- Статьи
- Программы
- Форум (все)
- Документация
- Контакты
- Участие
- English

Если Вы обнаружили на сайте ошибку, выберите фрагмент текста и нажмите Ctrl+Enter

© GIS-Lab и авторы, 2002-2008. При использовании материалов сайта, ссылка на GIS-Lab и авторов обязательна.