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

Printsipi_GIS_A5_Shipulin

.pdf
Скачиваний:
61
Добавлен:
02.03.2016
Размер:
7 Мб
Скачать
☆

5.5.4 Растрові оверлейні оператори

Векторні оверлейні оператори приводять до більшої точності результату, але вони геометрично складні, що інколи може бути наслідком відносно повільної роботи оператора. Оверлейні програми з растрами (Raster overlay operators) не мають цього недоліку, оскільки більшість їх виконують обчислення "чарунка на чарунці", тому вони є швидкими. Керівним принципом є порівняння або комбінування характеристик місцерозташування, отримуваних з двох шарів.

Обробку растрів виконують за допомогою мови представлення операцій на растрах. Така мова використовується в калькуляторі растрів (Raster Calculator). Він дозволяє обчислити нові растри на підставі тих, що існують, використовуючи ряд функцій і операторів. На жаль, числення растру проходять прихованими під різними назвами і не всі пропонують ту ж функціональність. Числення растрів спирається на алгебру карти. При виробництві нового растру потрібно забезпечити ім'я для нього і визначити вираження обчислення. Це робиться в призначенні оператора наступного формату:

Output_raster_name := Raster_calculus_expression

(5.5.5)

(Ім'я вихідного растру : = Вираження обчислення растру)

Вираження справа оцінюється програмою і растр, в якому потім зберігаються результати, називається ім'ям з лівого боку.

Вираження може містити посилання на існуючі растри, операторів і функції. Імена растру і константи, які використовуються у виразі, називаються його операндами. Коли вираз створений, програма обчислюватиме накладення "чарунка на чарунці", починаючи від першої чарунки в першому ряду, і продовжуючи до останньої чарунки в останньому ряду.

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

Арифметичні оператори

Вираз обчислення растру може включати арифметичних операторів (Arithmetic operators) +, – *, /. Наприклад, обчислення растру на рис. 5.5.10 виконується на підставі наступного виразу:

В: = A + С.

1

1

4

 

7

6

5

 

8

8

9

 

 

 

 

 

 

 

 

 

 

 

280

 

 

 

 

 

 

 

 

 

 

 

 

 

1

3

 

2

 

7

4

3

 

8

 

7

5

 

 

 

 

+

 

 

 

=

 

 

 

 

4

2

 

1

 

6

2

4

 

10

 

4

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A

 

 

C

 

 

 

B

 

Рис. 5.5.10 Ілюстрація суми двох растрів

Вираз обчислення растру може також включати тригонометричні оператори sin, cos, tan, asin, acos, atan.

Вираз обчислення растру може включать декілька арифметичних операторів .

Оператори порівняння і логічні

Калькулятор растрів може використовувати операторів порівняння

(Comparison operators) <, <= =, >= >, <> і логічні оператори (Logical operators) AND, OR, NOT, XOR. Вираз A XOR B правільний, якщо правільне або А або В, але не обоє. Приклад використання оператора порівняння:

С: = A <> B.

Оператори порівняння і логічні обчислюють растри на істиннісних значеннях "істині" (true) і "хибність" (false).

Умовні вирази

Умовні вирази (Conditional expressions) в калькуляторі растрів дозволяють визначити, де виконується умова. Загальний формат

виразу

 

 

Output raster := IFF(condition, then expression, else expression)

(5.5.6)

(Вихідний растр := Умовна функція

(умова; вираз, де

умова

виконується; вираз, де умова не виконується)). Наприклад:

IFF(4 = 5, “land”, “lake”)

Комплексні вирази

281

Обробка растрів може виконуватися комплексними виразами, що включають арифметичних операторів, оператори порівняння і логічні,

на підставі їх табличних даних (Overlays using а decision table).

5.5.5 Контрольні питання і завдання для самостійної роботи

1)Наведіть визначення і загальну характеристику оверлейних функцій

2)Які логічні операції булевої алгебри можуть бути для двох наборов даних?

3)Наведіть класифікації векторних оверлейних операцій.

4)Опишіть алгоритм операції "Точка в полігоні".

5)Опишіть алгоритм операції "Лінія в полігоні".

6)Наведіть загальну характеристику базових оверлейних операцій для векторних моделей.

7)Наведіть загальну характеристику базових оверлейних операцій для растрових моделей.

282

_____________________________________________________________

Розділ 5.6

ФУНКЦІЇ ОКОЛУ

5.6.1 Визначення околу

Під околом (Neighborhood) географічного об'єкта розуміється простір, що оточує його. У багатьох випадках придатність деякого місця розташування для певної мети залежить не тільки від того, що знаходиться в ньому, але й від того, що є біля нього. Тому геоінформаційні системи повинні надати можливість оцінити простір, прилеглий до певного місця, виконати аналіз близькості (Proximity).

Функції околу (Neighborhood functions) визначають характеристики близькості в околі місця розташування.

Щоб виконати аналіз околу, необхідно:

1)встановить, яке цільове місце розташування представляє інтерес і яка його просторова протяжність;

2)вирішити, як визначити окіл для кожної цілі;

3)визначити, які характеристики повинні обчислюватися для кожного околу.

Наприклад

метою може бути торговельний центр;

його окіл може бути визначений як: область в радіусі 2 км., область в межах 10 хв. їзди по дорозі,

сукупність житлових будинків, для яких торгівельний центр найближчий;

характеристикою можуть бути:

просторове видалення, кількість людей, що проживають в околі торговельного центру,

кількість торговельних об'єктів в околі.

У природних середовищах виникають різні випадки розташувань, околу і особливостей сусідства.

Сучасні програмні продукти ГІС дозволяють виконати аналіз околу, як на векторних моделях, так і на растрових моделях.

283

5.6.2 Операції околу у векторних моделях

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

Тіссена (Thiessen Polygon Generation).

5.6.2.1 Генерування буферних зон

Визначення і призначення буферів

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

Просторовий буфер може бути згенеруваний для аналізу близькості. Його використовують для того, щоб визначити області і об'єкти, які знаходяться або всередині, або поза певною буферною зоною.

Буферизація точкових просторових об'єктів

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

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

284

а)

б)

в)

Рис. 5.6.1 - Буферизація точкових просторових об'єктів: а) буферні зони індивідуальної ширини, б) злиті буферні зони, в) концентричні буферні зони

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

Буферизація лінійних просторових об'єктів

Алгоритм для буферизації лінійних просторових об'єктів складніший, ніж для буферизації точкових об'єктів, оскільки лінії можуть бути складені з множинних сегментів. Процес для буферизації лінійного просторового об'єкта наступний:

1)Кожному сегменту полілінії призначають відповідну ширину буфера (який може бути фіксованим для всіх ліній або зваженим). Ширіну буфера називають буферною відстанню b.

2)Кожен сегмент полілінії має початкову вершину (Х1, У1) і кінцеву вершину (Х2, У2). Використовуючи ці координати, обчислюють

різниці координат x і y між цими двома кінцевими точками.

3)Визначають координати кінцевих точок для паралельних буферних ліній кожного сегмента лінії з обох боків сегмента на перпендикулярі довжиною b за формулами

х1

= Х1

(

b* cos [arc tg ((у /(х)]

(5.6.1)

у1

= У1

(

b* sin [arc tg ((у /(х)]

(5.6.2)

і

 

 

 

 

х2

= Х2

(

b* cos [arc tg ((у /(х)]

(5.6.3)

у2

= У2

(

b* sin [arc tg ((у /(х)]

(5.6.4)

 

 

 

285

 

4)За отриманими координатами визначають рівняння граничних ліній буфера.

5)Розраховують пересічення граничних ліній буфера для суміжних сегментів і призначають координати точці пересічення.

6)У кожній вершині лінії граничні прямі лінії буфера спрягаються круговими кривими; у початковій і кінцевій точці полілінії граничні прямі лінії спрягаються півколом.

7)Окремі частини буфера полілінії зливаються в один буферний полігон.

Рис. 5.6.2 – Буферизація лінійних просторових об'єктів [56]

Різні пакети програмного забезпечення ГІС можуть визначати кінці буфера різними методами:

1)Спряження початкової точки і кінцевої точки лінії з "напівкруговими" полігонами буфера радіусу b.

2)Просте відсікання паралельних буферних кінців.

3)Звуження паралельних буферних кінців, щоб зближувати кінцеві точки.

286

Рис. 5.6.3 – Зони вулично-дорожньої мережі

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

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

Буферизація полігональних просторових об'єктів

Алгоритм буферизації полігональних просторових об'єктів використовує той самий процес, як алгоритм буферизації ліній, з однією невеликою відмінністю – буферний полігон створений тільки на одній стороні лінії, яка визначає полігон. За умовчанням метод полягає в тому, щоб створити буфер поза полігоном, який оточує кордон полігону. Деякі пакети програмного забезпечення ГІС надають також опції, щоб створити буфер, який знаходиться усередині межі полігону. На рис. 5.6.4 представлений приклад можливих результатів буферизації полігону.

287

а)

б)

в)

Рис.5.6.4 – Буферизація площадкових просторових об'єктів: а) вхідний полігон, б) зовнішній буфер, в) внутрішній буфер

Рис. 5.6.5 – Прибережні захисні смуги водних об'єктів.

Після побудови буферів виконують операції вибору об'єктів, що знаходяться в буферних зоні, і аналізу їх атрибутів.

288

5.6.2.2 Генерування полігонів Тіссена

Інший метод використання геометричної відстані для визначення околу просторово розподілених точок полягає в генеруванні полігонів

Тіссена (Thiessen Polygon Generation).

Полігони Тіссена (Thiessen (1912)) – Вороного (Voronoi (1909)) –

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

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

 

 

 

а)

 

б)

Рис. 5.6.6 – Генерування полігонів Тіссена: а) тріангуляція Делоне, b) полігони Тіссена.

Полігони Тіссена розділяють територію на області близькості до заданих точок, тому можуть розглядатися як околи цих точок.

5.6.3 Операції околу в растрових моделях

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

289