GDAL
| Тип | ГІС |
|---|---|
| Автор | Френк Вармердам |
| Розробники | Open Source Geospatial Foundation |
| Перший випуск | 8 червня, 2000 |
| Платформа | Cross-platform |
| Операційна система | UNIX-подібні операційні системи |
| Мова програмування | C, C++, Python |
| Доступні мови | English |
| Ліцензія | X/MIT |
| Репозиторій | github.com/OSGeo/GDAL |
| Вебсайт | gdal.org |
GDAL (англ. Geospatial Data Abstraction Library) — відкрита програмна бібліотека для читання, запису та обробки растрових і векторних геопросторових форматів даних.[1] Бібліотека розробляється під егідою Open Source Geospatial Foundation (OSGeo) і розповсюджується за ліцензією типу X/MIT.[2] Як «транслятор» форматів, GDAL надає єдину абстрактну модель даних для великої кількості підтримуваних форматів і постачається з набором утиліт командного рядка для перетворення та аналізу даних.
Розробка GDAL була розпочата канадським розробником Френком Вармердамом наприкінці 1990-х років.[2] Перші публічні версії з’явилися на початку 2000-х і швидко набули популярності в спільноті геоінформаційних систем завдяки підтримці великої кількості форматів і відкритій ліцензії. Згодом проєкт було формалізовано в рамках Open Source Geospatial Foundation, а розвитком займається керівний комітет GDAL/OGR Project Steering Committee. Зростання екосистеми вільного GIS-ПЗ (QGIS, GRASS GIS, MapServer та ін.) зробило GDAL де-факто стандартом для доступу до геопросторових форматів у багатьох програмах.[3]
GDAL/OGR реалізовано переважно мовою C++ як крос-платформену бібліотеку, що працює в операційних системах Windows, Linux, macOS та інших Unix-подібних системах.[1] Компонент GDAL відповідає за роботу з растровими даними (цифрові зображення, цифрові моделі рельєфу, супутникові знімки тощо), тоді як компонент OGR (OGR Simple Features Library), що входить до того самого вихідного дерева, працює з векторними даними (точки, лінії, полігони та їх атрибути). Бібліотека надає абстрактні класи для читання і запису даних, а також механізм «драйверів», кожен з яких реалізує підтримку конкретного формату файлів або джерела даних (файлова система, веб-сервіси, просторові бази даних).[2]
Однією з ключових особливостей GDAL є підтримка великої кількості форматів. Сучасні версії бібліотеки надають повну або часткову підтримку сотень растрових і десятків векторних форматів.[4] Серед поширених растрових форматів — GeoTIFF, JPEG, PNG, IMG (Erdas Imagine), різні ASCII Grid, NetCDF та формати цифрових моделей рельєфу. До векторних форматів, що підтримуються OGR, належать ESRI Shapefile, GeoPackage, MapInfo TAB, PostGIS, Oracle Spatial, SpatiaLite, а також веб-служби на кшталт WFS.[5] Для багатьох форматів можливі як читання, так і запис, а в окремих випадках реалізовано лише читання або експериментальну підтримку.
Архітектура GDAL побудована навколо єдиної абстрактної моделі даних. Для растрової частини це, як правило, багатоканальний растр з геоприв’язкою (геотрансформ, проєкція, метадані). Для векторної частини OGR використовує концепцію шарів (layers), які містять набори об’єктів (features) з геометрією та атрибутами.Такий підхід дозволяє прикладним програмам працювати з різними форматами через однаковий інтерфейс, не зважаючи на внутрішні відмінності реалізації.Перетворення координат і проєкцій зазвичай здійснюється через окрему бібліотеку PROJ, з якою GDAL тісно інтегрований.[1][2]
Разом із бібліотекою постачається набір утиліт командного рядка, що дозволяють виконувати типові операції без написання коду. Серед найуживаніших растрових утиліт[6]:
- gdalinfo — отримання метаданих про растр (розмір, геоприв’язка, проєкція, статистика тощо);
- gdal_translate — конвертація між форматами, зміна роздільної здатності, обрізання та інші операції;
- gdalwarp — перепроєктування, трансформація і створення мозаїк;
- gdal_merge.py — об’єднання кількох растрових файлів в один;
- gdaldem — розрахунок похідних моделей рельєфу (крутизна, експозиція, тіньовий рельєф тощо).[7]
Для векторних даних компонент OGR надає утиліти ogrinfo (перегляд структури і вмісту) та ogr2ogr (конвертація, фільтрація, перепроєктування, завантаження в просторові бази даних).[8] Багато інструментів GDAL/OGR використовуються як «будівельні блоки» при створенні сценаріїв обробки даних і конвеєрів просторового ETL.[3]
Ядро GDAL написане на C++, однак бібліотека має прив’язки (bindings) до низки мов програмування. Найпоширенішою є прив’язка для Python, яка широко використовується в інструментах автоматизації обробки геоданих, веб-службах і наукових дослідженнях. Також існують прив’язки для Java, C#, та інших мов, що дозволяє використовувати можливості бібліотеки в різних програмних середовищах.[1] Частина веб-фреймворків і аналітичних інструментів (наприклад, GeoDjango, окремі пакети для R) опирається на GDAL/OGR для підтримки форматів геоданих.
GDAL/OGR використовується в багатьох настільних, серверних і вбудованих програмних продуктах. До найвідоміших вільних GIS-систем, що покладаються на бібліотеку, належать QGIS, GRASS GIS, gvSIG, SAGA GIS, MapServer, GeoServer та інші проєкти спільноти OSGeo. У комерційному секторі GDAL часто застосовується як компонент для підтримки великої кількості форматів у настільних ГІС-пакетах, аналітичних платформах і серверних рішеннях. Бібліотека відіграє роль «інфраструктурного шару» — невидимої для кінцевого користувача частини програм, яка забезпечує ввод/вивід і базові перетворення геопросторових даних.[3]
GDAL розповсюджується за відкритою ліцензією типу X/MIT, яка дозволяє вільне використання, модифікацію та включення бібліотеки до власницького програмного забезпечення за умови збереження тексту ліцензії та повідомлень про авторські права.[2] Розвиток проєкту координується Open Source Geospatial Foundation, а код розміщується у відкритому репозиторії (зокрема на GitHub).[9] Релізи бібліотеки регулярно оновлюються, додаються нові драйвери форматів, вдосконалюється підтримка сучасних стандартів OGC, просторових баз даних і хмарних сервісів зберігання даних.[3]
Деякі програми використовують бібліотеки GDAL/OGR, щоб читати та записувати різні ГІС-формати:
- QGIS - вільна кросплатформова геоінформаційна система, написана на Qt.
- GRASS - вільна кросплатформова геоінформаційна система з потужним інтерфейсом командного рядка.
- GvSIG - вільна кросплатформова геоінформаційна система, написана на Java.
- MapServer — відкрите середовище розробки геопросторових Інтернет-додатків.
- Google Earth — проект компанії Google, в рамках якого в Інтернеті були розміщені супутникові фотографії всієї земної поверхні.
- R - мова програмування та середовище для статистичного аналізу. Існують розширення для аналізу геопросторових даних.
- ArcGIS – сімейство програмних продуктів американської компанії ESRI. Починаючи з версії 9.2, може використовувати GDAL для роботи з деякими форматами файлів
- ↑ а б в г GDAL — GDAL documentation. gdal.org (англ.). Процитовано 27 листопада 2025.
- ↑ а б в г д GDAL - OSGeo. wiki.osgeo.org. Процитовано 27 листопада 2025.
- ↑ а б в г GDAL/OGR — OSGeoLive 16.0 Documentation. live.osgeo.org. Процитовано 27 листопада 2025.
- ↑ Raster drivers — GDAL documentation. gdal.org. Процитовано 27 листопада 2025.
- ↑ Vector drivers — GDAL documentation. gdal.org. Процитовано 27 листопада 2025.
- ↑ Programs — GDAL documentation. gdal.org. Процитовано 27 листопада 2025.
- ↑ gdalwarp — GDAL documentation. gdal.org. Процитовано 27 листопада 2025.
- ↑ ogr2ogr — GDAL documentation. gdal.org. Процитовано 27 листопада 2025.
- ↑ Rouault, Even; Warmerdam, Frank; Schwehr, Kurt; Kiselev, Andrey; Butler, Howard; Łoskot, Mateusz; Szekeres, Tamas; Tourigny, Etienne; Landa, Martin (2025-11), GDAL, процитовано 27 листопада 2025
