Світличний О.О., Плотницький С.В.
Основи геоінформатики

Картографічна алгебра. Локальні операції

7.5.1. Локальні операції

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

Арифметичні оператори. З арифметичних у ГІС звичайно використовуються (рис. 7.2):
+ — оператор додавання;
- — оператор віднімання;
* — оператор множення;
/ — оператор ділення;
** — оператор піднесення до ступеня.

Рис. 7.2. Приклад локальної операції картографічної алгебри (операції додавання) (доступно при скачуванні повної версії підручника)

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

Оператори порівняння. Операторами порівняння є:
gt (>) — оператор «більше»;
lt (<) — оператор «менше»;
ge (>) — оператор «більше або дорівнює»;
1е (<) — оператор «менше або дорівнює»;
eq (=) — оператор «дорівнює»;
ne (?)ж —оператор «не дорівнює».
Результатом виконання операцій порівняння є булівські (логічні) «1» (так) і «0» (ні).

Логічні оператори. Логічні оператори є операторами логічної, або булевої, алгебри — розділу математики, який вивчає закони алгебри двох значень. Уперше досліджений Джорджем Булем, англійським математиком і логіком XIX сторіччя. Загальний вигляд булівської операції:

Результат = вираз1 оператор вираз1,

де Результат —результуюча карта; оператор — один з булівських операторів; вираз1 i вираз1 — карти.

Результатом виконання логічних операцій є карта типу boolean, тобто карта, яка містить тільки логічні «1» і/або «0». Найбільш часто використовуваними логічними операторами є and (логічне «і»), or (логічне «або»), not (логічне «ні»), xor (логічне «або/або») і деякі інші. Оператор and є оператором логічного множення, оператор or — логічного додавання, not — логічного заперечення.

Просторова інтерпретація операцій логічної алгебри наведена на рис. 7.3.
Операція A and В має результатом «1» у тих місцеположеннях (комірках растра), де одночасно є об'єкти А (наприклад, нееродовані ґрунти) і В (наприклад, ділянки з нахилом земної поверхні, що не перевищує 3°).
Операція А or В («або», що не виключає) має результатом «1» у тих місцеположеннях, де є об'єкт А або об'єкт В, включаючи частини території, де ці об'єкти присутні одночасно (наприклад, для ділянок досліджуваної території з нееродованими ґрунтами або з ухилом поверхні менше 3°).
Операція A not В має результат «1» для частини об'єкта А, яка не збігається з об'єктом В (наприклад, для ділянок з нееродованими ґрунтами, які мають ухил 3° і більше).
Операція А xor В має результат «1» для об'єктів А або В за винятком ділянок, де ці об'єкти присутні одночасно (наприклад, для ділянок досліджуваної території або з нееродованими ґрунтами, або з ухилом поверхні менше 3°).

Рис. 7.3. Просторова інтерпретація операцій логічної алгебри (доступно при скачуванні повної версії підручника)

Таблиця 7.1. Закони булевої алгебри (доступно при скачуванні повної версії підручника)

З операторів логічної алгебри можуть формуватися складні логічні функції на основі законів комутативності, асоціативності і дистрибутивності (табл. 7.1). Перші два мають аналоги у звичайній алгебрі, останній є новим. При цьому ще Буль показав, що скільки завгодно складну логічну функцію можна записати, використовуючи всього лише три базові логічні операції: складання х+у (or), множення ху (and) і заперечення — х (not).

Для логічних функцій без дужок використовується такий порядок обчислень:
- обчислити операції заперечення;
- обчислити операції логічного множення;
- обчислити операції логічного складання.

Порядок дій може бути змінений за допомогою круглих дужок.

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

Тригонометричні операції. З тригонометричних операцій в ГІС, як правило, реалізуються основні прямі і зворотні тригонометричні функції: синус (sin), косинус (cos), тангенс (tan), котангенс (ctan) і, відповідно, арксинус (asin), арккосинус (acos), арктангенс (atan) і арккотангенс (асtan).

Скачати повну версію книжки (з малюнками, картами, схемами і таблицями) одним файлом