Ця стаття розказує як підготувати карти WMS/WFS або будь-яку відкриту в QGIS карту для оффлайнового використання шляхом збереження тайлів за допомогою консолі Python. Сценарій також створює мозаїку тайлів для подільшого використання.
Сервіси WMS дедалі частіше використовуються для роботи з растровими та векторними даними. Серед їх переваг безпека, централізовані та гнучкі стилі. Прикладом таких сервісів є Google maps, Yahoo, Bing, MODIS, Landsat, карти NASA, NRSC (Індія). Недоліком/обмеженням WMS є необхідність підключення до інтернет. В деяких випадках, особливо під час польових робіт, підключення відсутнє. Також, у порівнянні з традиційними оффлайновими форматами (GeoTiff, JPS) WMS працює значно повільніше.
QGIS підтримує роботу з сервісами WMS. Для підключення до сервісів необхідно мати їх URL, після того, як з’єднання встановлене, відповідну карту можна завантажити в QGIS. Якщо зберегти поточну видиму область як графічний файл (sample.jpg
містить карту, а sample.jpgw
— координати. Це означає, що збережене зображення прив’язане. Ми можемо завантажувати тайли та використовувати їх в оффлайн режимі. Завантаження вручну можливе для маленьких ділянок або коли достатньо зображень низької якості.
За допомогою офіційної документації QGIS було розроблено сценарій для консолі Python. Сценарій складається з наступних основних блоків
координати X, Y першого тайлу
бажаний розмір тайлів (наприклад, 0.001x0.001 градусів)
кількість тайлів, які необхідно завантажити (обчислюється з охоплення карти та розмірів тайлу)
каталог для запису тайлів
Сценарій містить два цикли for, перший з який визначає охоплення карти та кількість рядків/стовпчиків. Після того як охоплення карти задане, вона завантажується в QGIS. Перед збереженняс карти внесено затримку в 3 секунди (залежить від якості підключення). Після завершення роботи сценарія всі тайли записуються до вказаного каталогу, і можуть бути відкриті в QGIS. Також можна підготувати єдиний файл за допомогою інструментів Merge або Build Virtual Raster з набору GDALTools. Обидва інструменти генерують мозаїку, відмінність в тому, що Merge створює «незалежне» зображення, а Build Virtual Raster генерує зв’язки між тайлами (тобто тайли необхідні).
Недоліком методу є те, що зміні на сервері не будуть відображатися в режимі оффлайн. У цьому випадку користувач повинен згенерувати нову карту. Іншим недоліком є використання звичайного формату зображення, яке не може використовуватися для тематичного картографування бо класифікації. Хоча деякі карти землекористувань з певними зусиллями можна конвертувати у веторний формат із втратою частини даних.
Отримана мозаїка є звичайним зображенням, навіть якщо вона була створена з тематичної карти (7-8 кольорів). За допомогою таких функцій як рекласифікація, об’єднання шарів/каналів цей растр можна перевести у векторний формат. WMS підтримує різні типи запитів, наприклад GetCapabilities, GetMap, GetFeatureInfo та ін. За допомогою запиту GetFeatureInfo можна отримати атрибутивну інформацію об’єктів. Цей сценарій також можна перетворити на плаґін, і таким чином для його використання додаткові знання не знадобляться.
З вищенаписаного зрозуміло, що QGIS може використовуватися на просунутому рівні. За наявності базових навичок програмування можна створювати сценарії та плаґіни, які спрощують роботу. Можливість використовувати плаґіни, розроблені користувачами зі всього світу є однією з найкращих можливостей QGIS. Офіційна документація містить достатьньо інформації для розробки вкласних сценаріїв, а обробка растрових даних за допомогою GDALTools надзвичайно проста.