DIVI – filozofia działania

Informacja o starcie DIVI, spotkała się z bardzo dużym odzewem. Dziękujemy redakcji Geoforum i Gisplay za artykuły, a Wam za e-maile z pytaniami, prośbami o dostęp i ciepłymi słowami. Poniższy artykuł ma na celu wyjaśnienie logiki jaką się kierowaliśmy tworząc DIVI i sposobu w jakim spełnia swój podstawowy cel, czyli poprawa funkcjonowania firm, poprzez wykorzystanie GIS.

Stworzyliśmy wiele aplikacji webowych, których podstawowym komponentem jest mapa, jednak głównym celem jest dotarcie do informacji. Dotarcie w szybki i wygodny sposób do wiarygodnej i aktualnej informacji przez osoby, które nie muszą wiedzieć co to GIS, układy współrzędnych, warstwy, geoportale itp. Te osoby mapę traktują jak zwykłą stronę internetową i oczekują prostoy, szybkości i responsywności.

Przygotowanie aplikacji wyglądało zawsze podobnie: zaczynało się od stworzenia środowiska, instalacji kilku aplikacji (baza danych, serwer danych GIS, aplikacja backendowa do obsługi bazy itp), potem trzeba było zabezpieczyć dostępy, skonfigurować połączenia itd. Generowało to koszty w trakcie tworzenia, a także później, ponieważ całe to środowisko trzeba było monitorować, aktualizować itd. Tworzenie samej aplikacji webowej, czyli tego, czego oczekiwał klient (i za co wydawało mu się, że płacił) przeważnie było najkrótszą częścią wdrożenia. Finalnie klient dostawał aplikację, która składała się z kilku podstron a koszt był duży. My też mieliśmy mało radości z tworzenia backendów zamiast użytecznych aplikacji.

Stwierdziliśmy, że potrzebujemy solidnego narzędzia, dzięki, któremu raz na zawsze załatwimy kwestie backendu (to czego nie widać) do tworzenia aplikacji mapowych. Postanowiliśmy stworzyć narzędzie, dzięki któremu będziemy mogli skupić się na tworzeniu rozwiązań dopasowanych do modeli i procesów biznesowych klientów, a nie sklejać oprogramowanie „na tyłach”. Przy okazji postanowiliśmy rozwiązać kilka innych problemów, które często się w GIS pojawiają np. edycja danych w wiele osób, historia edycji, dołączanie załączników do obiektów itp. Tak powstała koncepcja DIVI. Po 12 miesiącach pracy kilku programistów doszliśmy do momentu, że możemy nasze rozwiązanie pokazać światu.

Czym właściwie jest DIVI?

DIVI składa się z 4 zintegrowanych komponentów

  1. aplikacja serwerowa (DIVI.io)
  2. wtyczka do QGIS
  3. aplikacja mobilna (przeglądarka i kolektor danych)
  4. DIVI API

do których dostęp otrzymuje się po założeniu konta (dla firmy) i stworzeniu użytkowników (identyfikowanych przez login i hasło)

Aplikacja serwerowa (zintegrowana baza danych, serwer danych GIS i kilka innych) z dostępem przez przeglądarkę www po zalogowaniu się (ryc.1). to główny komponent i mózg DIVI. Tam są przechowywane dane (przestrzenne i nieprzestrzenne oraz załączniki do obiektów), zarządza się użytkownikami przypisanymi do konta (tworzy nowych, nadaje uprawnienia do konkretnych warstw i aplikacji), zachowuje się cała historia edycji danych oraz decyduje się o udostępnianiu danych na zewnątrz (w postaci rastrowej, wektorowej oraz interaktywnych map). Dodatkowo można tworzyć i edytować dane w wygodnym managerze (ryc.2), uploadować pliki z danymi przestrzennymi, geokodować dane, nadawać im symbolizację, podczytywać WMS, podkłady mapowe i wiele innych. To taka konsola administracyjna.

Wtyczka QGIS powstała w celu umożliwienia tworzenia zaawansowanych kompozycji kartograficznych oraz zaawansowanej edycji w QGIS Desktop. Działanie jest bardzo proste. Po zalogowaniu się, otrzymujemy listę warstw, do których mamy dostęp na koncie DIVI. Warstwy te możemy dodać do projektu QGIS. Od tej pory, możemy je edytować jak każdą inną warstwę (możemy korzystać z kalkulatora pól, narzędzi zaawansowanej edycji, CAD Tools itp.). Zapis zmian, powoduje wysłanie informacji o edycjach do DIVI, dzięki czemu w przeglądarce historii wiadomo kto i kiedy edytował dane. Jest to bardzo pomocne w przypadku dynamicznych zbiorów danych.

Aplikacja mobilna DIVI Mobile to zarazem przeglądarka i kolektor danych. Po zainstalowaniu na urządzeniu mobilnym, należy się zalogować swoim loginem i hasłem DIVI. Otrzymamy listę projektów, do których mamy uprawnienia. Po przejściu do projektu zobaczymy mapę z danymi oraz wszystkimi skonfigurowanymi w DIVI.io podkładami i WMSami. Po wybraniu warstwy aktywnej możemy identyfikować obiekty, edytować atrybuty, dodawać zdjęcia wprost z aparatu, lub dodawać załączniki z pamięci urządzenia. Możliwa jest geolokalizacja a także dodawanie punktów, linii i poligonów. Oczywiście wszystkie zmiany są zapisywane online i możliwe do przeglądania w historii edycji. Jest to bardzo wygodne narzędzie do inwentaryzacji terenowych oraz do odszukiwania obiektów w terenie.

DIVI API to nasza duma. Wszystkie funkcjonalności i dane są dostępne z poziomu REST API. Jest to podstawa do budowania własnych aplikacji (webowych i mobilnych), na bazie DIVI.

Dlaczego tak? Współczesne technologie wymagają elastyczności i możliwości integrowania się w zakresie wymiany danych z systemami już istniejącymi. Potrzeby związane z GIS są tak przeróżne, że stwierdziliśmy, iż nie ma sensu próbować ich zaspokajać za pomocą jednej aplikacji „do wszystkiego”. „Wyklikiwanie” aplikacji bez potrzeby programowania to zawsze kompromis użyteczności i funkcjonalności z możliwościami systemu. Na koniec dnia nikt nie jest usatysfakcjonowany na 100%, a i tak trzeba coś oprogramować. Dlatego postawiliśmy na otwarte API oraz możliwość tworzenia dodatkowych aplikacji (własnymi siłami, bądź zlecając nam lub innej firmie). Ten model sprawdza się na świecie, jak również z naszymi klientami. Jest to rozwiązanie efektywne kosztowo, ponieważ można mieć jeden silnik do obsługi wielu procesów biznesowych w firmie. Jest to również stworzone do zwinnego, przyrostowego rozwoju wykorzystania GIS, bez dużych początkowych nakładów finansowych. W następnych artykułach przedstawimy aplikacje, które już działają na tej zasadzie. Co więcej: na naszym repozytorium na GitHub, publikujemy kod przykładowych aplikacji i planujemy cykl artykułów typu „developers guide”, z których każdy będzie mógł się dowiedzieć jak stworzyć aplikacje do wizualizowania, edycji, filtrowania i tworzenia danych, używając jedynie HTML i JavaScript.

Co dalej?

Nie zwalniamy tempa i dalej pracujemy nad rozwojem DIVI, dodając nowe funkcjonalności, poprawiając błędy i skupiając się na ergonomii używania oraz promocji. Dotychczasowym klientom dziękujemy za zaufanie i oczywiście liczymy na nowych:)