Олександр Мацібора. Впровадження SpatioTemporal Asset Catalog (STAC) та Cloud Optimized GeoTIFFs (COG) у веб-ГІС застосунках на основі фреймворку Vue.js і бібліотеки OpenLayers.js
SpatioTemporal Asset Catalog (STAC) — потужний інструмент презентації та роботи із просторовими даними, який набуває популярності сьогодні. Тому потенціал даного формату з інтерактивної взаємодії із Cloud Optimized GeoTIFFs (COGs) на стороні клієнтського веб-застосунку потребує більш детального розгляду.
Бібліотеки. Одними із найбільш популярних картографічних бібліотек для роботи із STAC COGs є Leaflet.js та OpenLayers.js. Не зважаючи на широку функціональність Leaflet.js, найновіша стабільна версія цієї бібліотеки (1.9) була опублікована 21 вересня 2022 року. Натомість, OpenLayers.js активно розробляється і реліз версії 10.6 відбувся 16 червня 2025. Що робить OpenLayers.js більш перспективною для використання у нових веб-проектах.
Також, в екосистемі OpenLayers доступний додатковий NPM пакет “ol-stac”, стабільна версія якого (1.0) була опублікована на початку липня 2025 року. Даний пакет розширює можливості OpenLayers.js шляхом впровадження специфічних методів і параметрів для роботи із STAC об’єктами.
Набори даних. З метою демонстрації функціональності “ol-stac” використано два різних набори даних: 1) Capella Space Open Data SAR dataset та 2) Wyvern’s Open Data hyperspectral dataset. Основним завданням є показати гнучкість у відображенні двох принципово відмінних об’єктів STAC: Cloud Optimized GeoTIFF (COG) від Capella Space (geoTIFF) та звичайного просторово-координованого зображення космознімку від Wyvern (PNG).
Просторовий шар типу STAC підтримує більшість популярних методів роботи та управління шарами в OpenLayers.js, зокрема: “getExtent()”, “addLayer()” або “removeLayer()”. Але включає і ряд специфічних методів, наприклад “getStacObjectsForEvent(event)”, який може бути застосований до “singleclick” події в межах області карти.
Capella Space Open Data SAR. Розмір файлів GeoTIFF у каталозі коливається в межах від 500 МБ до 2 ГБ, що може обумовити ряд проблем швидкодії під час відображення на стороні клієнтського веб-застосунку. В той час, як ключовою особливістю COG є можливість часткового завантаження зображення на основі HTTP запиту з клієнтського веб-застосунку. Таким чином, великі GeoTIFF файли можуть бути відображені на веб-карті, як звичайні шари растрових тайлів, залежно від масштабного рівня. Для досягнення подібного ефекту необхідно застосувати додатковий параметр “buildTileUrlTemplate” під час створення нового STAC шару.
Wyvern’s Open Data hyperspectral dataset. У випадках, коли необхідно вибрати конкретний набір даних в межах STAC об’єкту, є можливість явно зазначити “asset” параметр, що буде вказувати на окрему групу STAC властивостей. Для Wyvern існує два варіанти значення “asset”: “Overview image” та “Thumbnail image”. “Overview image” — включає в себе PNG-зображення розміром 8-10 МБ з повною роздільною здатністю і кольоровою гаммою, наближеною до природної. Даний растровий файл також може бути відображений в межах інтерактивної веб-карти.
Особливості. У порівнянні з просторовими шарами OpenLayers інших типів, параметр “zIndex” в об’єкті STAC демонструє ефект, дещо відмінний від очікуваного. Тому для гарантованого відображення GeoTIFF над PNG файлом було імплементовано додаткову JavaScript логіку.
Повний перелік застосованих фреймворків та бібліотек:
Quasar Framework (Vue.js based)
OpenLayers.js
ol-stac
proj4
Корисні посилання:
веб-ГІС застосунок: https://rmcf.github.io/stac
“ol-stac” NPM пакет: https://github.com/moregeo-it/ol-stac


