Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПОСОБИЕ_ГИСУЛ_2012.doc
Скачиваний:
41
Добавлен:
18.08.2019
Размер:
6.96 Mб
Скачать

3. Управление данными в гис

3.1 Возможности управления данными в гис

Согласно минимальным функциональным требованиям к ГИС (раздел 1.2), каждое ГИС-приложение должно выполнять три группы операций - управление атрибутивными данными, управление картографическими данными, совместное управление атрибутивными и картографическими данными (пространственный анализ). Полнота реализации указанных трех функций, дополнительные возможности уже будут зависеть от конкретной программы, ее стоимости, комплектации, назначения.

Для задач лесного хозяйства и лесоустройства, как правило, применяются сравнительно недорогие ГИС-приложения с небольшим диапазоном функциональных воможностей. Основные функции ГИС, востребованные для решения отраслевых задач, показаны в табл.

Table 1. Функции ГИС для лесного хозяйства и лесоустройства

Функции ГИС

Операции

Практическое применение

Управление атрибутивными данными

Создание структур баз данных, ввод, хранение, обновление, модификация, поиск информации

Создание, ведение, использование атрибутивных баз данных лесного фонда (в т.ч. проектирование лесохозяйственной деятельности, расчеты использования лесов)

Управление картографическими данными

Создание цифровых картографических основ, трансформация растров, создание векторных слоев, преобразования проекций, систем координат, картографические измерения, визуализация, создание тематических карт

Создание лесных карт

Пространственный анализ

Наложение картографических слоев (оверлей)

Внесение изменений в картографические и атрибутивные базы данных

3.2 Управление атрибутивными данными

Необходимость применения СУБД для лесного хозяйства:

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

Каждое лесничество содержит тысячи выделов, описания каждого выдела содержит десятки характеристик.

  • Операции множественной обработки данных (выборки, расчеты, статистики, присоединение таблиц) необходимы для лесного планирования

  • Требования к СУБД и преимущества хранения информации в базах данных соответствуют требованиям к хранению и обработке данных лесоустройства

Способы хранения данных в бд

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

Существует три способа хранения данных в БД:

1. Простые списки.

2. Упорядоченные файлы последовательного доступа.

3. Индексированные файлы.

Простые списки. Простейшим форматом файла БД является обычный список элементов. Новые элементы просто добавляются к концу списка. В такие файлы удобно добавлять данные, но их извлечение из файлов этого формата крайне неэффективно. Так, поиск в списке из п элементов потребует в среднем (п + 1)/2 операций. Если чтение карточки с информацией занимает 1 с, то поиск в подборке из 200000 карточек займет

(200000+1)/2 с, или 27 ч. Таким образом, очевидна необходимость в более эффективной организации базы данных.

Упорядоченные файлы последовательного доступа. В упорядоченных файлах элементы данных хранятся в алфавитном порядке, как в телефонном справочнике. Традиционно поиск в таких файлах ведется методом декомпозиции. Поиск начинается не с начала, а с записи в середине файла. Если искомое значение не найдено, поисковая программа определяет, в какой половине файла оно должно быть - до или после проверенной записи. Так повторяется до тех пор, пока искомый элемент не будет найден. Часто для поиска в упорядоченных файлах используется дихотомический метод. Такой алгоритм требует операций. Таким образом, в рассмотренном выше примере с 200000 элементами на поиск вместо 27 ч уйдет всего 2 ч.

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

Индексированные файлы. Как упоминалось ранее, отдельные пространственные элементы базы данных (точки, линии и полигоны) характеризуются не только именем и идентификационным номером, но и набором атрибутов. Как правило, при поиске требуется найти объекты, атрибуты которых удовлетворяют определенным критериям. Например, требуется найти все территории с истощенной почвой на склонах с уклоном менее 20%. В большинстве случаев объект связан не с одним, а с несколькими атрибутами. Поэтому эффективный метод поиска должен учитывать наличие между атрибутами перекрестных ссылок.

Существует два способа ускорения доступа к данным в индексированных файлах. Если элементы данных упорядочены в файле по своим значениям, такой файл называется файлом с неплотным индексом (табл. 9.4 а). При другом способе организации записей в основном файле для их поиска используют заданные свойства, сохраненные в другом файле, который называется инвертированным файлом (табл. 9.4, б). Для реализации второго подхода можно создать файл, упорядоченный по значениям свойства. Такой файл называется инвертированным индексом (табл. 9.4, в). Индексированные файлы ускоряют доступ к БД, однако при их использовании могут возникнуть сложности, связанные с частым добавлением и удалением записей. При добавлении записей в файл с неплотным индексом необходимо обновлять и основной файл, и файл индекса. При использовании инвертированного индекса запись в основной файл можно добавить в любую позицию (например, в конец файла), а после этого обновить только файл индекса. Тем не менее, для обновления больших файлов все равно требуется немало ресурсов, особенно в интерактивной среде. Другой недостаток индексированных файлов в том, что в них доступ к данным осуществляется только по ключу, содержащемуся в файле индекса. Альтернативой, при этом, является только последовательный перебор записей.

Система управления базами данных

Система управления базами данных (СУБД) — это программа, предназначенная для управления большими объемами данных. Основное назначение СУБД - позволить пользователям работать с данными, не задумываясь о том, как реализовано их хранение на компьютере. В СУБД должны быть предусмотрены возможности для определения данных, атрибутов и связей, а также средства защиты информации. Кроме того, СУБД должна иметь пользовательский интерфейс для работы с данными и другими программами.

В общем случае СУБД должна обладать следующими функциями:

1. Управление файлами.

2. Добавление, обновление и удаление записей.

3. Анализ данных.

4. Защита конфиденциальности и целостности данных1.

5. Поддержка средств разработки приложений.

Схема использования СУБД показана на рис. 9.17.

Структура БД имеет то же значение для СУБД, что и модель данных

(растровая или векторная) для ГИС. Выделяют три основных типа структур БД, которые, помимо всего прочего, моделируют логические связи реального мира:

1. Структура иерархической БД.

2. Структура сетевой БД.

3. Структура реляционной БД.

Следует также упомянуть объектно-ориентированные базы данных - развивающееся направление в ГИС, в котором активно ведутся исследования. Тем не менее, из всех перечисленных выше структур БД наиболее широко используется реляционная структура.

Иерархические базы данных

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

Принцип построения иерархической базы данных проиллюстрирован на рис. 9.18. Здесь карта М содержит два полигона: I и II. Каждый полигон состоит из линий, а каждая линия содержит пару точек.

Основное преимущество иерархических БД в их простоте и открытости доступа по ключам. Кроме того, такая структура легко расширяется путем добавления атрибутов и новых решающих правил. Эффективность извлечения данных из иерархической БД зависит от того, насколько удачно при ее разработке была учтена структура возможных запросов. Один из самых серьезных недостатков иерархических БД заключается в дублировании данных. Так, на рис. 9.18 видно, что каждая пара точек дублируется, а для линии 3 координаты с и d повторяются четыре раза. Это вызывает сильную избыточность данных в больших БД. Еще одним недостатком иерархических БД является то, доступ к записям возможен лишь в направлении вверх или вниз по уровням иерархии.

Сетевые базы данных

Типичной для баз данных ГИС является ситуация, когда каждый объект может иметь множество атрибутов, а отдельный атрибут может быть связан с несколькими объектами. Чтобы реализовать такую модель, для каждого элемента необходимо определить программную структуру - указатель, который должен ссылаться на все элементы данных, с которыми связан этот элемент (рис. 9.19). Таким образом, все элементы данных оказываются связанными напрямую, без использования связей типа «родитель - потомок». Такая структура данных называется сетевой.

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

Реляционные базы данных

В реляционных базах данных информация хранится в двухмерных таблицах, содержащих записи для одного типа объектов (рис. 9.21). Таблицы связаны общим данными, которые называются ключом. При этом, легко выполнять запросы как к одной таблице, так и к группе таблиц. Например, первая таблица может содержать записи типа landtitle (название участка), а вторая и третья - записи об объектах parcel (участок) и owner (владелец) соответственно. Данные организованы в столбцы и строки, столбцы соответствуют атрибутам объектов. У каждого столбца имеется уникальное имя, данные в каждом столбце должны иметь одинаковый тип. К типам относятся целые числа, даты, телефонные номера и текстовые данные. Порядок столбцов в таблице значения не имеет. В каждой ячейке допускается не более одного значения. Совокупность значений атрибутов в строке называется кортежем. Строки должны быть уникальными. Для неизвестных значений допускается указывать null в ячейках таблицы.

Сетевая структура БД эффективна, если заранее известны связи междуэлементами данных, благодаря чему удается избежать избыточности. Сетевые БД обладают также большими возможностями для настройки параметров поиска по сравнению с иерархическими базами данных. Недостаткомсетевой структуры является большое число указателей в крупных БД, где они могут занимать значительную часть базы данных. Кроме того, при каждом изменении БД необходимо обновлять указатели. Создание и обновление указателей отнимает значительную часть ресурсов СУБД.

Производители реляционных СУБД зачастую используют разные термины для обозначения идентичных функций. Чтобы избежать терминологической путаницы, в табл. 9.5 приведены традиционные термины и их аналоги, принятые в реляционных базах данных. Структура таблиц в реляционных БД позволяет обрабатывать самые разные запросы к данным. Тем не менее, реляционная структура используется в ГИС в основном для организации атрибутивной информации, а не сложных многомерных пространственных данных. В большинстве реляционных СУБД существует возможность обработки запросов с помощью меню и значков. Для этой цели разработан также структурный язык запросов

(Structured Query Language, SQL), отличающийся простой и функцио-

нальной завершенностью.

К недостаткам реляционных баз данных относятся:

1. Невозможность использования географических понятий (например,

пространственных связей и расстояния).

2. Частичная избыточность, невысокая скорость обработки запросов,

сложность в реализации.

3. Трудности при работе со сложными объектами ГИС, ограничен-

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

времени.

Объектно-ориентированные базы данных

Объектно-ориентированный подход к построению баз данных берет свое начало из языков программирования. В настоящее время он в основном применяется для снижения избыточности данных и решения задач последовательного поиска в реляционных БД. В ГИС объектно-ориентированный подход используется для анализа сложных пространственных объектов и устранения проблем с обновлением БД после таких операций, как наложение полигонов.

Объектно-ориентированная структура БД, для разработки которой используются методы языков объектно-ориентированного программирования (ООП), сочетает скорость иерархической с гибкостью реляционной БД благодаря представлению данных в виде аналогов реальных объектов.

В реляционной БД объект определяется ее записями и логическими связями между атрибутами и их значениями. В объектно-ориентированной БД данные определяются уникальными объектами, которые группируются в классы по естественным признакам. Для описания объекта можно использовать его атрибуты (совокупность которых называется состоянием) или набор методов - процедур, определяющих поведение объекта. Эти данные содержатся в объекте, у которого имеется уникальный в пределах БД идентификатор. Для извлечения содержащихся в объекте данных необходимо сформировать запрос (сообщение), вызывающий один из методов объекта. Тип сообщений зависит от того, как определен объект. Отклик объекта на сообщение зависит от его состояния. Одно и то же сообщение вызывает разный отклик не только у разных объектов, но и у одного объекта в разных контекстах. Это свойство называется полиморфизмом.

Данные, используемые в объектно-ориентированных БД, должны быть уникальными объектами. Следовательно, такие БД очень эффективны по сравнению с сетевыми и иерархическими БД при хранении иерархических взаимосвязанных данных. Однако создание такой БД, по-видимому, займет много времени, поскольку придется явно определять множество атрибутов объекта, а также связи между объектами. Но по завершении этой работы получится структура, весьма эффективная в плане обработки запросов, особенно адресованных конкретным объектам.

Выбор оптимальной структуры БД

Очевидно, что с точки зрения географических информационных систем у каждого типа БД есть свои преимущества. Иерархическая структура позволяет без труда делить большие базы данных на части, которыми гораздо проще управлять. В сетевых БД содержится мало избыточных данных и реализованы направленные жесткие связи между объектами, которые существенно ускоряют поиск информации. В объектно-ориентированные БД можно встраивать дополнительные связи и функциональные возможности, однако для этого требуются сложные инструменты программирования, и, к тому же, такие БД более требовательны к вычислительным ресурсам. Реляционные БД отличаются открытостью и широкими возможностями для адаптации, но страдают от чрезмерного размера, избыточности данных и медленного поиска. В силу этих причин все перечисленные структуры зачастую используются совместно.

Иерархический подход часто позволяет разделить пространственные данные на более удобные для картографирования тематические или территориальные категории. Сетевая структура идеальна для хранения топологически связанных векторных линий и полигонов. Реляционный подход эффективен для извлечения объектов с заданными атрибутами и для работы с самими атрибутами. Объектно-ориентированные структуры удобны в тех случаях, когда у объектов есть общие атрибуты либо требуется учесть особый характер взаимодействия объектов.