Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Геореляционная модель данных




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

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

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

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

На рис. 2.13 представлена простая база данных из двух таблиц, содержащая сведения о земельных участках и их собственниках. Каждая из таблиц содержит ключевое поле (ключ) «ID», уникально определяющее объект «земельный участок» или «собственник» внутри соответствующей таблицы. Связи между таблицами осуществляются с помощью таких ключевых полей. Так, для этого в таблице «Земельный участок» специально выделено поле «Код собственника», в котором запоминается значение ключа из таблицы «Собственник».

 

Рис. 2.13. Таблицы реляционной базы данных

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

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

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

Рис. 2.14. Геореляционная база данных (слева – упорядоченный
список пространственных объектов в слое карты,
а справа – связанные с ними записи в базе данных)

 

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

Рис. 2.15. Соединение таблиц геореляционной базы данных

 

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

Другой важной особенностью ГИС после выполнения соединения является автоматическое добавление и удаление записей в присоединенной таблице. Так, при создании на слое карты нового полигона в присоединенной таблице (в нашем примере, в таблице «Земельный участок») будет автоматически создана запись с необходимым значением кода связи ID. При удалении полигона с карты связанная запись будет удалена.

 

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

 

 

Рис. 2.16. Геореляционная база данных (вверху – растровый слой карты,
снизу – связанные с ними записи в базе данных)

 

Геобаза данных

Изначально и до сих пор почти во всех ГИС геометрия и атрибутика пространственных объектов хранятся в различных файлах. Это связано с двумя основными причинами.

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

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

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

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

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

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

В конце концов, всё это привело к разработке различных расширений и надстроек над обычными СУБД, позволяющих создавать полноценные пространственные базы данных, удовлетворяющие всем современным требованиям ГИС. Консорциум разработчиков языка SQL ввёл в последний стандарт языка SQL 3 соответствующие разделы, регламентирующие основы работы с пространственными базами данных.

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

В настоящее время наибольшее распространение получили две надстройки над промышленными СУБД, реализующие требования стандарта SQL 3 и тесно интегрированные с ведущими мировыми ГИС. Это ArcSDE (Spatial Database Engine) компании ESRI, Inc (США) и SpatialWare компании MapInfo, Inc (США).

Модель геобазы данных ArcSDE 8.x/9.x является логическим развитием топологической модели данных (покрытия), позволяя создавать при необходимости и аналоги нетопологической модели шейп-файлов. Кроме того, модель геобазы позволяет создавать сети, определять пространственные отношения между объектами, и вводить новые объектно-ориен­ти­ро­ван­ные сущности.

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

Вопросы для самопроверки

1. Что такое пространственный объект?

2. Какие бывают модели пространственных данных?

3. Что такое ЦММ, ЦМР?

4. В чем заключается разница между топологической и нетопологической моделями данных?

5. Как представляются объекты в растровой модели данных?

6. Какие модели данных используются для моделирования рельефа?

7. Что такое геореляционная модель данных?

8. Что такое геобаза данных и каковы её основные преимущества перед традиционными моделями данных в файловом исполнении?

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...