piątek, grudnia 17, 2010

Geoportal BPN

System Informacji Przestrzennej dla Biebrzańskiego Parku Narodowego
Budowa Geoportalu opartego na SDI z wykorzystaniem standardów technicznych OGC

Taki (trochę przydługi) tytuł nosi praca dyplomowa, którą udało mi się obronić razem z koleżanką pod koniec ubiegłego miesiąca na wydziale GiK PW. Celem pracy było pokazanie jak szybko, łatwo i przyjemnie (hahaha...) stworzyć geoportal przy pomocy darmowego oprogramowania:
  • PostgreSQL+PostGIS,
  • Mapserver,
  • OpenLayers+GeoExt.

Rezultat można zobaczyć na stronie: bpn.e-mapa.net
tekst pracy w pdf udostępniony jest tutaj: praca_magisterska_20.10.2010.pdf (~5MB)

Całość daleka jest od ideału. W części teoretycznej i praktycznej jest wiele rzeczy, które można było napisać inaczej, więcej, lepiej. Nie zrobiliśmy tego nie dlatego, że nie wiedzieliśmy jak - po prostu nam się (już) nie chciało. Pisanie zajęło o wiele więcej czasu niż zakładaliśmy i pewnie trwałoby jeszcze, ale w pewnym momencie chce się wszystko skończyć i mieć to za sobą - trzeba wtedy zrezygnować z niektórych elementów.
Nie oznacza to jednak, że jest to zła praca. Jest tu kilka ciekawych rozwiązań jak choćby możliwość podłączenia warstw ARS z krajowego Geoportalu (niewielka modyfikacja kodu OpenLayers).

Jeśli chodzi o wnioski z pracy, to są one następujące:
  • stworzenie geoportalu naprawdę nie jest takie trudne (buduje się z gotowych klocków) ani kosztowne,
  • prawdziwą przeszkodą nie są kwestie techniczne i finansowe - problem leży w mentalności (chodzi o sprawy związane z udostępnianiem danych, a raczej z niechęcią do ich udostępniania).

Na koniec podziękowania:
  • dla Sylwii -  za cierpliwość i wszystkie herbaty wypite w kuchni podczas pisania pracy :)
  • dla dr inż. Katarzyny Osińskiej-Skotak - za pomoc i wielką życzliwość
  • dla firmy Geo-System - za miejsce na serwerze i wyrozumiałość ;) 
Jeszcze raz wielkie dziękuję!

PS Przy okazji zareklamuję również serwis zabytkiminsk.igeomap.pl stworzony w ramach pracy magisterskiej przez koleżankę, która broniła się tego samego dnia :)

PS PS Do Czytelników: Niestety nie mogę obiecać, że odtąd kolejne notki pojawiać się będą częściej niż dotychczas... 

14 komentarzy:

Łukasz pisze...

Praca rzeczywiście ciekawa, aż chciałoby się więcej.

Pozdrawiam

Michał pisze...

Gratuluje!
Ja tez już finiszuje z pracą magisterską!:) Nie jest tak widowiskowa, ale jest:)

Major pisze...

Gratulacje :)

Idealista pisze...

W pełni zgodzę się z przedmówcami, bo i pogratulować z całego serca należy (choć może to już nieco spóźnione, ale co ważne, szczere gratulacje). Nadto zauważyć, że praca okazała niezwykle sympatyczną i jest to dobra lektura na bezsenną, zimową nockę :)

Co do uwag: W mojej opinii spokojnie możnaby zrezygnować z opisywania systemu przyrodniczego parku, choć w sumie, coś w tej pracy trzeba zawrzeć, żeby miała te 100 stron z zapasem...

Ponadto w niektórych momentach następują szybkie "ucięcia wątków", przez co mniej zorientowany w tematyce czytelnik może się zagubić. Oczywiście, jak wiadomo, geoinformatyka nie jest to takim "prościuchnym" narzędziem, ale trochę rozszerzeń metodą "jak dla przedszkolaków" niekiedy mogłoby się znaleźć - i tutaj właśnie nie obraziłbym się zastąpienia takimi treściami wątków o samym parku...

Kolejna rzecz to fakt nakładów finansowych, jakie trzeba poczynić, by sprawić sobie takie "caceńko". Pomijając już kwestie wynagrodzenia dla "fachowca", kosztów przeszkolenia pracowników oraz wartości samego stanowiska komputerowego, możnaby przeanalizować: ile kosztuje roczne utrzymanie danych na porządnym, szybkim serwerze. I tutaj jako ofensywę, choć prawie we wszystkim gorszą, możnaby podać takie rozwiązania, które umożliwiają wytworzenie kafelek dla rastrów i umieszczenie ich na każdym darmowym serwerze. Co prawda, baz danych tam się nie zrobi, ale przy wielu zastosowaniach udostępnienie danych z tabel w plikach txt, kml, czy gml, i tak byłoby wielkim krokiem do przodu, w stosunku do tego, co mamy obecnie... Ale chyba taka zabawa mogłaby okazać się nieefektywną, bo mogłoby się okazać, że zajmuje to dużo więcej czasu i jednak jest droższe.

Ostatnią, myślę że dość pożyteczną właściwością, o której wspomniano, acz nie wykonano w samym projekcie, to umożliwienie z poziomu przeglądarki rysowania warstw wektorowych (na przykład w mechanizmie analogicznym do przyjętego przez UMP).

Tyle z mej strony.
Jeszcze raz serdeczne gratulacje i ciepłe (no bo zima ciągle nas trzyma) pozdrowienia dla Autorów Dzieła!

PS:
I chwała Wam za to, że praca jest, nie dość, że tak bardzo utylitarna, to jeszcze do tego, tworzona kolektywnie (jak smutny to fakt, że jest to wciąż tak rzadkie zjawisko).

m_k pisze...

Dziękuję za miły komentarz i za uwagi.
Zdaję sobie sprawę ze wszystkich niedoskonałości naszej pracy.

Opis BPN został w dużej mierze 'zaimportowany' z raportu z praktyk koleżanki w Parku (stąd w ogóle temat pracy) - pewnie gdybyśmy startowali od zera (lub pisałbym sam), to część ta byłaby bardzo zredukowana.
Z drugiej strony, gdyby chcieć opisać wszystkie te technologie geoinformatyczne związane z webgisem, to i 200 stron byłoby mało... Trzeba było z czegoś zrezygnować, ale przyznaję, że ostateczny wybór nie jest idealny.

Podobnie ma się rzecz z samym geoportalem - można by wciąż dodawać nowe funkcje i go rozbudowywać, ale kiedyś trzeba było skończyć. Sam trochę żałuje, że obsługa WFS została potraktowana po macoszemu i jest jedynie po to, żeby pokazać, że jest i działa.

Być może praca wyglądałaby też inaczej, gdyby kontakt z Parkiem był lepszy. Z początku było duże zainteresowanie, potem stopniowo to ucichło, a teraz chyba zawisło w próżni... No ale nie chciałbym oceniać tej sytuacji, bo ja się z pracownikami nie kontaktowałem osobiście. Trzeba by zapytać koleżankę :)

pozdrawiam,

Idealista pisze...

Ano tak to bywa z instytucjami, że niemal każdego, kto się pojawi z zewnątrz i czegoś chce, prędzej czy później zaczynają traktować jako intruza. A przyczyną jest po prostu strach. Jednak odpowiedź na pytanie, kogo tak naprawdę się boją, jest najtrudniejsza. Bo nie będzie to strach przed jakąś konkretną osobą, a raczej, przed "zdrowym w swoisty sobie sposób" systemem, który obowiązuje...

Po przeczytaniu omawianej tu lektury natrafiłem w sieci na jakiegoś bloga, w którym napisano wiele o kuriozach naszego prawa, związanych z niemożnością - nawet dla celów niekomercyjnych - udostępnienia w sieci własnych mapek, pod które podpięty będzie podkład z geoportalu.

W notce informującej o obronionej pracy problem ten został wspomniany, ale jak widać, ostatecznie udało się Wam podpiąć pod portal WMSa i ARSa z Geoportalu. Ciekawi mnie na jakiej zasadzie to poszło. Czy od CODGiKu poszła zgoda dla parku, czy wykupiliście/otrzymaliście jakoś te dane z WODGiKu? A może po prostu działacie, na podstawie prawa autorskiego, które dla celów naukowych zezwala cytowanie/prezentowanie innych utworów, jeśli poda się ich źródło?

m_k pisze...

A więc... nikogo nie pytaliśmy o zgodę. Po to jest WMS, żeby z niego korzystać. Proszę zauważyć, że strona geoportalu BPN jest w tym przypadku po prostu klientem WMS (jak QGIS czy ArcGIS, tyle że na stronie www). My, jako autorzy, nie ściągamy żadnych danych, więc czemu mielibyśmy występować o jakiekolwiek pozwolenia?
Można to nazwać 'zdrowym rozsądkiem' lub zasadą 'fair-use', ale oczywiście to tylko moja opinia i IANAL :)

Idealista pisze...

Z WMS- em się zgodzę, aczkolwiek z ARS- em sprawa nie wydaje się taka sama, bo jednak stworzyłeś do niego kod, który automatyzuje pozyskiwanie danych w kawałkach, czego oni w swym regulaminie zabraniają...
Co też nie oznacza, że "sercem" nie jestem po Twojej stronie :)

Co do WMS- a jeszcze wydaje mi się, że funkcjonalniej jest stworzyć takie narzędzie, które będzie 'kafelkować' pobieraną zawartość i dawać ją w kwadratach 256 X 256 px. W przypadku niektórych warstw geoportalu kłopotliwym jednak okazać się może przesycenie obrazu znakami wodnymi... No, chyba że zrobi się jeszcze taki myk, by od razu pobierana była inna kafelka, której miejsce niezasłonięte znakiem zastąpi to, co nam przeszkadza...
Ale to może z kolei znacząco przedłużyć oczekiwanie na mapę...

Zauważyłem też że dane z OSM są umieszczone na innym serwerze niż . Czy to dlatego, że mapa docelowo działa pod układem 1992 i domyślnego układu OSM nie obsługuje?

m_k pisze...

No nie, to jednak byłaby IMO nadinterpretacja. Kod OL nie automatyzuje ściągania (o ile można mówić w ogóle o jakimś ściąganiu). Jeśli uznalibyśmy, że tak jest, to wtedy każdy klient WMS/TMS robiłby to samo, więc pewnie należałoby go zabronić - a to jest absurd.
Pod "automatyzację" prędzej łapią się wszystkie skrypty i programiki, w których można ustawić zakres, odpalić i pójść spać, by rano cieszyć się ortofotmapą dla całego kraju/województwa (jak np. opisywany tutaj gdal_translate z pakietu GDAL;).
A wracając do owej modyfikacji kodu, to była ona niewielka. OL posiada specjalną klasę XYZ, która służy do podpinania kafelków z OpenStreetMap, więc wystarczyło zmienić sposób numeracji XY (OSM zaczyna od góry, ARS od dołu) oraz leveli (w ARS poszczególne warstwy mają różne poziomy zerowe).

Ad. kafelkowanie WMS - to jest kwestia zmiany jednego parametru przy dodawaniu warstwy. Teraz już nawet nie pamiętam czemu wybrałem pojedynczą mapę - pewnie ze względu na Geoportal, a reszta to było zwykłe ctrl-c i ctrl-v...

OSM udostępnia mapy w kafelkach w układzie Merkatora (jak Google Maps), więc nie można ich było podpiąć pod geoportal. Skorzystałem z WMS, który korzysta ze źródłowych danych projektu i wypuszcza mapy w polskich układach wsp.

Idealista pisze...

Myślę, że nie ma co już czasu i nerwów tracić na wyjaśnianie, że 'nie jest się wielbłądem' odnośnie tych 'automatyczności ściągań'... Warto to zachować dla siebie przy ewentualnej konieczności tłumaczenia się, choć na szczęście, mało to realne w otaczającej nas rzeczywistości :)

Co do wspólnego występowania Merkatora i 1992: Rozumiem, że na obecny moment nie da się tak łatwo zestawić za pomocą OL obu układów i trzeba wybrać sobie jeden układ...
Ale jakoś w ogóle to chyba się da, bo mniej więcej coś takiego uzyskano na przykład w portalu Wrota Odry - http://coriolis.com.pl/wrotaodry/map.php

Dla mnie skrypt z kodu ww. strony jest dość czarną magią, może dla Ciebie będzie nieco jaśniejszą :)

PS:
Mam nadzieję, że w razie 'bardziej dyskretnych' pytań, mogę napisać do Ciebie na maila? Oczywiście z pełnym poszanowaniem zasady, którą zapodałeś na blogu, iż nie podasz mi od razu ryby, a co najwyżej wskażesz właściwą wędkę :)

m_k pisze...

Nie zaglądałem do kodu tamtej strony i nie miałem też za bardzo czasu na dokładne testowanie, ale tam możliwe jest wybranie jedynie jednej warstwy jako 'podkładu'. Czyli albo OSM i GM, albo Geoportal (zmiana warstwy pociąga za sobą zmianę układu całej mapy). U nas warstwa OSM może być nałożona na warstwy geoportalowe, ale wymaga to jednolitego układu współrzędnych mapy i wszystkich warstw.

Pisz śmiało :)

Mateusz Malinowski pisze...
Ten komentarz został usunięty przez administratora bloga.
m_k pisze...

Może GDAL2Tiles lub MapTiler?
http://www.klokan.cz/projects/gdal2tiles/
http://www.maptiler.org/
Można by wygenerować półprzezroczyste pliki PNG, ew. dodać je jako warstwę z ustawionym parametrem opacity (powinno się tak dać zrobić w OpenLayers).

Co do komentarza to nie jestem w stanie ich edytować, mogę jedynie usunąć w całości.

Mateusz Malinowski pisze...

Witam
Chciałbym na stronie internetowej dodać stare mapy na tle (stopnie przezroczystości) google maps. Coś jak "obraz nad powierzchnią" w google earth. Zaimportowanie kmz z taką mapą do map google na www nic nie da.
Czy możesz mi coś polecić? Pewnie to będzie openlayers. Tylko nie wiem jak to ruszyć. Nie znam się na GISie.

- odpowiedź powyżej -