Меню
Главная
Авторизация/Регистрация
 
Главная arrow География arrow Введение в геоинформационные системы

ПРОЕКТИРОВАНИЕ БАЗ ГЕОДАННЫХ

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

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

  • • обеспечение хранения в БГД всей необходимой информации;
  • • обеспечение возможности получения данных по всем необходимым запросам;
  • • сокращение избыточности и дублирования данных;
  • • обеспечение целостности данных и исключение противоречий в содержании.

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

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

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

В настоящее время наибольшее распространение получили три основные модели баз данных: иерархическая, сетевая и реляционная.

Иерархическая модель содержит данные, образующие древовидную структуру (рис. 33). Каждый последующий элемент базы связан только с одним компонентом, находящимся на более высокой иерархической ступени. Такие модели наиболее целесообразно использовать для решения задач с ярко выраженной соподчиненной (иерархической) структурой. Они эффективны с позиции организации машинной памяти, но трудно модифицируемы и обладают низким быстродействием (Геоинформатика, 2005).

Серия наблюдений

Пример типа дерева

Рис. 33. Пример типа дерева

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

Пример схемы сетевой БД

Рис. 34. Пример схемы сетевой БД

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

Ни одна модель не является лучшей сама по себе. Выбор наиболее пригодной модели определяется типом создаваемой карты и контекстом решаемых задач.

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

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

зооосзсс

Селекция

ЗППГГРР

РЛПГГСР

шссо

| аэсхп

* пплгл

Й 03000 Объединение

о. ?????

???а—ах)в[пр—воап ??сил—шдэсго щгю

Естественное соединение

Разность

рорссо

рррсихг

Пересечение

?ОПСХГРОО

  • ?ОЗОСССРР
  • ???пегроа
  • ?ооосссо
  • 88888888

ппгтпгггп

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

Чаще всего БГД строятся на основе объектно-ориентированного подхода. Необходимо отметить его три отличительные черты: полиморфизм, инкапсуляция и наследование.

Полиморфизм означает, что поведение объектов класса может адаптироваться к вариациям объектов. Например, базовые методы классов пространственных объектов, такие как «нарисовать», «удалить», «добавить», будут одинаковыми вне зависимости от того, где находятся пространственные объекты — в БГД, покрытии или шейпе.

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

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

В соответствии с вышеуказанным следует определить преимущества БГД:

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

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

выполнение всех аналитических процедур через СУБД, через которую осуществляется доступ ко всем данным;

выполнение части процедур через СУБД, доступ к которой осуществляется напрямую, так как они не удовлетворяют требованиям модели.

Основные функции СУБД заключаются в следующем:

  • • управление данными во внешней памяти;
  • • управление данными в оперативной памяти;
  • • транзакции (группа последовательных операций, которая представляет собой логическую единицу работы с данными, включая журнализацию изменений);
  • • поддержка языков базы данных (языки определения и манипулирования данными).

База геоданных может быть как локальной, так и серверной. Современные ГИС имеют специальные приложения, позволяющие создавать, изменять и настраивать БГД. Например, модуль АгсСа1а1о§ в АгсШБ. Поэтому пользователям не обязательно знать все тонкости организации и хранения данных в базе.

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

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

а

ДОРОГИ

ИСПОЛЬЗОВАНИЕ

ЗЕМЕЛЬ

ГРАНИЦЫ

ГИДРОГРАФИЯ

РЕЛЬЕФ

ОСНОВА

Рис. 36. Различные слои в базе геоданных

Легенда

© Белуха

9 Гренландский тюлень © Малый полосатик @ Морж

© Морская свинья @ Морской заяц ® Нерпа

Грид

Range

о

1-5 6-10

Рис. 37. Пример легенды карты

ность создания широкого диапазона легенд карт, различных вставок и отчетов (рис. 37).

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

Вопросы для самоконтроля

  • 1. Что такое база геоданных и в чем ее принципиальное отличие от базы данных?
  • 2. Какие задачи решаются в процессе проектирования?
  • 3. В чем особенность каждого из уровней проектирования БГД?
  • 4. На основе каких моделей могут быть спроектированы БГД?
  • 5. Что такое СУБД и какую роль она играет в ГИС?
  • 6. Какие типы пространственных данных могут быть представлены в БГД?

ПРАКТИЧЕСКАЯ РАБОТА № 7 Работа с таблицами

Основные сведения о таблицах

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

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

Основные свойства таблицы:

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

Каждая строка (запись) представляет географический объект, например земельный участок, электрический столб, шоссе или озеро, а каждый столбец (поле) описывает специфическую характеристику объекта, такую как длина, глубина, стоимость и др. Таблицы хранятся в базах данных, например: INFO™, Microsoft® Access, dBASE®, FoxPro®, Oracle®, SQL Server™.

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

Связь между таблицами определяет отношение подчиненности, при котором одна таблица является главной (родительской, или мастером — Master), а вторая — подчиненной (дочерней, Detail). Существуют следующие виды связи:

  • • отношение «один-к-одному»;
  • • отношение «один-ко-многим»;
  • • отношение «много-к-одному»;
  • • отношение «много-ко-многим».

Отношение типа «один-к-одному» означает, что одной записи в главной таблице соответствует одна запись в подчиненной. При этом возможны два варианта:

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

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

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

Отношение «много-к-одному» отличается от предыдущего варианта только направлением: нескольким записям в главной таблице соответствует одна в подчиненной.

Отношение «много-ко-многим» имеет место, когда одной записи главной таблицы может соответствовать несколько записей подчиненной таблицы и одновременно одной записи подчиненной таблицы — несколько записей в главной. Хотя в этом случае понятия «главной» и «подчиненной» таблиц не имеют смысла.

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

Файловые таблицы хранятся в папках на диске. Вот некоторые примеры файловых источников табличной информации:

  • • dBASE, формат, использующийся с шейп-файлами;
  • • INFO, формат, использующийся с покрытиями;
  • • текстовые файлы, создаваемые в текстовых редакторах, с разделителями в виде запятых или знаков табуляции;
  • • многие другие виды таблиц, включая таблицы, создаваемые в других программах, таких как Microsoft Excel, поддерживаемые в ArcGIS напрямую либо через OLE DB.

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

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

  • числовой — для данных числового типа:
    • — короткое целое (Short integer);
    • — длинное целое (Long integer);
    • — числа с плавающей запятой одинарной точности, часто называются «плавающая точка» (floats);
    • — числа с плавающей запятой двойной точности, часто называются «числа с двойной точностью» (doubles);
  • текстовый — буквенно-цифровые символы;
  • дата — данные даты и времени;
  • • BLOB — большие двоичные объекты, использующиеся для хранения и обработки бинарной информации, такой как символы и геометрия САПР (CAD);
  • глобальные идентификаторы — данные уникальных глобальных идентификаторов, globallD и GUID, содержащие регистры, которые однозначно идентифицируют запись таблицы во всей базе геоданных или даже среди нескольких баз.

Существует множество задач по картированию и анализу данных, а также по их управлению, которые можно решать с помощью использования табличных данных. Вот самые распространенные из них:

  • • использование значений атрибутов из таблиц для отображения данных по категориям, цветовыми шкалами или при помощи диаграмм (см. главу 1.2).Иными словами, классификация данных по различным признакам для установления символики слоя;
  • • использование значений атрибутов для надписывания объектов на карте;
  • • выполнение пространственного анализа и пространственных запросов.

Основные действия стаблицами в ArcGIS

Ниже описаны основные действия, наиболее часто выполняемые над таблицами в ArcCatalog и АгсМар.

1. Создание таблиц

Обычные атрибутивные таблицы создаются автоматически при создании shape-файла, с каждым новым объектом добавляется одна

строка, включающая три столбца, создаваемых ArcGIS автоматически: FID (в него записывается номер объекта), Shape* (тип графического примитива, используемый в данном слое: точка, линия или полигон), 1D (поле идентификации). Из этих полей только последнее не является обязательным и может быть удалено пользователем.

Однако в некоторых случаях возникает необходимость в создании дополнительных таблиц средствами ArcGIS. Ниже рассмотрено создание таблиц формата dBase.

Для создания новой таблицы в ArcCatalog необходимо выполнить действие «Новый —> таблица dBase» меню «Файл» или контекстного меню папки в дереве каталога, в которой будет находиться создаваемая таблица. После этого остается только задать таблице нужное имя.

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

Добавлять и удалять поля можно как через АгсМар, так и через ArcCatalog. Ниже рассмотрен пример добавления и удаления полей через АгсМар, хотя в целом операции идентичны.

Для того чтобы изменение количества полей было доступно, не должно производиться редактирования данной директории, т. е. не должен быть начат сеанс редактирования (Редактор —> Завершить редактирование).

Ниже описана последовательность действий, которые необходимо выполнить для добавления новых полей:

  • • открыть целевую таблицу;
  • • нажать кнопку «Опции», выбрать пункт «Добавить поле»;
  • • указать имя поля и тип данных;
  • • нажать «Ок».

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

Для того чтобы удалить поле, достаточно выбрать пункт «Удалить» в его контекстном меню.

3. Создание ассоциаций между таблицами

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

3.1. Соединение таблиц по атрибуту

Как правило, соединение таблиц основано на значении поля, которое присутствует в обеих таблицах. Название поля в таблицах может различаться, но тип поля должен быть один и тот же: числовые поля соединяются с числовыми, строковые со строковыми и т. д. Вы можете выполнять связывание с помощью диалогового окна «Соединение данных» (Join Data), которое открывается по щелчку правой кнопкой на слое в АгсМар, либо с помощью инструмента геообработки «Добавить соединение» (Add Join) (рис. 38).

Как правило, присоединенные столбцы имеют названия типа «ИмяТаблицы.ИмяПоля». Такое условное обозначение позволяет избежать дублирования названий полей, если целевая таблица и соединенная таблица имеют поля с одинаковыми названиями.

Создание соединения таблиц по атрибуту

Рис. 38. Создание соединения таблиц по атрибуту

Для осуществления соединения необходимо вызвать контекстное меню целевого слоя или таблицы, выбрать пункт «Соединения и связи» —» «Соединение». В результате выполнения этого действия откроется диалоговое окно соединения таблиц (рис. 39).

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

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

Соединение данных

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

Что вы хотите присоединить к слою?

| Присоединить атрибуты из таблицы

1. Выберите поле слоя, на которое будет основано соединение:

і-Э

2. Выберите таблицу для присоединения к слою или загрузите ее с диска:

Малый_тундровый_ле6едь_ареал * Показать атрибутивные таблицы слоев в этом списке

3. Выберите поле в таблице, на котором будет основано соединение:

і-3

  • ? Опции соединения
  • (• Сохранить все записи

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

С Сохранить только сопоставпенные записи

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

[ Отмена 1

О соединении данных

Рис. 39. Диалог создания связи между таблицами

3.2. Соединение по пространственному положению

В том случае, если слои на карте не имеют общего поля, удобно использовать пространственное соединение. Для его выполнения следует в поле «Что вы хотите присоединить к слою?» указать «Присоединить данные из другого слоя на основании пространственного положения». Подробнее соединение по пространственному положению рассмотрено в главе «Запросы к картам».

3.3. Связывание таблиц

Как уже отмечалось выше, отличие связи от соединения состоит в том, что данные из связанной таблицы не добавляются в целевую, а также в том, что связь работает в обоих направлениях. Связь добавляется одним из следующих способов:

  • • контекстное меню слоя — Соединения и связи — Связать;
  • • атрибутивная таблица слоя — Опции — Соединения и связи — Связать;
  • • диалоговое окно свойств слоя — Закладка «Соединения и Связи» — Добавить (в разделе «Связи»).

Любое из перечисленных действий откроет диалог добавления связи (см. рис. 39).

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

Для того чтобы получить доступ к связанной таблице, следует выполнить следующее действие: Атрибутивная таблица слоя — Опции — Связанные таблицы — Имя связи. При выполнении этого действия откроется связанная таблица, причем связанные записи будут выделены.

4. Редактирование таблиц

Редактирование табличных данных в АгсМар может производиться двумя способами: в окне открытой таблицы или через диалоговое окно редактирования атрибута (рис. 40). Однако в любом случае должен быть начат сеанс редактирования в данной директории (кнопка «Редактор» — «Начать редактирование»).

В этом диалоговом окне слева содержится список выбранных объектов, а справа — список атрибутов с их значениями. Это диалоговое окно открывается кнопкой «Атрибуты» на панели инструментов «Редактор».

5. Вычисление значений полей

Помимо создания ассоциаций с готовыми таблицами и добавления данных в поля вручную существует также и другой способ редак-

Окно редактирования атрибутов

Рис. 40. Окно редактирования атрибутов

тирования записей. Это использование инструмента «Калькулятор поля» (контекстное меню поля в атрибутивной таблице — инструмент «Калькулятор поля»). Этот инструмент позволяет выполнять вычисление значений полей как с использованием простых арифметических операторов, так и сложных, и с использованием выражений, написанных на языке VBA.

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

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

Задание

  • 1. Добавить в проект таблицу и присоединить ее к атрибутивной таблице слоя.
  • 2. Оставить только поля с номером и координатами точек, концентрацией нефтепродуктов. Остальные поля удалить.
  • 3. Экспортировать полученную таблицу в отдельный файл.

ПРАКТИЧЕСКАЯ РАБОТА № 8 Проектирование базы геоданных

Сделать проект структуры базы геоданных на заданную тему.

 
Если Вы заметили ошибку в тексте выделите слово и нажмите Shift + Enter
< Пред   СОДЕРЖАНИЕ   След >
 

Популярные страницы