Update z końcówki roku 2022. Wspólnie z kolegami z Leica Geosystems udało się wydevelopować funkcjonalność logowania danych o powierzchni terenu. Odpowiadam w pewnym stopniu za ostatnią część procesu czyli wizualizację przeprowadzonych pomiarów na trójwymiarowym globie.
Nie chciało mi się Bardzo dużo pracowałem więc nowy wpis pojawia się dopiero na koniec roku. Zmieniło się wszystko miejsce pracy, miejsce zamieszkania i stack technologiczny. Ta notka miała być dłuższą rozprawką na temat zagadnień i problemów przy tworzeniu map ciepła na trójwymiarowym globie ale nie będzie, gdyż na youtube pojawiły się materiały gdzie kol. Dean prezentuje całość rozwiązania, które miałem okazję współtworzyć.
poniżej filmik marketingowy…
Wniosek na rok 2022: Development aplikacji web-gisowej w trójwymiarze jest trudny 😀
To miłe od czasu do czasu coś wygrać. Więcej informacji o konkursie pod tym linkiem a na filmie poniżej krótkie demko prezentujące projekt, który mam zaszczyt współtworzyć jako frontend GIS developer.
Na blogu firmowym droneradar.eu pojawił się wpis informujący o wstrzymaniu prac nad utrzymaniem i rozwojem aplikacji DroneRadar. Pomimo faktu, iż od lat nie jestem czynnym operatorem UAV chciałem wyrazić ubolewanie i smutek z powodu nieznanej przyszłości projektu.
Jakiś czas temu udało mi się porozmawiać z Właścicielem, rozmowę wspominam bardzo dobrze, niestety z kilku powodów nie udało się wejść we współpracę lecz pomimo to mocno kibicuję zespołowi developującemu apkę, gdyż w 2015 roku…. wpadłem na ten sam pomysł… Zaraz po kupnie drona DJI Phantom2 do mojej świadomości dotarła informacja, że „nie, nie, nie, nie wszędzie możesz latać kolego” po czym wpadłem do „piekła regulacji prawnych i map przestrzeni powietrznej”. Po wstępnym rozeznaniu merytorycznym, przystąpiłem do wektoryzacji stref i pisania apki na androida. Udało się uzyskać takie ficzery:
– wpięcie warstw NMT, OpenWeather i podstawowych informacji krajobrazowych. – budynki 2,5d, wyznaczanie zacienienia terenu oraz kalkulatorki do obliczania „złotej godziny” – wyznaczanie stref zasięgu aparatury RC – zapisywanie własnych POI użytkownika – analiza i wyświetlanie „stref zakazu”, apka mówiła czy potrzebujesz zezwolenia czy nie. – geolokalizacjii korekty pomiaru GPS
Niestety przez studia, pracę na pełen etat, „żyćko” i konkurencję w postaci DroneRadar projektu nigdy nie ukończyłem. Przyznam się szczerze, że ilość pracy, którą trzeba byłoby włożyć mocna mnie przytłoczyła, chyba nie da się być kartografem, programistą i specjalistą od lotnictwa i dronow w jednym. Szkoda. Poniżej filmik prezentujący moja apke w działaniu(po latach nie czuję już wstydu żeby pokazywać nieudane rzeczy). Użyłem leaflet.js, phonegap i hehejQuery.xd.
Chciałbym życzyć powodzenia twórcom DroneRadar i podziękować za inspirujący produkt. Aplikację można pobrać tutaj
Natrafiłem na rozszerzenie do leaflet.js pozwalający mieszenie warstw WMS. Poniżej przykład z użyciem NMT i ortofotomapy z polskiego GUGIKu. Wydaje się, że efekt jest lepszy niż zabawy z przezroczystością ale kafle renderują się wolniej… czyli jak to zwykle w GISie xD
Wspólnie z chłopakami z pracy podjęliśmy decyzję o dołączeniu do eventu organizowanego przez PFR. Celem hackatonu był coś tam pomyśleć coś tam poprogramować rozwiązać problemy trapiące średnie miasta w dobie kryzysu covidowego. Konkurencja była silna, zgłosiło się kilkaset osób. Nasz temat i miasto wybraliśmy po burzliwej dyskusji. Jako drugi, zapasowy, najciekawszy i najtrudniejszy – Świdnik: Mobilność szyta na miarę – analiza ruchu miejskiego w celu pozyskania danych do rozwoju infrastruktury publicznej. Jako pierwszy, temat najbezpieczniejszy i w którym mamy doświadczenie – Chełm: Bezpieczna segregacja odpadów – uszczelnienie systemu gospodarki śmieciowej w celu zmniejszenia ryzyka związanego z odbiorem odpadów medycznych. Celem było zaprojektowanie i przedstawienie MVP aplikacji geoportalowej, która spełni wymagania hackatonu. Przyznam się, że praca przez ponad 48 godziny z drobnymi przerwami na sen, w stresie i nawarstwiających problemach technicznych (linux żondźi) moje umiejętności nieco klęknęły. Wyciągnąłem wnioski, czeka mnie jeszcze sporo pracy własnej ale okazało się, że… zakwalifikowaliśmy się do FINAŁU. Motywujące, rzeczywiście mogliśmy wygrać jednak na ten moment „efekt nieprzegrania” mnie satysfakcjonuje. Gratulacje dla zwycięskiego zespołu. Poniżej link, do naszej prezentacji, występujemy jako pierwsi. Niestety organizatorzy nie włączyli nagrywania i prezentacja jest ucięta na początku. Chętnie udostępnię pełna wersję „prezki”.
Podejść do rozszerzonej rzeczywistości miałem co najmniej kilka wszystkie zakończyły się technologicznym sukcesem i komercyjną porażką. Generalnie mocno sceptycznie podchodzę do tego typu rozwiązań z użyciem JavaScriptu ale po pierwszej iteracji jestem zafascynowany.
Pierwsza wersja działa bardzo stabilnie, obiekty elegancko wyświetlają się jako nakładka na obraz z kamery. Jestem po jednej próbie w terenie, podszedłem do kilku POIów, które to reprezentują sklepy i o dziwo obiekty na ekranie zwiększały swój rozmiar po przybliżeniu się. Grejtsakces.
Problemy?
GPS działa zadowalająco, poszczególne POI pokrywają się z azymutem w rzeczywistości. Ale… idę o zakład, że punkty są przesunięte o kilka-kilkanaście metrów.
Overpass API dla danych OSM.org. Trzeba się mocno zmóżdżyć, żeby się do nich dobrać. Pierwsza wersja wyświetla tylko część sklepów w okolicy. Niestety operatorzy/kartografowie OSMu w niespójny sposób mapują obiekty. Api zwraca część sklepów jako punkty, a część jako linie(!). No upierdliwe to ponieważ trzeba dobrze napisać query a potem poprawnie obsłużyć po stronie klienta.
Zachęcam do testów. Link będzie dostępny jeszcze przez jakiś czas.
Projekt z kategorii „pomiędzy szaleństwem, kreatywnością a głupotą”. Nie znalazłem nic podobnego na necie więc warto spróbować tego podejścia, żeby chociaż móc powiedzieć że byłem „pierwszym”, nawet jeżeli projekt upadnie z jakiegoś powodu.
O co chodzi?
Integracja różnego rodzaju danych przestrzennych zawsze wywoływała u mnie szybsze bicie serca, to pewnie skrzywienie zawodowe „gisowca” ale po prostu lubię patrzeć na kilka pozornie nie związanych ze sobą map. Dodając do koncepcji, aktualną koronawirusową modę na real-time-dashboardy wychodzi mi coś takiego.
Dlaczego nie zrobić kolejnej aplikacji?
Powodów jest kilka. Przede wszystkim to czas na wytworzenie takiego wrappera. Po drugie to też czas na „ogarnięcie danych od dostawców”, poza informacjami meteo, większość z nich jest stosunkowo trudno dostępna. Po trzecie. Nie będzie Ci się chciało w to klikać… apke raz zainstalujesz i zapomnisz… adres url dodasz do zakładek… i zapomnisz a na youtubie siedzisz cały czas więc jest szansa, że ten youtube ci przypomni o projekcie xD
Jak to działa?
No pewne minimum kodu trzeba było napisać ale na prawdę mało. Tylko podstawowe funkcjonalności związane odświeżaniem, centrowaniem i zoom levelem.
Resztę warstw streamingu ogarnia OBS Studio.
Muszę jeszcze to przerzucić na jakiś mały tani serwerek żeby prądu dużo nie żarł.
Jak używać?
Domyślam się, że nie będziesz siedział przed komputerem i oglądał pogodę ale jeżeli przebywasz w swoim high-techowym biurze i masz wolny monitor zawieszony gdzieś na ścianie to obok jenkinsa, nieprzechodzących testów i generujących się raportów, widok kolorowych map w trybie pełnoekranowym będzie wyglądał bardzo profesjonalnie 😛
Uwielbiam wspierać mikro-biznesy i ciekawe inicjatywy poprzez dostarczenie mAppek. Jakiś czas temu popełniłem taki mikro projekcik prezentujący detale i szczegóły architektoniczne co ciekawszych budynków w Łodzi. Pomysłów na improvementy mam jeszcze kilka, między innymi wdrożenie rozszerzonej rzeczywistości z A-Frame.
Wciąż liczę, że znajdę czas na doprowadzenie tego projekciku do przyzwoitego stanu. Nie będę rozwodzić się co jest w nim unikalnego po prostu pooglądaj sobie stare mapy mojego rodzinnego miasta.
Chyba z 5 lat pracowałem przy mapach drogowych. Na co dzień miałem z nimi do czynienia z perspektywy lotu ptaka jak i ze zdjęć sferycznych z samochodów a’la google street view. Okazuje się, że do autostrady (poza pasami i manewrami) przypięty jest szereg zjawisk i obiektów, którymi ktoś się zajmuje i które warto mapować. Po konsultacji ze znajomym administratorem autostrady i rozpoznaniu potrzeb przygotowałem dwa POCe oparte o leafletjs i mapbox gl.
Pierwszy, przyjmował szalone śmiałe założenie, że aplikacja na podstawie aktualnej pozycji GPS operatora jadącego w aucie technicznym znajdzie najbliższy obiekt do inwentaryzacji a użytkownik zmieni jego stan bądź status jednym kliknięciem. Cel udało się zrealizować, jednak obawiamy się potencjalnych błędów wynikających z prędkości jazdy i niedokładności smartfonowego gps’a.
Drugi POC to dashboard oparty o mapbox wizualizujący dane przestrzenne z możliwością zmiany stanu, wyszukiwania obiektów na podstawie ich statusu oraz obliczający statystki.
Kolejnym „kejsem” było uzyskanie podkładu z mapy zasadniczej i tutaj chciałem szczególnie pogratulować braku zasług dla generalnejdyrdyrdyrblabla że temat utrudniają. Cóż, nadałem referencję przestrzenną i zrobiłem TMSa aby móc korzystać z podkładu w innych klientach. Szczerze liczę, że projekt nie umrze i znajdzie się budżet na realizację.
Na fali serialu HBO o przygodach „sowieckich fachowców” i „testach na produkcji” poczułem silną potrzebę wsparcia kolegów zajmujących się urbexem w okolicach czarnobylskiej elektrowni.
Moim podstawowym celem było stworzenie aplikacji PWA działającej w trybie offline w oparciu o bibliotekę Mapbox GL JS.
Co sie udało?
PWA: Wdrożone, apka pozwala się zainstalować na pc i smartphonach z Androidem.
Mapbox GL: Kilkoma brzydkimi hackami udało się „odciąć” od płatnych vector-tile’i i przygotować wstępną formę wizualizacji dróg oraz trójwymiarowe budynki.
Podkład: Celem było stworzenie własnej „postarzanej” warstwy rastrowej, która ma nadać „postapokaliptyczny” klimat. Dokumentacja nie podaje jakiegoś „oczywistego” rozwiązania na referencję takiej grafiki. Użyłem gimpa, qgisa i danych o pokryciu terenu z OSM.
Powyższa mapa jest interaktywna, możesz poscrollować i spróbować zainstalować apkę z tego linku.
Bardzo mocno brakuje mi merytorycznych danych o „zonie”, nawiązałem kontakt z osobą, która to wydaje mapę okolicy na papierze, niestety dane nie są w „gisowym” formacie, a powyższy nie jest skłonny do współpracy… Samej „brudnej roboty” przy tym projekcie jest jeszcze sporo, ale kluczowe funkcjonalności zostały uzyskane.
Co dalej?
UI: mam przygotowaną wstępną formę, i kilka podstawowych funkcjonalności. Pozostaje tylko wektoryzować punkciki…