ТЕМА 8. МОЖЛИВОСТІ ГЕОІНФОРМАЦІЙНИХ СИСТЕМ З ВІДКРИТИМ КОДОМ ПРИ ВИРІШЕННІ МОНІТОРИНГОВИХ ЗАДАЧ

 

1. Можливості геоінформаційної системи з відкритим кодом GRASS.

2. Можливості геоінформаційної системи з відкритим кодом QGIS.

Відкрите програмне забезпечення (Open-source software) — програмне забезпечення, у якого є доступним (вихідний) програмний код, що забезпечує найкращі умови для вивчення такого програмного забезпечення та можливого подальшого внесення змін (удосконалень тощо) до нього.

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

Досить часто ВПЗ (вільне програмне забезпечення) асоціюється із Лінуксом (Linux), оскільки більшість програм для цієї операційної системи розповсюджується вільно, найчастіше за ліцензією GNU. Варто зазначити, що і під інші операційні системи — Віндовз (Windows), МакОС (Mac OS) та інші — також є дуже багато вільного ПЗ.

Можливості геоінформаційної системи з відкритим кодом GRASS.

GRASS (англ. Geographic Resources Analysis Support System — Система Підтримки Аналізу Географічних Ресурсів) — це безкоштовна геоінформаційна система (ГІС) з відкритим кодом, з підтримкою обробки растрової, топологічної векторної інформації та комп'ютерної графіки, яка діє на різних платформах через графічний інтерфейс користувача і командний процесор в системі X Window. Розповсюджується на умовах ліцензії GNU GPL.

Розробка GRASS розпочалась в 1982 році, в ній брала участь велика кількість Федеральних агенцій США, навчальних закладів, приватних підприємств. Основні компоненти GRASS і координація зусиль учасників проекту GRASS знаходились у відомстві дослідницької лабораторії збройних сил США (USA-CERL). USA-CERL завершила свій останній випуск GRASS як версію 4.1 в 1992 році, і забезпечила п'ять оновлень і виправленнь до цього випуску до 1995 року. USA-CERL також розробила основні компоненти GRASS 5.

Останній випуск GRASS 6 додає підтримку нових 2D/3D топологічних даних та аналіз векторних мереж. Атрибути даних зберігаються в .dbf файлах або в основаних на SQL СКБД як, наприклад MySQL, PostgreSQL/PostGIS, і SQLite. Система може застосовуватись для візуалізації 3D векторної та воксельної графіки. GRASS підтримує обширний діапазон растрових і векторних форматів через використання бібліотеки GDAL/OGR.

Воксель (в розмовній мові Воксель, англ. Voxel - створене з слів: об'ємний (англ. volumetric) і піксель (англ. pixel) - елемент об'ємного зображення, що містить значення елемента растра в тривимірному просторі. Вокселя є аналогами пікселів для тривимірного простору. Воксельні моделі часто використовуються для візуалізації та аналізу медичної та наукової інформації.

Архітектура

GRASS підтримує обробку растрових і векторних даних в двох та трьох вимірах. Модель векторних даних ґрунтується на топології, що означає, що області визначаються границями та центроїдами; границі не можуть перекриватись на одному шарі. Такий підхід протилежний стандарту Simple Features консорціуму OpenGIS, який визначає вектори набагато вільніше, подібно до систем векторної графіки загального призначення.

GRASS розроблено як середовище, в якому виконуються різні інструменти, призначені для виконання специфічних для ГІС функцій. На відміну від звичайного прикладного програмного забезпечення, після запуску GRASS користувачу відображається модифікований командний процесор UNIX для виклику команд GRASS (також має назву модулів). Середовище містить наступну інформацію: географічний регіон, застосовані картографічні проекції, тощо. Під час роботи всі модулі GRASS зчитують цю інформацію та отримують спеціальні параметри (такі як вхідні та вихідні карти, або значення параметрів, що використовуються в обчисленнях). Більшість із модулів GRASS та можливостей системи доступні через графічний інтерфейс користувача (який реалізовано в модулі GRASS). В базову поставку GRASS включено приблизно 200 основних модулів, і понад 100 модулів доступні на сайті GRASS. Бібліотеки GRASS та основні модулі написано мовою програмування C; інші модулі написано на C, UNIX shell, Tcl та інших мовах програмування. Модулі GRASS створювались відповідно до філософії UNIX, і, тому, можуть комбінуватись в скриптах для створення нових модулів, що розв'язують специфічні задачі користувачів.

Існує модуль підтримки взаємодії з Quantum GIS (QGIS). Останні версії QGIS можуть виконуватись в середовищі GRASS, перетворюючи QGIS на дружній графічний інтерфейс, більш схожий на графічні інтерфейси типових ГІС.

Там також існує проект, реалізації GRASS на платформі Java[1], відомий як JGRASS.

GRASS - гібридна ГІС з модульною структурою, що дозволяє працювати як з растровими так і векторними даними. Кожна функція GRASS виконується своїм модулем. Таким чином, GRASS має чітку прозору структуру. Іншою перевагою модульної структури є оптимальна робота з пам'яттю – одночасно працюють тільки необхідні модулі.

 

Географічні дані

ГІС складається з чотирьох основних компонентів:

Введення

Адміністрування

Аналіз

Презентація
Ця чотирьохкомпонентна модель працює з просторовими, атрибутивними та графічними даними з наступними властивостями:

· Просторові дані описують просторову структуру об'єктів включаючи їх форму і положення відносно один одного в просторі. Зазвичай просторові зв’язки між окремими точковими, лінійними і полігональними об'єктами визначаються через відповідну систему координат, що зв'язує їх положення з реальним світом. Просторові дані можуть бути представлені як растрові (пікселів) або векторні (полігони / площі, лінії, точки) об'єкти.

· Растрові дані неперервно розподілені в просторі і являють собою матрицю зазвичай квадратних клітинок однакового розміру. Кожна комірка має атрибут, який представляє будь-яке явище (наприклад температуру або колір). Кожна комірка також має координати, виражені у вигляді номера рядка і стовпця в яких вона перебуває. Доступ до просторових даних здійснюється за допомогою географічних координат або рядків / стовпців. Робота з растровими даними включає аналіз і застосування даних дистанційного зондування таких як спектрозональна аеро-, космічна зйомка та інших типів растрових даних. Один з головних недоліків растрових даних - експонентний ріст необхідних обчислювальних ресурсів (часовий ресурс ЦПУ) разом із зростанням розширення. В останні роки у зв'язку зі збільшенням потужності ЦПУ і ємності носіїв цей недолік став менш актуальним. Растрові дані не підтримують так звані відносини сусідства, так як кожен піксель унікально визначено положенняя у системі координат .

· Векторні дані використовуються для зберігання лінійних або полігональних об'єктів (замкнуті лінії). Кожен векторний об'єкт може мати один, кілька або не мати атрибутів (властивостей). Для атрибутивних даних в GRASS за замовчуванням використовується формат dBase. Так само можна підключатися до різних СУБД таким як, наприклад, PostgreSQL, MySQL, Oracle та інших. У порівнянні з растровими даними, векторні дані характеризуються відносно невеликими вимогами до пам'яті і більш швидкою обробкою таких даних. На відміну від растрових даних векторні дані мають топологію, яка означає, що лінії і полігони «знають» з яких вузлів вони складаються і з якими об'єктами вони межують.

Точкові дані можна вважати особливою формою векторних даних, які використовуються для зберігання безрозмірних об'єктів. З цими даними можна працювати як з векторними починаючи з GRASS 6.0, у версії 5.4 точкові дані мають особливий формат.

Атрибутивні дані пов'язані з усіма типами даних перерахованими вище. Зазвичай, вони зберігаються в базі даних, до якої ГІС підключається за допомогою DBMi (інтерфейс управління базою даних).

Графічні дані - описують те, як просторові дані будуть виглядати на пристрої виводу (моніторі, плоттері і т.д.).

Явища і об'єкти можуть використовуватися в ГІС у двох формах:

· безперервне подання -> матричні і необмежені в просторі об'єкти

· дискретне подання -> певні майданні і лінійні об'єкти

При організації ГІС, вибір типу даних визначається стандартами, дозволом, обсягом даних та їх джерелами, планованим аналізом даних та іншими умовами.

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

 

Виміри даних у ГІС

Просторові дані в основному представлені в плоскому, двомірному вигляді (2D) або, якщо присутній третій параметр (наприклад висота), в псевдотривимірному вигляді (2.5D). Дані про сторони об'єктів (наприклад стіни будинків або сходові прольоти) можуть бути представлені тільки в тривимірному вигляді (3D) і працюють з ними спеціальні системи

 

База даних GRASS

Просторові дані зберігаються GRASS в наборі стандартних піддиректорій, сукупність яких називається базою даних GRASS. У більшості випадків для бази даних створюється нова директорія в домашній директорії Home користувача. Набір піддиректорій у вигляді так званої «області» (location) буде автоматично створений для кожного проекту, що створюється в GRASS. Всі дані проекту зберігаються в піддиректоріях області. Область може бути далі розділена на піддиректорії, звані «набори» (mapsets). За допомогою цих категорій GRASS контролює організацію і доступ до даних. У зв'язку з тим, що різні складові даних (просторових, атрибутивних та графічних) кожного з шарів зберігаються в різних піддиректоріях, всі операції з управління даними повинні здійснюватися за допомогою команд GRASS, наприклад файлові операції (копіювання, видалення, перейменування) повинні здійснюватися відповідними командами GRASS (g.copy, g.remove, g.rename)

Вся інформація про проекції і географічні системи території проекту зберігається в спеціальному наборі області, який носить назву PERMANENT і автоматично генерується GRASS. Якщо необхідно, будь-які дані (наприклад вихідні дані) проекту можуть також зберігатися в цьому наборі, і тільки користувач, що створив цей проект, має права доступу для цього набору. Внутрішня структура даних гарантує, що ці дані не можуть бути змінені іншими користувачами.

В області GRASS можна управляти доступом до наборів окремо. Якщо в наборі PERMANENT не зберігається жодних просторових даних, він буде містити лише таку інформацію про проект:

· DEFAULT_WIND Координати кордонів, розширення та дозволи робочого простору PERMANENT

· MYNAME Назва проекту -> наприклад: hanover

· PROJ_INFO Опис проекції -> наприклад, tmerc (Проекція поперечна Меркатора), bessel (еліпсоїд), potsdam (датум)

· PROJ_UNITS Опис використовуваних одиниць: наприклад: метри

· WIND Опис поточного фрагмента (REGION) і проекції набору (MAPSET)

· VAR Опис драйвера бази даних і шляхів

 

Структура наборів

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

У GRASS 6.0 один користувач може запускати кілька паралельних сесій GRASS.

Структура команд GRASS

Команди GRASS мають дуже чітку структуру. Тип команди може бути визначений по скороченню перед першою крапкою (префікс). Команди представляють собою незалежні програми і називаються модулями GRASS. Їх назви описують самі себе. Так, наприклад, модуль для векторизації називається r.digit, щоб конвертувати векторні дані в растрові потрібно використовувати модуль v.to.rast.

Модулі GRASS, якщо Ви працюєте в Unix / Linux, можна також використовувати спільно з командами системи за допомогою оболонки системи - командного інтерпретатора. Це особливо корисно для цілей програмування, інтеграції ваших модулів або модулів GRASS. Незважаючи на те, що спочатку це здається складним для новачка, GRASS надає практично необмежені можливості реалізації своїх власних процесів. Також дуже просто створювати прості Unix скрипти для командного інтерпретатора.

Начало формы

Quantum GIS - вільна крос-платформна геоінформаційна система.

Робота над QGIS була розпочата в травні 2002 року, а в червні того ж року - створено проект на базі SourceForge. Метою створення QGIS було зробити використання геоінформаційних систем легким і зрозумілим для користувача, чого творці QGIS почасти домоглися: інтерфейс Quantum GIS набагато зрозуміліший для недосвідченого користувача, ніж інтерфейс того ж GRASS (на якому QGIS багато в чому базується), а в деяких аспектах навіть перевершує широко поширені пропріє тарні (не вільні) ГІС.

Інтерфейс Quantum GIS був створений за допомогою інструментарію Qt

 

Qt (офіційна вимова «кьют», часто вимовляється як «кьюті») - крос-платформний інструментарій розробки ПЗ на мові програмування C + +. Є також «прив'язки» до багатьох інших мов програмування: Python - PyQt, PySide; Ruby - QtRuby; Java - Qt Jambi; PHP - PHP-Qt та інші.

Дозволяє запускати написане за його допомогою ПЗ в більшості сучасних операційних систем шляхом простої компіляції програми для кожної ОС без зміни початкового коду. Включає в себе всі основні класи, які можуть знадобитися при розробці прикладного програмного забезпечення, починаючи від елементів графічного інтерфейсу і закінчуючи класами для роботи з мережею, базами даних і XML. Qt є повністю об'єктно-орієнтованим, легко розширюваною і підтримує техніку компонентного програмування.

Qt, зокрема, використовуються в Autodesk Maya, Adobe Photoshop Elements, OPIE, Skype, VLC media player, VirtualBox, і Mathematica, і на European Space Agency, DreamWorks, Google, HP, KDE, Lucasfilm, Panasonic, Philips, Samsung, Siemens, Volvo і Walt Disney Animation Studios.


Перегляд данних

Можна переглядати і накладати один на одний векторні і растрові дані в різних форматах і проекціях без перетворення у внутрішній або загальний формат. Підтримуються наступні основні формати:

· просторові таблиці PostgreSQL з використанням PostGIS, векторні формати, підтримувані встановленою бібліотекою OGR, включаючи shape-файли ESRI, MapInfo, SDTS (Spatial Data Transfer Standard) і GML (Geography Markup Language) і ін.

· Формати растрів і графіки, підтримувані бібліотекою GDAL (Geospatial Data Abstraction Library), такі, як GeoTIFF, Erdas IMG, ArcInfo ASCII Grid, JPEG, PNG та ін.

· бази даних SpatiaLite (див. Розділ 3.3)

· растровий і векторний формати GRASS (область / набір даних).