Самостійна робота 5
Тема: 3D візуалізація геопросторових даних
Мета: Навчитися 3D візуалізувати геопросторові дані
Хід роботи:
1. Запустіть програмний засіб QGIS.
2. Відкрийте проєкт, створений в лабораторній роботі 5
3. Виконати дії згідно наступних методичних рекомендацій:
Пошук найкращих місць
Припустимо, що покупці тепер хочуть придбати будівлю та збудувати на її території невеликий котедж. Припустимо, що ідеальним місцем для цього має бути ділянка, яка:
· дивиться на північ,
· з ухилом менше 5 градусів,
· але якщо нахил менше 2 градусів, то аспект не має значення.
Давайте знайдемо найкраще місце для них.
Обчислюємо ухил
Ухил показує рівень прямовисності рельєфу. Якщо, наприклад, ви хочете збудувати на цій землі будинки, то вам потрібна відносно рівна земля.
Щоб обчислити ухил, вам потрібно використовувати алгоритм Slope у Processing ► Raster terrain analysis .
1. Вам потрібно відкрити алгоритм.
2. Виберіть srtmяк Elevation layer .
3. Встановіть Z factor на 1.0 .
4. Збережіть вихід як файл під назвою slope в тій же папці, що і hillshade .
5. Клацніть на кнопку Run .
Тепер ви побачите ухил рельєфу. Кожен піксель показує відповідне значення ухилу. Чорні пікселі показують рівний рельєф, а білі – крутий рельєф:
Спробуйте самі визначити аспект
Аспект - напрямок компасу, якого звернений ухил місцевості. Значення аспекту 0 означає, що ухил звернений на північ, 90 на схід, 180 на південь та 270 на захід.
Оскільки це дослідження проводиться в Південній півкулі, будинки мають бути збудовані на північному ухилі, щоб вони могли залишатися під променями сонця.
Вам потрібно використовувати алгоритм Aspect у Processing ► Raster terrain analysis для того, щоб зберегти шар aspect разом із slope .
· Налаштуйте діалогове вікно Aspect таким чином:
Ваш результат:
Знаходимо північну сторону
У вас тепер є растри, які показують ухил, а також аспект, але поки не знаєте, які ідеальні умови. Як можна провести цей аналіз?
Відповідь сидить усередині Raster calculator .
QGIS має різні калькулятори растру:
· Raster ► Raster Calculator
· У процесі:
o Raster Analysis ► Raster calculator
o GDAL ► Raster miscellaneous ► Raster calculator
o SAGA ► Raster calculus ► Raster calculator
Кожен інструмент дає той самий результат, але синтаксис може трохи відрізнятися, а наявність операторів може відрізнятися.
Нам потрібно використовувати Raster Analysis ► Raster calculator на панелі інструментів обробки .
1. Треба відкрити інструмент, двічі клацнувши по ньому:
· У верхній лівій частині діалогового вікна перераховані всі завантажені растрові шари як name@N , де name це назва шару і N група.
· У правій верхній частині ви побачите багато різних операторів. На мить подумайте і уявіть, що растр - це зображення. Ви повинні подати його як 2D-матрицю, заповнену числами.
2. Північ знаходиться під кутом 0 (нуль) градусів, тому щоб місцевість дивилася на північ, його аспект повинен бути більше 270 градусів або менше 90 градусів. Тому формула така:
3. aspect @1 <= 90 OR aspect @1 >= 270
4. Тепер вам потрібно налаштувати деталі растру, наприклад розмір комірки, масштаб і ССК. Можна вручну або автоматично вибрати Reference layer . Виберіть останню опцію, натиснувши на кнопку … поряд з параметром Reference layer(s) .
5. У діалоговому вікні треба вибрати шар aspect так як ми хочемо отримати шар з такою самою роздільною здатністю.
6. Збережіть шар як aspect_north .
Діалогове вікно має виглядати так:
7. І нарешті треба клікнути на кнопку Run .
Ви отримаєте такий результат:
Вихідні значення 0 або 1 . Що це означає? Для кожного пікселя в растрі написана нами формула показує, відповідає вона умовам чи ні. Тому остаточний результат буде Невірно (0) та Вірно (1).
Більше критеріїв
Тепер після того, як ви закінчили аспект, створіть два нових шари з ЦМР.
· Перший шар повинен визначати ділянки, де ухил менше або дорівнює 2 градусам.
· Другий аналогічний, але ухил повинен бути меншим або дорівнює 5 градусам.
· Збережіть їх усередині exercise_data/raster_analysis як slope_lte2.tif та slope_lte5.tif .
Об'єднуємо результати аналізу растру
Ви тепер отримали три растрові шари з ЦМР:
· aspect_north : місцевість, звернена на північ
· slope_lte2 : ухил, що дорівнює 2 градусам або нижче
· slope_lte5 : ухил не більше 5 градусів
Якщо умова виконується, значення пікселя дорівнює 1 . В інших випадках він дорівнює 0 . Тому, якщо ви помножите ці растри, пікселі зі значенням 1 для всіх вони отримають значення 1 (інші отримають 0 ).
Умови, які мають бути виконані:
· при ухилі 5 градусів або нижче місцевість має бути звернена на північ,
· при ухилі 2 градуси або нижче напрямок місцевості не має значення.
Тому, вам потрібно знайти місцевість, де ухил не перевищує п'яти градусів AND місцевість дивиться на севр, або ухил не більше 2 градусів. Така територія підійде для будівництва.
Щоб обчислити ту місцевість, яка відповідає цим критеріям, необхідно зробити таке:
1. Потрібно відкрити знову Raster calculator .
2. Використовуйте цей вираз у Expression :
3. (aspect_n @1 = 1 AND slope_lte5 @1 = 1 ) OR slope_lte2 @ 1 = 1
4. Потрібно налаштувати параметр Reference layer(s) на aspect_north (неважливо, чи ви виберете інший – всі вони були обчислені з srtm).
5. Збережіть вихід/результат всередині exercise_data/raster_analysis/ як all_conditions.tif .
6. Клацніть на кнопку Run
Результат:
Підказка
Попередні кроки можна було спростити за допомогою наступної команди:
((aspect @1 <= 90 OR aspect @1 >= 270 ) AND slope @1 <= 5 ) OR slope @1 <= 2
Спрощуємо растр
Як показує зображення вище, комбінований аналіз видав нам безліч дуже маленьких ділянок, які відповідають умовам (виділені білим кольором). Але вони не зовсім корисні для нашого аналізу, тому що вони надто малі, щоб на них щось будувати. Давайте позбавимося всіх цих крихітних непридатних для використання ділянок.
1. Потрібно відкрити інструмент Sieve ( GDAL ► Raster Analysis усередині Processing Toolbox ).
2. Налаштуйте Input file на all_conditions , а Sieved на all_conditions_sieve.tif (всередині exercise_data/raster_analysis/ ).
3. Встановіть Threshold до 8 (мінімум вісім суміжних пікселів) та позначте Use 8-connectedness .
Після завершення обробки буде завантажено новий шар.
Що відбувається? Відповідь криється в метаданих нового растрового файлу.
4. Перегляньте метадані всередині вкладки Information діалогового вікна Layer Properties . Подивіться значення STATISTICS_MINIMUM :
Цей растр, як і той, з якого він отриманий, повинен містити тільки значення 1 і 0 але він має дуже велике негативне число. Вивчення даних показує, що це число подано як нульове значення. Оскільки нам потрібні тільки ті ділянки, які не були відфільтровані, налаштуємо ці нульові значення на нуль.
5. Потрібно відкрити Raster Calculator і побудувати цей вираз:
6. (all_conditions_sieve @1 <= 0 ) = 0
Це збереже всі позитивні значення та переведе негативні числа на нуль, залишивши всі ділянки зі значенням 1 незайманими.
7. Збережіть вихід/результат всередині exercise_data/raster_analysis/ як all_conditions_simple.tif .
Ваш вихід/результат виглядає так:
Що й слід очікувати: спрощена версія попередніх результатів. Пам'ятайте, що якщо результати, які ви отримуєте, не відповідають вашим очікуванням, треба подивитися на метадані (і атрибути вектора, якщо є), які допоможуть вирішити ці проблеми.
Перекласифікація растру
Ми використовували калькулятор растру для обчислення растрових шарів. Є ще один надійний інструмент, який ми можемо використовувати для отримання інформації з існуючих шарів.
Повернемося до шару aspect . Нам відомо, що він має числові значення в діапазоні від 0 до 360. Нам треба перекласифікувати цей шар на інші дискретні значення (від 1 до 4) залежно від аспекту:
· 1 = північ (від 0 до 45 та від 315 до 360);
· 2 = Схід (від 45 до 135);
· 3 = Південь (від 135 до 225);
· 4 = Захід (від 225 до 315).
Цю операцію можна виконати за допомогою калькулятора растру, але формула стане дуже довгою.
Альтернативний інструмент це інструмент Reclassify by table в Raster analysis всередині Processing Toolbox .
1. Потрібно відкрити цей інструмент.
2. Виберіть aspect як Input raster layer .
3. Клацніть на кнопку … з Reclassification table . З'явиться діалогове вікно у вигляді таблиці, де ви можете вибрати мінімальні, максимальні та нові значення для кожного класу.
4. Клацніть на кнопку Add row і додайте 5 рядків. Заповніть кожен рядок, як показано на наступному малюнку, і натисніть кнопку OK :
Метод, використовуваний алгоритмом обробки порогових значень кожного класу, визначається Range boundaries .
5. Збережіть шар як reclassified.tif всередині папки exercise_data/raster_analysis/ .
6. Клацніть на кнопку Run .
Якщо ви порівняєте вихідний шар aspect з шаром reclassified , ви не побачите великих відмінностей. Але, подивившись на символи, ви побачите, що значення починаються від 1 до 4 .
Давайте покращимо стиль цього шару.
1. Потрібно відкрити панель Layer Styling .
2. Виберіть Paletted/Unique values замість Singleband gray .
3. Клацніть на кнопку Classify для того, щоб автоматично отримати значення та присвоїти їм випадкові кольори:
Вихід/результат повинен виглядати наступним чином (кольори у вас можуть бути різними, якщо вони були згенеровані випадковим чином):
Застосувавши до шару дану перекласифікацію та стиль палітри, ви можете відразу розрізняти області аспекту.
Запит до растру
На відміну від векторних шарів, растрові шари не мають таблиці атрибутів. Кожен піксель містить одне або кілька числових значень (односмугові або багатосмугові растри).
Усі растрові шари, які ми використовували в цій вправі, складаються лише з однієї смуги. Залежно від шару значення пікселів можуть відображати значення висоти, аспекту або ухилу.
Як ми можемо запросити растровий шар, щоб отримати значення пікселя? Ми можемо використовувати кнопку Identify Features !
1. Потрібно вибрати інструмент на панелі інструментів «Атрибути».
2. Клацніть на випадкове місце у шарі srtm_41_19 . З'явиться Identify Results зі значенням смуги в місці, яке ви вибрали:
3. Ви зможете змінити вихід панелі Identify Results з поточного режиму tree на режим table , вибравши Table в меню View внизу панелі:
Через деякий час вам може набриднути натискати на кожен піксель для отримання значення растру. Ми можемо використовувати плагін Value Tool для вирішення цієї проблеми.
1. Потрібно перейти на Plugins ► Manage/Install Plugins…
2. У вкладі All наберіть value t у полі пошуку.
3. Виберіть плагін Value Tool , натисніть Install Plugin , а потім Close діалогове вікно.
З'явиться нова панель Value Tool .
Порада
Якщо ви закриєте панель, ви зможете знову відкрити її, активувавши її в View ► Panels ► Value Tool або клацнувши значок на панелі інструментів.
4. Щоб використовувати плагін, просто натисніть на прапорець Enable і переконайтеся, що шар srtm_41_19 є активним (позначений) в панелі Layers .
5. Наведіть курсор на карту, щоб переглянути значення пікселів.
6. Але є ще дещо. Плагін Value Tool дозволяє вимагати всі активні растрові шари в панелі Layers . Зробіть шари aspect та slope знову активними та наведіть покажчик миші на карту:
Наприкінці
Ви подивилися, як отримати всі види аналітичних продуктів з ЦМР. До них відносяться обчислення відмивання, ухилу та аспекту. Ви також дізналися, як використовувати калькулятор растру для подальшого аналізу та об'єднання цих результатів. І нарешті, ви дізналися, як перекласифікувати шар і як запитувати результати.
4. Оформити звіт про виконану самостійну роботу та відправити на оцінювання.
!! Кожен скрін має містити прізвище виконавця самостійної роботи!!
Форма подання результатів виконаної роботи
Результати повинні бути оформлені у вигляді звіту MS Excel та проекту у форматі .qgs.
Критерії оцінювання:
Максимальна оцінка = 15 балів
Розподіл балів, отриманих студентами, показано у відсотках від максимальної оцінки
Елемент завдання |
% |
Звіт до роботи містить назву факультету, назву кафедри, ПІБ виконавця (виконавців бригади), номер курсу та групи, назви завдань в межах лабораторної роботи |
10 |
Робота виконана згідно з методичними рекомендаціями |
20 |
Виконання роботи підтверджується достатньою кількістю скрінів |
10 |
Всі скріни містять прізвище автора роботи |
20 |
Є коментарі та висновок про пророблену роботу |
10 |
Усні відповіді на контрольні запитання |
30 |
Всього |
100 |
Термін виконання
Кінцевий термін здачі роботи дивіться вгорі або знизу сторінки (штраф за запізнення зі здачею роботи - 1 день = 1 бал). На виконання роботи дається п'ятнадціять днів. Потім ресурс лабораторної роботи закривається і перевіряються звіти. Повторно ресур відкривається за три дні до тестуваня знань з модуля та за три дні до іспиту. Якщо студент не зміг вчасно завантажити звіт з поважної причини, то надання додаткового часу для завантаження вирішується окремо в кожному випадку.
Контрольні запитання:
1. Що таке ухил? Як визначається?
2. Чим характеризується растрове зображення?
3. Чи можна здійснювати математичні операції над растрами? Якщо так, то які?
4. Де в QGIS знайти інструменти, якщо їх не має в головному меню чи на панелі інструментів?
Шрифти
Розмір шрифта
Колір тексту
Колір тла