Створення нових векторних шарів у QGIS 3.34

Автори: Джим Кліффорд, Джош МакФейден і Деніел Макфарлейн Переклала на українську: Христина Марусаж Оригінал уроку: https://programminghistorian.org/en/lessons/vector-layers-qgis

У цьому уроці ви дізнаєтеся, як створювати векторні шари на основі відсканованих історичних карт.

Цей урок є частиною серії з 4 уроків - Ви на уроці 3 попередній урок | наступний урок

Цілі уроку

У цьому уроці ви дізнаєтесь, як створювати векторні шари на основі відсканованих історичних карт. В уроці "Використання Google Карт та Google Планета Земля" ви вже працювали з векторними шарами та створювали атрибути в Google Планета Земля. У цьому уроці ми виконаємо подібні завдання, але на складнішому рівні, працюючи з програмним забезпеченням QGIS.

Векторні шари разом із растровими є двома основними типами структур даних, що застосовуються для зберігання просторової інформації в ГІС. У векторних шарах застосовують три основні елементи ГІС — точки, лінії та полігони, які дозволяють відображати об'єкти реального світу у цифровому форматі. Точки використовують для позначення конкретних локацій, таких як міста, будівлі чи події. Масштаб карти визначає, які об’єкти слід позначати точками. Наприклад, на карті області місто можна позначити точкою, тоді як на карті міста точкою може бути будівля. Лінії ефективно відображають такі об’єкти, як дороги, канали, залізниці тощо. Полігони (замкнені багатокутники, що складаються з кількох сторін) використовують для зображення складних об’єктів, таких як межі озер, країн або виборчих округів. Знову ж таки, масштаб карти впливає на вибір геометрії: великі будівлі на деталізованій карті міста краще зображати полігонами, а не точками.

У цьому уроці ви створюватимете шейп-файли (shapefile — формат для зберігання векторних даних), щоб відобразити історичні зміни в межах громади і доріг міста Чернівці. Кожен шейп-файл може бути створено як один із трьох типів об'єктів: лінія, точка або полігон (проте ці об'єкти не можна комбінувати в одному шейп-файлі). Кожен об'єкт, який ви створюєте в шейп-файлі, має відповідний набір атрибутів, що зберігаються в таблиці атрибутів. Ви будете створювати об'єкти та навчитеся їх редагувати. Це включає не лише візуальне створення трьох типів об'єктів, а й редагування їх атрибутів. Для цього ми будемо використовувати файли з уроку "Встановлення QGIS 3.34 і додавання шарів", що стосуються міста Чернівці.

Початок роботи

Розпочніть із завантаження карти Chernivtsi_1888 до папки проєкту:

Відкрийте файл, який ви зберегли після виконання уроку "Встановлення QGIS 3.34 і додавання шарів". У вашому вікні "Шари" повинні бути такі шари:

  • Boundary1911

  • Lot_town

  • Waterways

  • Landuse

  • Protected_area

  • Highways

  • Places

  • Chernivtsi_1911

Вимкніть усі шари, крім Places, Boundary1911 та Chernivtsi_1911.

Зображення 1

Далі ми додамо іншу історичну карту як растровий шар.

  • у головному меню "Шар" виберіть Додати шар -> Додати растровий шар. Альтернативний шлях – на панелі інструментів "Інструменти диспетчеру джерел даних", виберіть іконку "Відкрити менеджер джерел даних" та перейдіть у вкладку "Растр" додайте шар за допомогою кнопки "Огляд"

  • Зображення 2

  • знайдіть файл, який ви завантажили, з назвою "Chernivtsi_1888.tif"

  • оскільки система координат (СК) цього растрового шару ідентична до решти даних проєкту, його додано без запиту вказати СК.

Примітка: В реальній практиці дані можуть мати різні системи координат. Вам потрібно буде вказати цю інформацію за запитом програми або самостійно. При додаванні нового шару зазвичай з’являється діалогове вікно, де ви можете обрати систему координат у полі "Фільтр". Якщо вікно не з’являється, увімкніть запит системи координат у налаштуваннях. Перейдіть до розділу головного меню "Налаштування" і оберіть "Параметри". На панелі зліва оберіть "CRS and Transforms" (Системи координат та трансформації). У розділі "СК для шарів" у полі запиту "При створенні нового шару або завантаженні шару без системи координат" оберіть "Запитувати для системи координат" із запропонованих нижче параметрів. Після зміни налаштувань, якщо ви видалите растровий шар (на панелі "Шари" натисніть правою кнопкою миші та оберіть "Видалити шар" або скористайтесь однойменною крайньою іконкою у верхньому рядку панелі) і спробуєте додати його знову, вам буде запропоновано обрати СК або параметри трансформації.

Зображення 3
  • На попередніх кроках ви вже обирали і скасовували вибір шарів на панелі "Шари", позначаючи або знімаючи позначки у відповідних полях. Ці шари розташовані у порядку їхньої видимості: верхній шар у списку відображається поверх інших у вікні перегляду (за умови, що він обраний). Ви можете змінювати порядок шарів, перетягуючи їх вгору чи вниз на панелі "Шари". Наприклад, останнім ви додали до проєкту растровий шар "Chernivtsi_1888", тож ймовірно деякі (або всі) шари наразі не відображаються, оскільки розташовані нижче. Загалом найкраще розташовувати векторні шари над растровими.

  • Зніміть позначку з шару "Chernivtsi_1911", щоб єдиним видимим шаром залишився "Chernivtsi_1888". Зверніть увагу, що карта на екрані виглядає дещо деформованою; це пов’язано з тим, що автори уроку вже виконали її геопросторову прив’язку, щоб узгодити з векторними шарами ГІС. Докладніше про геопросторову прив’язку можна дізнатися в уроці Georeferencing in QGIS 2.0 або в уроці про MapWarper.

Тепер ми створимо точковий шейп-файл, який є векторним шаром. Натисніть Шар -> Створити шар ->Створити шар Shapefile...

Зображення 4
  • Альтернативний спосіб — натиснути на іконку "Створити шар Shapefile..." на панелі інструментів "Інструменти диспетчеру джерел даних" у QGIS.

Зображення 5

Після вибору "Створити шар Shapefile..." відкриється вікно під назвою "Створити шар Shapefile".

  • У категорії “Тип геометрії” оберіть зі спадаючого меню "Point" (Точка). Нижче потрібно задати систему координат. За замовчуванням встановлено "EPSG:4326 WGS 84". Змініть систему координат на "WGS84 / UTM zone 35N" шляхом вибору зі спадаючого списку або ж за допомогою кнопки праворуч – "Вибрати систему координат". Далі натисніть ОК (Додаткову інформацію про розуміння та вибір зони UTM можна знайти в статті Система координат UTM).

Зображення 6

Повертаючись до вікна "Створити шар Shapefile", створимо кілька полів (атрибутів). Для створення першого поля:

  • У полі поруч із "Назва" введіть "Sites_Name" (зверніть увагу: у базах даних не можна використовувати пробіли в назвах, тому замість них прийнято використовувати підкреслення, а також варто максимально використовувати латиницю, оскільки деякі функції не розпізнають кирилицю).

  • Натисніть "Додати до списку полів".

Тепер створимо друге поле:

  • У полі поруч із "Назва" введіть "Year".

  • Цього разу ми змінимо "Тип" на "Ціле число (32 біт)".

  • Натисніть "Додати до списку полів".

Для третього поля:

  • У полі поруч із "Назва" введіть "End_Year" (в ГІС не завжди зручно працювати з історичними змінами, тому іноді важливо мати поле для приблизного визначення, коли об’єкт перестав існувати).

  • Знову змініть тип "Тип" на "Ціле число (32 біт)".

  • Натисніть "Додати до списку полів".

Після виконання цих кроків, поверніться до першого рядка діалогового вікна "Створити шар Shapefile" та вкажіть назву файлу "Sites". Оберіть місце розташування файлу (шлях) за допомогою кнопки з трьома крапками праворуч від поля вводу). Рекомендується зберігати шар у тій же папці, що й інші ваші ГІС-файли. Після цього натисніть "ОК" для завершення створення шейп-файлу.

Зображення 7

Зауважте, що тепер на панелі "Шари" з'явився шар під назвою "Sites". Розташуйте його вище – над растровими шарами.

Зображення 8

Вимкніть видимість усіх шарів, окрім "Sites". Ви помітите, що ваше вікно перегляду стало порожнім, оскільки ми ще не створили жодних даних. Тепер ми створимо нові дані, використовуючи обидва шари Chernivtsi_1888 та Chernivtsi_1911, щоб показати збільшення кількості будівель між кінцем ХІХ та початком ХХ століть.

  • Ми почнемо з новішої та, як правило, точнішої карти. Знову виберіть (поставте позначки) Boundary1911 та Chernivtsi_1911.

  • У вікні перегляду наблизьтесь до Rathaus (підказка: Rathaus (Ратуша) знаходиться приблизно в центрі карти). Виберіть шар Sites на панелі "Шари". Для створення об’єкту нам потрібна панель "Інструменти оцифрування" (якщо не доступно увімкніть з розділу меню "Вид" - "Панелі інструментів). На панелі оберіть Переключити редагування.

  • Після того, як ви виберете "Переключити редагування", праворуч на панелі меню з'являться кнопки для редагування. Виберіть кнопку "Додати просторовий об’єкт" (іконка з трьома точками).

Зображення 10
  • Тепер ваш курсор перетвориться на хрестик — наведіть його на Rathaus (якщо ви не орієнтуєтесь в географії міста Чернівці, додайте шар Places — це допоможе знайти потрібну локацію). Переконайтесь, що ви утримуєте курсор в межах розташування об'єкта. Натисніть ліву кнопку миші, щоб створити точку. (Пам’ятайте: цифрування — це завжди компроміс між точністю та зручністю. Для більшості історичних досліджень висока точність не є обов’язковою, адже все залежить від якості оригінальної карти та процесу оцифрування).

  • З'явиться вікно Sites – Атрибути об’єкта. Залиште поле id порожнім (QGIS уже керує внутрішнім ідентифікатором за замовчуванням, і цей доданий вручну ідентифікатор, швидше за все, непотрібний). В полі Sites_Name введіть "Rathaus". В полі Year введіть 1843. Натисніть ОК.

Зображення 11

Тепер повторимо ці кроки для Paraschewa (кафедральний cобор святої Параскеви), Arm Kirche (Вірменська церква) та Erzbischöfliche Residenz (резиденція архієпископа). Щоб легше знайти ці місця, додайте шар Places. Знайдіть Paraschewa на карті, натисніть кнопку "Додати просторовий об’єкт" (іконка з трьома точками) та натисніть на Paraschewa на карті. Коли з'явиться вікно Sites – Атрибути об’єкта, введіть Paraschewa та 1844 в відповідні поля. Повторіть для Arm Kirche (1875) та Erzbischöfliche Residenz (1864).

На панелі Шари зніміть позначку з Chernivtsi_1911 та виберіть Chernivtsi_1888. Тепер ми будемо визначати два місця Verpflegs Magazin та Theatre (продовольчий склад та театр), яких вже не існує.

  • Щоб знайти Verpflegs Magazin, шукайте Elizabeth Placz (площу, зафарбовану білим кольором, по центру карти трохи праворуч). Тут ви знайдете будівлю Verpflegs Magazin.

  • Згідно з історичними даними, зокрема з опису в праці Раймунда Фрідріха Кайндля «Історія Чернівців від найдавніших часів до сьогодення» (с. 251), можна припустити що, ймовірно, через міський розвиток або зміну функції, будівля зникла. Це відображає модернізацію міста та зміну адміністративних потреб у період Австро-Угорщини. З цієї причини ми вкажемо 1911 рік як кінцеву дату для цього місця.

  • За допомогою хрестика натисніть на Verpflegs Magazin. У таблиці атрибутів, що з'явиться, введіть Verpflegs Magazin в поле Sites_Name, введіть 1777 в поле Year, а 1911 — в поле End_Year. Натисніть ОК.

Зображення 12
  • Натисніть піктограму "Зберегти зміни шару" на панелі інструментів (праворуч від "Переключити Редагування").

  • Двічі на шар "Sites" на панелі "Шари", щоб відкрити його властивості. У вікні, що з’явиться, перейдіть на вкладку "Підписи" у верхній частині. У верхньому випадаючому списку виберіть "Single Labels" (якщо потрібно). У полі "Значення" оберіть "Year" (якщо потрібно). Змініть розмір шрифту на 18,0 та колір для чіткої візуалізації. Переконайтесь, що у вкладці "Розташування" в полі "Режим" встановлено "Картографічний", а потім натисніть "ОК".

Зображення 13

Трохи вище і праворуч ми відмітимо Theater (Театр), який на карті 1911 р. вже позначений як Arbeiterhaus (Дім робітників).

  • Натисніть хрестиком на Theater. У таблиці атрибутів, що з’явиться, введіть Theater у полі Sites, 1877 у поле Year і 1911 у End_Year. Натисніть OK.

Зараз ми створимо інший векторний шар – цей шар буде лінійним. Натисніть Шар -> Створити шар ->Створити шар Shapefile...

  • У першому рядку діалогового вікна "Створити шар Shapefile" вкажіть назву та шлях до файлу, наприклад "Road" (збережіть разом з іншими файлами). У полі "Тип геометрії" виберіть "Лінія".

  • Змініть систему координат на "WGS84 / UTM zone 35N" шляхом вибору із випадаючого списку або ж за допомогою кнопки праворуч – "Вибрати систему координат". Далі натисніть ОК.

  • У розділі "Створити поле" полі поруч із "Назва" введіть "Road_Name"

  • У "Тип" вкажіть "String".

  • Натисніть "Додати до списку полів".

Створіть другий атрибут

  • У полі поруч із "Назва" введіть "Year"

  • У "Тип" вкажіть "Ціле число (32 біт)".

  • Натисніть "Додати до списку полів".

  • Щоб завершити створення цього шейп-файлу, натисніть "ОК" у нижній правій частині вікна "Створити шар Shapefile".

Зображення 14

Зараз ми оцифруємо вулиці з карти 1811 року, щоб порівняти їх із сучасними дорогами. Переконайтеся, що у вікні шарів у вас активовані шари Chernivtsi_1811 і Sites. Виберіть шар Road у вікні шарів, виберіть "Переключити редагування" на верхній панелі інструментів, а потім виберіть "Додати лінійний об’єкт"

Зображення 15
  • Розпочнемо з перехрестя вулиць біля Verpflegs Magazin (біля верхнього правого кута будівлі продовольчого складу). Натисніть на перехресті вулиць, а потім кілька разів натисніть у точках уздовж вулиці Rothkirch St., і ви побачите як створюється лінія. Повторюйте, доки не дійдете до кінця вулиці, а потім натисніть правою кнопкою миші. У вікні "Road - Атрибути об’єкта" у полі "Road_Name" введіть "Rothkirch St", а в полі "Year" введіть 1888. Натисніть "ОК".

Зображення 16
  • повторіть цей крок ще для 3-4 доріг, знайдених на карті Chernivtsi_1888.

  • клацніть "Зберегти зміни", а потім — "Переключити редагування", щоб вимкнути його.

Вимкніть шар Chernivtsi_1888 у вікні шарів і активуйте шар доріг Highways. Порівняйте дороги, представлені на шарі Highway (чорні лінії), з дорогами, які ви щойно векторизували (Road).

Зображення 17
  • Ми бачимо, що більшість цих доріг відповідають сучасним дорогам. Це пов’язано з тим, що минуло небагато часу, а також тому, що йдеться переважно про основні дороги старої частини міста, які суттєво не змінювались. Незначні відмінності, ймовірно, виникають через точність карт, картографічну генералізацію та в процесі геоприв'язки. Варто звернути увагу, що кілька перехресть, які у 1888 році мали гострі кути, до 1911 року стали більш прямолінійними. Така зміна може свідчити про тенденції модернізації міст на початку ХХ століття. Однак у ваших дослідженнях можуть траплятися випадки суттєвих змін, які вимагатимуть додаткового історичного аналізу, щоб з’ясувати, чи дороги того часу залишаються недостатньо вивченими, чи справді вони зазнали істотних змін.

Тепер створіть третій тип векторного шару: полігональний. Натисніть Шар -> Створити шар ->Створити шар Shapefile. З’явиться вікно "Створити шар Shapefile".

  • У першому рядку цього вікна вкажіть назву файлу "Landuse_1888" та шлях для його збереження (збережіть разом з іншими файлами). У полі "Тип геометрії" оберіть "Полігон".

  • Змініть систему координат на "WGS 84 / UTM zone 35N" – оберіть її зі списку, або натисніть кнопку праворуч "Вибрати систему координат", знайдіть потрібну систему та натисніть ОК.

  • У розділі "Створити поле", поруч із "Назва" введіть "Type"

  • У полі "Тип" вкажіть "String".

  • Натисніть "Додати до списку полів".

Створіть другий атрибут

  • У полі поруч із "Назва" введіть "Year"

  • У полі "Тип" вкажіть "Ціле число (32 біт)".

  • Натисніть "Додати до списку полів".

Зображення 18

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

  • Натисніть "Переключити редагування" на панелі інструментів, а потім натисніть "Додати полігональний об’єкт".

  • Натисніть на всі чотири кути ділянки, щоб створити полігон.

  • Коли позначите останній кут, натисніть правою кнопкою миші – з’явиться вікно "Landuse_1888 – Атрибути об’єкта". У полі "Type" введіть "Сільськогосподарські угіддя", а в полі "Year" – 1888. Натисніть "ОК".

Зображення 19

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

Натисніть "Переключити редагування" на панелі інструментів, а потім – "Додати полігональний об’єкт".

Оцифруйте якомога точніше контур ділянки, який складніший через свою форму. Щоб показати вам функцію прилипання, оцифруємо ділянку вздовж межі міста 1911 р. "Прилипання" (Snapping) – це автоматична функція редагування, яка дозволяє новим графічним об’єктам (лініям, полігонам) точно прилипати до вже наявних об'єктів на шарі так, щоб їх координати співпадали).

  • Перейдіть у меню Проект -> Параметри прилипання...

Зображення 20

Відкриється вікно "Налаштування прив’язки проекту": У верхньому лівому куті вікна "Налаштування прив’язки проекту" натисніть значок магніту "Увімкнути прилипання" — або клавішу S на клавіатурі. Піктограма має бути активною (виділеною). Знайдіть шар Boundary_1911, у стовпці "Тип" натисніть на "Вершина", щоб відкрити випадаюче меню. Ви побачите, що тип "Вершина" вже обраний, натисніть також на "Сегмент", щоб обрати обидва. Встановіть "Поріг" 10,0 пікселів.

Зображення 21

Переконайтеся, що на панелі "Шари" шар Landuse_1888 активовано і натисніть "Додати полігональний об’єкт" на панелі "Інструменти оцифрування".

  • натисніть курсором у місці перетину червоної лінії – межі міста 1911 р. (Boundary_1911) та вже створеної ділянки. Оскільки верхня межа нової ділянки, повністю збігається з межею міста 1911 р., а нижня — частково з уже оцифрованою ділянкою, для кожної вершини використовуйте прилипання до вершин і сегментів. Це дозволить уникнути щілин і перекриття. Чим більше точок ви поставите — тим точнішим буде полігон. Але пам’ятайте: для історичних ГІС надмірна деталізація не завжди виправдана. Тож шукайте баланс між точністю та ефективністю.

  • Коли позначите останню вершину, натисніть правою кнопкою миші – з’явиться вікно "Landuse_1888 – Атрибути об’єкта". Тут потрібно вказати тип землекористування. Оскільки на історичній карті немає легенди, ми не можемо точно знати призначення кожної ділянки. Проте, ліворуч від цієї ділянки можна побачити іншу з таким же умовним позначенням і підписом німецькою мовою "städt. Weidenpflanzung" (що перекладається як "міська посадка верби"). Це дозволяє припустити, що ділянка належала до озеленених міських просторів. Тому у полі "Type" введіть "Міські зелені зони", а в полі "Year" - 1888. Натисніть ОК.

Зображення 22

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

У Google Планета Земля є обмеження щодо типів об’єктів, атрибутів і даних, які можна використовувати. Більшість роботи ця програма виконує автоматично. Це зручно, коли ви лише починаєте вивчати картографію або хочете швидко створити карту. Однак QGIS дає набагато більше свободи та контролю: ви самі вирішуєте, які типи даних використовувати, які об’єкти створювати та які атрибути до них додавати. Це дозволяє створювати унікальні, спеціалізовані карти, які неможливо зробити в Google Планета Земля або Google Картах. У цьому уроці ви вже самостійно створили векторні шари з точками, лініями та багатокутниками. Уявіть, що ви знайшли історичні записи про стан громадського здоров’я у XVIII столітті — ви можете додати ще один шар і перевірити, чи співпадає поширення певної хвороби з мережами доріг або місцями проживання людей. Крім того, програмне забезпечення ГІС дозволяє не лише просторово відображати й представляти дані більш досконалими способами, а й аналізувати їх та створювати нові дані, що неможливо зробити іншими методами.

Ви вже знаєте, як створювати векторні шари. Не забудьте зберегти свою роботу!

Оригінал цього уроку є частиною Geospatial Historian.

Про авторів

Джим Кліффорд, доцент кафедри історії в Університеті Саскачевану. Джош МакФейден, координатор проєктів у Мережі з канадської історії та довкілля. Деніел Макфарлейн, запрошений науковець у Школі канадських студій Карлтонського університету.

Переклад українською: Христина Марусаж – доцент кафедри фотограмметрії та геоінформатики Національного університету "Львівська політехніка", ORCID

Переклад рецензували: Володимир Нікулішин, доцент кафедри Картографії та геопросторового моделювання Національного Університету "Львівська Політехніка", к.т.н, ГІС розробник, Python розробник. Марія Мелешко-Судьїна, аспірантка, Центр сучасної та цифрової історії, Університет Люксембурга.

Рекомендоване цитування: Кліффорд, Джим; МакФейден, Джош та Макфарлейн, Деніел. "Створення нових векторних шарів у QGIS 3.34." Programming Historian, переклала Христина Марусаж, Посібник цифрової історії, 2024.

Last updated