Взаимодействие с внешними базами данных

Обработка и анализ

Как уже было сказано, в ГИС обычно встроены не только средства отображения базы данных, а есть также небольшая СУБД — модуль работы с таблицами. Он позволяет создать новую атрибутивную таблицу, заполнить ее (добавляя записи и поля), и, в отдельных системах, привязать ее к карте. К сожалению, операции реструктуризации базы поддерживается далеко не везде. Так, в известном продукте ArcView после того, как база создана, нельзя даже переназначить имена полей - пользователю остается только задать отображаемые вместо истинных имен полей псевдонимы (aliases) или «спрятать» от пользователя отдельные поля в таблице. При этом никаких изменений в самой БД реально не происходит.

Атрибутивные базы данных не только помогают по-разному отобразить объекты с различными свойствами. При выполнении пространственных запросов атрибутика помогает более точно идентифицировать объект — в самом простом случае мы можем указать объект на карте и получить о нем подробную информацию (номер, имя, размер и т.д.) Можно, разумеется, организовывать выбор объектов на карте посредством запросов к атрибутивной таблице, так как мы знаем, что выделение объектов связано с выделением их атрибутивных записей. В любой ГИС можно организовать запрос к атрибутике. Предпочтение отдается двум формам: языку запросов наподобие SQL, или шаблону, совпадающие с которым записи и выделяются. Последний называется QBE.

В наиболее простом случае используются внутренние базы данных — то есть ГИС работает с ними на уровне файлового обмена, и поддерживает только несколько определенных. Это почти всегда dBase, реже Paradox и R:Base. У наиболее популярного в ГИС формата dBase II есть серьезное ограничение в 65 тыс. записей и размер одной записи не более 4 Кб, у других форматов ограничения также реальны. Чтобы избежать проблем при росте БД, можно прибегнуть к помощи внешних баз данных.

Технология обмена с внешними базами данных заключается не в работе с их файлами напрямую, а в обращении к интегратору баз данных. В среде Windows из таких наиболее известный ODBC (Open DataBase Connectivity), другой интегратор — IDAPI производства Borland. Суть состоит в том, чтобы уже интегратор брал на себя проблемы работы или с файлами баз данных, или выполнял свою работу через «большие» СУБД, такие как Oracle, Informix и т. д. Во-первых, «верхняя планка» размерных ограничений таких баз гораздо выше, а во вторых, в руки ГИС дается простое и эффективное средство работы практически с любой БД.

Рис. 2.3. Типичная схема обмена с внешними БД

Поскольку «большие» СУБД применяются в основном тогда, когда обрабатываемая база данных достигает размера в десятки и сотни тысяч записей, становится уже невозможным хранить весь этот объем на локальном диске пользовательского компьютера. Приходится специально выделять высокопроизводительную систему с большим дисковым пространством — сервер баз данных — и хранить атрибутивные таблицы на нем в виде внешних баз данных под управлением Oracle, Informix и им подобных; обмен данными с рабочими местами осуществляется через сеть.