- •1 Загальні відомості про гіс
- •Визначення гіс
- •«Дані», «інформація», «знання» у геоінформаційних системах
- •Узагальнені функції гіс-систем
- •Класифікація гіс
- •Джерела даних та їх типи
- •Способи введення даних
- •Перетворення вихідних даних
- •Основні компоненти гіс
- •Контрольні запитання та завдання
- •2 Основні поняття гіс. Моделі даних
- •Відображення об'єктів реального світу в гіс
- •Структури даних
- •Моделі даних
- •Формати даних
- •Бази даних і керування ними
- •Контрольні запитання та завдання
- •3 Структури просторових даних гіс
- •Зберігання растрових даних
- •Ієрархічні структури даних
- •Алгоритми на квадродеревах
- •Просторові індекси
- •Контрольні запитання та завдання
- •4 Алгоритми обчислювальної геометрії
- •Перетин ліній
- •Операції з полігонами
- •Оверлей полігонів
- •Контрольні запитання та завдання
- •5 Моделювання поверхонь
- •Растрові цифрові моделі місцевості
- •Нерегулярні тріангуляційних мережі (tin)
- •Grid-, tgrid моделі
- •Інтерполяції
- •Контрольні запитання та завдання
- •6 Геодезія та цифрова фотограмметрія в гіс
- •Визначення прямокутних координат точок
- •Геодезичні засічки
- •Полярна засічка
- •Пряма кутова засічка
- •Фотограмметрія
- •Системи координат
- •Внутрішнє орієнтування знімка
- •Зовнішнє орієнтування знімка
- •Контрольні запитання та завдання
- •7 Фізична поверхню Землі і референцної системи координат
- •Геодезичні системи координат і висот
- •1 Геоїд; 2 загальний земний еліпсоїд; 3 референц-еліпсоїд
- •Системи координат, які використовуються в Україні
- •Місцеві системи координат
- •Системи координат, що використовуються в європейській та світовій практиці
- •Зв'язок уск-2000 з іншими системами координат
- •Контрольні запитання та завдання
- •8. Загальна теорія картографічних проекцій
- •Системи координат прийняті в гіс
- •Визначення картографічних проекцій, картографічні мережі
- •Нескінченно мала сфероїдинчна трапеція
- •Масштаби
- •Умови відображення поверхні еліпсоїда (сфери) на площині
- •Спотворення картографічних проекцій
- •Методи перетворення картографічних проекцій під час створення карт геоінформаційних систем
- •Фактори і способи вибору картографічних проекцій
- •Контрольні запитання та завдання
- •9 Масштаби. Картографічні проекції.
- •Головні масштаби, компонування та розграфлення карт, координатні сітки та номенклатури
- •Теорія класів і окремих варіантів картографічних проекцій
- •Циліндричні проекції
- •Псевдоциліндричні проекції
- •Конічні проекції
- •Азимутальні проекції
- •Перспективні азимутальні проекції
- •Псевдоконічні проекції
- •Псевдоазимутальні проекції
- •Поліконічна проекції
- •Проекції Гауса-Крюгера і uтм
- •Проекція Чебишева. Проблема вибору найкращих проекцій
- •Контрольні запитання та завдання
- •10 Розробка системного проекту гіс
- •Інформаційно-керуючі системи
- •Визначення вхідних і вихідних даних системи
- •Вибір програмного забезпечення гіс
- •Підсистема введення даних.
- •Підсистема зберігання даних.
- •Підсистема просторового аналізу та візуалізації результатів
- •Контрольні запитання та завдання
- •11 Повнофункціональні гіс
- •Огляд існуючих геоінформаційних систем
- •«Горизонт»
- •«ИнГео»
- •Перелік посилань
- •61166 Харків, просп. Леніна, 14
Алгоритми на квадродеревах
Розглянемо тепер деякі алгоритми ГІС на квадродеревах: обчислення площі, оверлейний алгоритм і алгоритми визначення суміжності комірок. Щоб визначити площу комірок з деяким значенням в растровому шарі, необхідно обійти дерево і підрахувати кількість комірок, кодованих цим значенням, зважене площею комірки на даному рівні дерева. Обчислимо, наприклад, на карті 1 (рис. 3.6) площу комірок зі значенням "A". Площа SA = 1 * (Count leaf (00,02,03,32)) 4 * (Count leaf (2)) = 8.
Рисунок 3.6 – Оверлейна операція на квадродереві
Оверлейна задача на квадродереві полягає в поєднанні квадродерев двох карт і отриманні нового квадродерева. Для цього потрібно одночасно обійти обидва дерева, слідуючи гілкам, існуючим в обох деревах. У тих вузлах, де в одного з дерев буде відсутнє розгалуження, значення атрибуту переноситься на всі наступні підрівні. У результаті утворюється "широке" дерево, що містить обидва атрибуту (рис. 3.6). Багато операцій ГІС, що працюють з ієрархічними структурами даних, вимагають наявності способів визначення суміжності комірок. Для цього будемо використовувати представлення координат комірок у системі числення з основою 4 і розділяти біти так, як це робилося в скануванні растру за Мортоном. При цьому використовується tesseral-арифметика, в якій перенесення між розрядами здійснюється через дві позиції. Наприклад, різниця 1000 – 1 = 0010, а сума 1 + 0001 = 0100. Будемо розрізняти два випадки: коли комірки, які перевіряються мають коди однакової і різної довжини. Блоки однакового розміру є суміжними, якщо їх подання до tesseral – арифметики відрізняються на 1 або 10. Наприклад, блоки 01 і 03 є суміжними, так як 0011 – 0001 = 10. Блоки 033 і 211 також суміжні, так як 001 111 + 10 = 100 101. Блоки 01 і 30 не є суміжними, так як 1100 – 0001 = 1001. Для визначення суміжності блоків різного розміру коди приводяться до основи 2. Далі з кодом більшої довжини підсумовуються ± 01 і ± 10. З одержаних чотирьох кодів відкидаються як неможливі всі негативні (за переносом). Решта кодів переносом вправо зводяться до меншої довжини. Два блоки є суміжними, якщо трансформований і обрізаний код більшої довжини дорівнює короткому коду. Наприклад, потрібно визначити, є комірки 02 і 2 суміжними. Наведемо коди в двійковій системі 024 = 00102 , 24 = 102. Додамо до довгого коду ± 01 і ± 10. Отримаємо 0010 +1 = 0001, 0010 +10 = 1000, 0010-10 = 0000. Різниця 0010-1 негативна, ця комбінація відкидається як неможлива. Вибравши два старших розряди з решти результатів, отримаємо коди 002=04 и 102=24. Один з одержаних кодів дорівнює короткому коду, тому комірки 2 і 02 є суміжними.
Просторові індекси
У векторних ГІС просторові індекси використовуються для більш швидкого доступу до об'єктів на певній ділянці карти. Індексування просторових об'єктів дозволяє зменшити обчислювальну складність процедур пошуку вкладених об'єктів та об'єктів, що перетинаються, тому індекси є важливою частиною алгоритмів оверлея полігонів. Процес побудови індексу для цифрової карти включає наступні кроки. Спочатку для кожного об'єкта бази даних знаходиться найменший лист квадродерева, що повністю включає об'єкт. Деякі великі об'єкти можуть лежати більш ніж в одному квадранті першого рівня квадродерева. У цьому випадку об'єкти позначаються значенням "NULL". Інші об'єкти позначаються кодом листа, який належить квадродереву. Потім об'єкти сортуються за зростанням отриманого ключа, а сам індексний файл у свою чергу індексується звичайним способом (рис. 3.7). Побудовані таким способом індекси використовуються для пошуку об'єктів, які перетинають заданий полігон або лінію. Для цього визначається мінімальний лист квадродерева, що включає заданий об'єкт. Піднявшись з отриманого вузла до вершини дерева і виконавши обхід піддерева, коренем якого є цей вузол, отримуємо список листя дерева, всередині яких об'єкти можуть перетинатися із заданим об'єктом. Очевидно, просторові індекси, побудовані на квадродеревах, більш ефективні в порівнянні з незалежним впорядкуванням об'єктів по x та y, так як в цьому випадку враховується просторовий характер даних. Індексування квадродеревами найбільш доцільно для дрібних об'єктів (особливо для точок). Великим об'єктам зазвичай відповідають великі блоки. Для них часто потрібно визначати перетин з іншими об'єктами.
Рисунок 3.7 – Індексування цифрової карти квадродеревом
Проблему індексації великих об'єктів можна вирішити з використанням R-дерев (R – rectangle, прямокутник), в яких також використовується концепція мінімального прямокутника, який вміщує об’єкт. Тобто потрібно знайти два таких прямокутника, всередині яких розташоване максимально можлива кількість об'єктів. При цьому потрібно прагнути, щоб кількість об'єктів у прямокутнику має була приблизно однаковою. Прямокутники можуть перетинатися, але площа перетину повинна бути настільки малою, наскільки можливо. Далі ця процедура рекурсивно повторюється (рис. 3.8).
Рисунок 3.8 – Індексування цифрової карти R-деревом