Олександр Мацібора. Прототип веб-атласу розробленого з Vue.js (Quasar.js), Leaflet.js і векторними тайлами Tippecanoe, розгорнутий в хмарному децентралізованому сховищі Storj
У процесі впровадження односторінкових веб-ГІС застосунків завжди постає питання гнучкості подібної архітектури. Іншими словами: чи можна використовувати ту ж саму програмну логіку та компонентну структуру клієнтського веб-ГІС застосунку, але з іншими джерелами просторових даних? Також, чи є можливість замінити статичні geoJSON файли на REST API або векторні тайли в хмарному сховищі?
Коротка відповідь: так, звичайно. Для доведення даного твердження була розроблена окрема версія “Веб-атласу демографічних даних”, у якій той же веб-ГІС застосунок отримує просторові дані з іншого джерела. Для ускладнення експерименту було прийнято рішення замінити всі статичні geoJSON файли на шари векторних тайлів. Але виникло інше питання — де зберігати десятки (сотні) тисяч .pbf файлів невеликого розміру (10-15kB)?
Storj — це AWS S3-сумісне сховище, спроектоване як децентралізована розподілена хмара. Зручна опція для імплементації децентралізованої хмари в архітектуру “безсерверної” веб-ГІС.
Веб-атлас демографічних даних — це веб-орієнтована геоінформаційна система, яка розроблена із застосуванням винятково технологій з відкритим програмним кодом та публічних даних. Головною особливістю даної веб-ГІС є “безсерверна” архітектура, яка передбачає, що вся програмна логіка і файли конфігурації знаходяться на стороні “клієнта”.
У відповідності до даного підходу, веб-ГІС застосунок та просторові дані (файли векторних тайлів .pbf) розгорнуті на інфраструктурі Storj — в об’єктному сховищі на децентралізованій хмарі (AWS S3-сумісній). Створення двох bucket (окремо для веб-ГІС застосунку та окремо для просторових даних) в межах проекту Storj забезпечує незалежну роботу над програмною логікою веб-ГІС та джерелами даних.
Основні етапи впровадження елементів децентралізованого хмарного сховища Storj:
-
реєстрація безкоштовного облікового запису Storj
-
створення двох bucket в межах проєкту (веб-хостинг: на якому буде розгорнута веб-ГІС та сховище векторних тайлів: де буде розташовуватись каталог .pbf файлів)
-
конвертація статичних geoJSON файлів у набори векторних тайлів засобами Tippecanoe CLI
-
завантаження фінальної версії веб-ГІС на веб-хостинг за допомогою Uplink CLI
-
завантаження каталогу із більше ніж 6000 .pbf файлів за допомогою Uplink CLI
-
реєстрація нового субдомену в сервісах DNS-провайдера (в даному випадку CloudFlare) і додавання необхідних записів: CNAME, TXT, TXT, які вказують на веб-хостинг, де розгорнуто веб-ГІС
Підсумки
-
Storj надає безкоштовний тарифний план із 25ГБ обсягу хмарного сховища та 25ГБ трафіку на місяць, чого цілком достатньо для ознайомлення з інфраструктурою децентралізованого хмарного сховища, або навіть запуску невеликого наукового проєкту, такого як прототип веб-атласу
-
Uplink з інтерфейсом командного рядка — надійний та простий у використанні інструмент для управління хмарним сховищем і перенесення файлів (навіть рекурсивно)
-
Storj — це хмарне сховище, повною мірою сумісне з AWS S3, яке можна використовувати одразу у веб-браузері або в серверному середовищі (Node.js)
-
впровадження попередньо згенерованих векторних тайлів прискорює роботу веб-ГІС та робить її більш “легкою” для взаємодії з боку веб-браузера, оскільки його задача зводиться лише до відображення тайлів без жодних обчислень чи перетворень “на льоту”
-
за даним посиланням можна ознайомитись із онлайн-версією веб-ГІС і оцінити її швидкодію: https://atlas-prototype.web.app/