Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Зацерковний В.І. та ін. ГІС та бази даних

.pdf
Скачиваний:
1048
Добавлен:
19.02.2016
Размер:
32.61 Mб
Скачать

а

 

б

 

в

 

Полігон (ділянка)

Сегменти

Власник

Площа, га

Кадастровий номер

A

I, II, III

Прищик І. Ф.

154,3

Т-148442

B

II, IV, V

Хрущик С. О.

102

Т-148443

C

III, V, VI

Непийпиво О. А.

115,8

Г-446128

 

 

г

 

 

Рис. 8.39. Представлення картографічних даних

з використанням DIME-структури: а – формалізація вихідної карти (жирним шрифтом виділені номери вузлових точок);

б– таблиця координат опорних точок; в – таблиця сегментів;

г– таблиця полігонів

8.8.6. Структура "дуга-вузол"

Наступним етапом DIME-структури є векторні топологічні структури типу "дуга-вузол" (Arc-Node Structure), або лінійно-вузлові структури векторних даних, у яких об’єкт у базі даних структурований ієрархічно, а базовими елементарними графічними об’єктами, крім точки, лінії і полігона, є дуга (або сегмент). Опис метричного навантаження карти в базі даних із використанням лінійно-вузлової структури векторних даних, як і в DIME-структурі, складається з трьох наборів даних [86]:

1)таблиці пар координат (х, у) точок введення, які представляють геометрію дуг;

2)таблиці атрибутів дуг;

3)таблиці атрибутів полігонів.

301

Але на відміну від DIME-структури, в таблиці атрибутів дуг наводяться тільки початкова (from) і кінцева (to) точки (вузли) кожної дуги.

Вказівки на лівий і правий полігони не наводяться. За потреби в структуру таблиць можуть бути введені атрибути, що характеризують точкові, лінійні або полігональні об’єкти. Це можуть бути, наприклад, характеристики початкових і кінцевих точок введення дуг, назви вулиць (лінійних об’єктів) і їх метричні характеристики, власники земельних ділянок (полігональних об’єктів), їхня площа й унікальні кадастрові номери (рис. 8.40).

а

б

в

Рис. 8.40. Подання в базі даних фрагмента картографічної інформації, зображеного на рис. 8.31, з використанням структури "сегмент (дуга)-вузол":

а– таблиця координат опорних точок; б – таблиця сегментів;

в– таблиця полігонів

Лінійно-вузлові (топологічні) структури векторних даних у ГІС представлені досить великою кількістю різновидів. Варто відзначити модель TIGER (The Topologically Integrated Geographic Encoding and Referencing data format), яку було розроблено в Бюро переписів США для заміни DIME–структури наприкінці 80-х років XX ст., а також DLGструктуру (Digital Line Graph Structure) – стандарт Геологічної служби США (USGS) для пошарового кодування інформації, що міститься на топографічних картах і DLG-Е – Digital Line Graph-Enhanced – розширену версію формату DLG, а також покриття (coverage) – топологічний векторний файл ГІС-пакетів фірми ESRI [86].

302

8.8.7. Геореляційна структура

Одним із найважливіших властивостей ГІС є те, що майже для будь-якого просторового об’єкта можна задати набір додаткових атрибутів у вигляді числових або символьних значень.

Останніми роками для організації векторних даних у рамках ліній- но-вузлової моделі широко використовується реляційна, або геореляційна, структура даних, де метрична й топологічна інформація організована як лінійно-вузлова структура, а додаткова (атрибутивна) інформація зберігається в базі даних в окремих реляційних базах даних. З точки зору користувача, вся база даних у цій моделі складається з набору різних таблиць, що мають фіксовані набори стовпчиків (полів) і змінну кількість рядків (записів), які описують певні об’єкти.

Зв’язки між таблицями забезпечуються за допомогою ключових полів – спеціально виділених стовпчиків таблиць.

У полях реляційних таблиць можуть зберігатися дані тільки деяких певних типів: цілі та речовинні числа, рядки, логічні значення, дата, час, а також великі бінарні масиви (у BLOB-полях). Для роботи з реляційними базами даних розроблена спеціальна мова SQL (мова структурованих запитів), яка дозволяє виконувати модифікацію бази даних, а також виконувати пошук необхідних даних.

На рис. 8.41 представлено просту базу даних з двох таблиць, що містить відомості про земельні ділянки та їх власників.

Рис. 8.41. Таблиця реляційної бази

Кожна з таблиць містить ключове поле (ключ) "ID", який унікально визначає об’єкт "Земельна ділянка" або "Власник" усередині відповідної таблиці. Зв’язки між таблицями здійснюються за допомогою ключових по-

303

лів. Для цього в таблиці "Земельна ділянка" спеціально виділено поле "Код власника", в якому запам’ятовується значення ключа з таблиці "Власник".

За потреби отримання імені власника для заданої земельної ділянки система СКБД отримає код власника в таблиці "Земельна ділянка", потім знайде в таблиці "Власник" запис з цим кодом і отримає з відповідного поля опис власника.

Одним із недоліків таблиці "Земельна ділянка" є те, що тут не зберігаються відомості про геометрію самої ділянки. Для цього, згідно з реляційним підходом, доцільно було б створити допоміжні таблиці та зберігати в них необхідну інформацію про полігони, що складають земельні ділянки. Однак швидкість роботи навіть найбільш ефективних СКБД не дозволяє оперативно використовувати геометричні дані, представлені в такому вигляді. "Оперативно" – це коли потрібно, наприклад, за частку секунди зобразити на екрані комп’ютера десятки і сотні тисяч земельних ділянок.

Саме тому в більшості ГІС застосовується геореляційний підхід, коли геометрія просторового об’єкта (наприклад, земельної ділянки) зберігається

вокремому місці у спеціально розробленому форматі, а атрибути об’єкта –

вдеякій таблиці бази даних. При цьому зв’язок між геометрією й атрибутами здійснюється за допомогою ключа – унікального коду просторового об’єкта, приблизно так, як і в реляційних таблицях (рис. 8.42).

Рис. 8.42. Геореляційна база даних (ліворуч – упорядкований список просторових об’єктів у шарі карти,

аправоруч – пов’язані з ними записи в базі даних)

ВГІС для зручності користувачів існує операція поєднання атрибутів просторових даних із таблицями зовнішніх баз даних. У результаті користувачеві здається, ніби він має справу зі звичайними таблицями баз даних, в яких додатково з’явився перший стовпчик з геометрією об’єктів. Для вищенаведеного прикладу із земельними ділянками отриманий результат, представлений на рис. 8.43.

304

Карта в ГІС

База даних СКБД

Рис. 8.43. Поєднання таблиць геореляційної бази даних

Після операції єднання можливе виконання операцій різних інформаційних запитів над з’єднаною таблицею. Наприклад, для земельних ділянок можна зробити запит на всі ділянки, що належать фізичним особам. Ці ділянки будуть виділені на карті в ГІС.

Іншою важливою особливістю ГІС після виконання єднання є автоматичне додавання і видалення записів у приєднаній таблиці. Так, при створенні на шарі карти нового полігона в приєднаній таблиці (в нашому прикладі в таблиці "Земельна ділянка") буде автоматично створено запис із необхідним значенням коду зв’язку ID. При видаленні полігона з карти пов’язаний запис буде вилучено.

Таким чином, геореляційна структура забезпечує однозначну відповідність точкових, лінійних і полігональних об’єктів атрибутивній інформації, яка дозволяє обирати й аналізувати інформацію, що міститься в базі даних, як за просторовими, так і за атрибутивними критеріями.

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

Розроблено різні методи апроксимації кривих, які дозволяють уникнути надмірного зменшення кроку дигітизування при введенні навіть дуже складних кривих (меж ґрунтових чи ландшафтних контурів, берегової лінії, русел річок, горизонталей, трас доріг тощо). Найчастіше з цією метою використовуються аналітичні методи опису відрізків кривих, як дуг кіл змінного радіуса, або із застосуванням сплайнів.

Майже в усіх ГІС геометрія й атрибутика просторових об’єктів зберігаються в різних файлах. Це пов’язано з двома основними причинами. По-перше, це низька швидкість добування і зміни геометричної інформації

305

з баз даних, що керуються звичайними системами СКБД порівняно зі звичайними файлами. Частково це пов’язано з низькою пропускною спроможністю каналів зв’язку між сервером із СКБД, який не дозволяв передавати з сервера на комп’ютер користувача інформацію про просторові об’єкти, що повинні виводитися на екран практично в режимі реального часу. Крім того, низька швидкість пов’язана з тим, що геометрія лінійних і полігональних об’єктів повинна зберігатися в допоміжних таблицях або в BLOB-полях, що також суттєво знижує швидкість звернення до даних.

По-друге, збереження геометрії об’єктів у базі даних не дає тих переваг, які є при збереженні звичайних негеометричних даних. Наприклад, у звичайних БД є декілька ключових понять, що використовуються практично в усіх прикладних базах даних. Це обмеження цілісності, які не дозволяють уводити некоректні значення в окремі поля таблиць і створювати некоректні посилання між таблицями бази даних; блокування, що забороняють редагувати окремі поля або цілі таблиці бази даних; транзакції, які дозволяють виконувати великі зміни БД, але у разі помилки під час транзакції повертають стан усієї БД в первісний стан.

Але усі ці обмеження цілісності, блокування і транзакції мало застосовуються для просторових об’єктів. Так, обмеження цілісності в ГІС мають геометричний характер (наприклад, заборонене перетинання ліній доріг і річок, оскільки перетинання річок дорогами повинне бути тільки через міст) і їх дуже важко описати стандартними засобами СКБД (у вигляді процедур, що зберігаються на мові SQL). Блокування в ГІС повинні також мати просторовий характер, наприклад, для забезпечення можливості паралельної роботи багатьох користувачів з однією картою потрібно заблокувати певний регіон цієї карти, що призводить до необхідності блокування цілих таблиць у СКБД.

Класичні транзакції в теорії баз даних отримали назву коротких транзакцій, щоб підкреслити, що процес введення даних в СКБД займає небагато часу. При цьому, поки виконується транзакція одним користувачем, робота іншого користувача повинна бути заблокована, щоб не порушувати цілісність бази даних.

У ГІС потрібно виконувати довгі транзакції, протягом яких користувач може змінювати стан множини взаємозалежних шарів карти. При цьому в процесі редагування більшість геометричних обмежень цілісності може порушуватись. Після введення даних (для завершення довгої транзакції) користувач повинен привести базу даних (карту) знову в припустимий стан. Довга транзакція може виконуватися тривалий час (дні і навіть тижні). Очевидно, що під час введення даних одним користувачем не можна блокувати всю базу даних від змін іншими користувачами на такий тривалий час.

З іншого боку, можливість збереження геометрії спільно з атрибутикою в базі даних створила б певні переваги, але тільки після вирішення вищенаведених проблем.

306

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

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

Найбільш поширеними є дві надбудови над промисловими СКБД, які реалізують вимоги стандарту SQL 3 і тісно інтегровані з провідними світовими ГІС. Це ArcSDE (Spatial Database Engine) компанії ESRI, Inc. (США) і SpatialWare компанії MapInfo, Inc. (США).

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

Одним з найбільш помітних досягнень ArcSDE є введення технології версій, призначених для виконання операцій "довгі транзакції", які дозволяють відмовитись від традиційних блокувань у регіонах.

8.8.8. TIN-модель

TIN (Triangulation Irregular Network – тріангуляційна нерегулярна ме-

режа) – модель поверхні у вигляді мережі суміжних трикутних граней, що не перетинаються і які покривають поверхню та визначені по вузлах і ребрах. Triangulation (тріангуляційна) – вказує спосіб побудови оптимізованого набору трикутників за набором точок; Irregular (нерегулярна) – точки можуть бути взяті зі змінною щільністю для моделювання ділянок поверхні, де різко змінюється

рельєф; Network (мережа) – відбиває топологічну структуру даної моделі. Структура TIN будується шляхом об’єднання відомих точкових значень у серії трикутників за алгоритмом тріангуляції Делоне.

Геометрія моделі TIN утво-

 

 

рюється гранями, вузлами й реб-

 

 

рами у тривимірному просторі

Рис. 8.44.

Геометрія моделі TIN [86]

(рис.8.44) [86].

307

Грань (Face) – поверхня трикутника в тривимірному просторі. Вузол (Node)– вершинатрикутниказ координатами X, Y, Z. Ребро (Edge) – сторона трикутника в тривимірному просторі. Модель TIN має наступні властивості:

дозволяє отримати точне уявлення про локальну частину поверхні, використовуючи змінну щільність вузлів зі значенням Z (висоти) і лінії перегину поверхні;

є основою 3D-візуалізації поверхні;

дозволяє виконати складний аналіз поверхні (обчислення висот, ухилів, експозицій схилів, отримання ізоліній поверхні, розрахунки об’ємів, вертикальні профілі по трасі лінії, аналіз видимості).

Вихідними даними для побудови TIN є набір точок з координатами X, Y, Z. Задача полягає в тому, за по цим набором точок створити мережу суміжних трикутників, що не перетинаються. Задача побудови тріангуляції за набором точок є однією з базових в обчислювальній геометрії. До неї зводяться більшість інших задач, вона широко використовується у машинній графіці та ГІС для моделювання поверхонь і розв’язання просторових задач.

Задача побудови тріангуляції за вихідним набору точок є неоднозначною, тому виникає питання: а яка з усіх тріангуляцій найкраща? Наприклад, оптимальним розв’язком можна вважати такий, при якому сума довжин усіх ребер буде мінімальною серед усієї множини можливих тріангуляцій, побудованих на тих же вихідних точках. Розв’язок задачі за такої умови має високу трудомісткість [44].

За визначенням Делоне, три точки формують трикутник в тріангуляції тоді та тільки тоді, коли в окружності, описаній навколо цього трикутника, немає інших точок розбивки (рис. 8.45). Кожне обмежуюче трикутник коло не містить точок з набору в його середині (рис. 8.45, б).

а

б

Рис. 8.45. Формування трикутника в тріангуляції Делоне:

а– коло, побудоване за точками 1, 2, 4, включає точку 3;

б– коло, побудоване за точками 1, 2, 3, не включає точку 4

Один з алгоритмів побудови тріангуляції Делоне заснований на генеруванні полігонів Тиссена (Thiessen) або Вороного. Для цього поверхня

308

розбивається на області, в яких кожна точка розташована найближче до якогось вузла мережі – генеруючої точки. Отримані межі називають полігонами Тиссена або полігонами Вороного.

Дві точки з’єднуються лінією в тріангуляції Делоне, якщо їх полігони Тиссена (рис. 8.46) мають спільну межу. Цей метод дозволяє отримати потрібні трикутники. Полігони Тиссена використовуються також при аналізі близькості.

Рис. 8.46. Полігони Тиссена

Рис. 8.47. TIN-модель

8.9. Топологія в TIN-моделі

Модель TIN – це топологічна структура даних: ребра з’єднуються у вузлах; кожний трикутник межує із сусідніми трикутниками.

Топологічні відношення створюються шляхом створення в базі даних для кожного вузла вказівки на суміжні вузли. Простір навколо території представляється фіктивним вузлом.

Модель TIN (рис. 8.47) у цифровому вигляді описується пов’язаними файлами – файлом вершин (табл. 8.5), файлом покажчиків і файлом трикутників (табл. 8.6). Для кожної точки розбивки зберігається її унікальний номер, координати і список точок, з якими вона з’єднана прямими (за годинниковою стрілкою).

Таблиця 8.5

Список вершин

Вершина

X

Y

Z

1

X1

Y1

Z1

2

X2

Y2

Z2

3

X3

Y3

Z3

4

X4

Y4

Z4

5

X5

Y5

Z5

6

X6

Y6

Z6

7

X7

Y7

Z7

 

 

 

 

Таблиця 8.6

Список трикутників

 

Трикутник

 

 

Вершини

 

 

Суміжні

 

 

 

 

 

трикутники

 

 

 

 

 

 

 

 

 

A

5

6

7

 

B

 

D

 

F

 

B

1

5

6

 

A

 

C

 

Q

 

C

1

2

6

 

B

 

D

 

R

 

D

2

6

7

 

A

 

C

 

E

 

E

2

3

7

 

D

 

F

 

S

 

F

3

5

7

 

A

 

E

 

G

 

G

3

4

5

 

F

 

T

 

P

309

8.10. Етапи створення TIN-моделі

Модель TIN створюється в наступній послідовності.

Етап 1.Задання множини точок i за координатами X, Y, Z(рис.8.48). Етап 2. Побудова тріангуляції Делоне (рис. 8.49).

Рис. 8.48. Множина точок

Рис. 8.49. Побудова тріангуляції Делоне

Етап 3. Введення ліній перегину поверхні (Breakline) і модифікація TIN з урахуванням ліній перегину. Лінії перегину рельєфу визначають різкі зміни поверхні, такі як лінія верху, низу, укосу, гребеня, тальвегу тощо (рис. 8.50).

Рис. 8.50. Лінії перегину поверхні [86]

Етап 4. Введення областей виключення (Exclusion areas) з постійним значенням Z і модифікація TIN з урахуванням полігональних об’єктів, наприклад водної поверхні (рис. 8.51).

Рис. 8.51. Області виключення [86]

310