Jak stworzyć Geoportal przy pomocy darmowego oprogramowania Grzegorz Olejarz olejarz.net
1. GEOPORTALE 2
Co to jest Geoportal? Geoportal portal internetowyzapewniający dostęp do usługdanych przestrzennych tj. do usług dotyczących danych przestrzennych i będących operacjami, które mogą być wykonywane przy użyciu oprogramowania komputerowego na nich zawartych, w zbiorach danych przestrzennych lub na powiązanych z nimimetadanych. (http://pl.wikipedia.org/wiki/geoportal) 3
Co to jest Geoportal? Geoportaleumożliwiają w szczególności korzystanie z usług: wyszukiwania, przeglądania, pobierania przekształcania danych przestrzennych. Spełniają one istotną rolę w infrastrukturach danych przestrzennych (infrastrukturach informacji przestrzennej). (Źródło: http://pl.wikipedia.org/wiki/geoportal) 4
Definicje Geoportalu INSPIRE - Dyrektywa 2007/2/WE Parlamentu Europejskiego i Rady z dnia 14 marca 2007 r. ustanawiająca infrastrukturę informacji przestrzennej we Wspólnocie Europejskiej (In Infrastructure for Spatial Information in the European Community) Ustawa IIP Ustawa z dnia 4 marca 2010 r. o infrastrukturze informacji przestrzennej Geoportal INSPIRE oznacza witrynę internetową lub jej odpowiednik, zapewniającą dostęp do usług wyszukiwania, przeglądania, pobierania i przekształcania danych przestrzennych. 5
GeoportalINSPIRE 6
Geoportal.gov.pl 7
Geoportal.gov.pl2 8
miip.geomalopolska.pl/imap/ 9
2. ARCHITEKTURA 10
Darmowe oprogramowanie, czyli jakie? Wolne i Otwarte Oprogramowanie(ang. Free Libre/Open Source Software, także FOSS, FLOSS, po polsku również WiOO) neutralny skrót pozwalający objąć jednym mianem zarównowolne Oprogramowanie(ang. FreeSoftware) jak i Otwarte oprogramowanie(ang. Open Source), używany najczęściej w dokumentach urzędowych i oficjalnych analizach. (Źródło: http://pl.wikipedia.org/wiki/wolne_i_otwarte_oprogramowanie) 11
Darmowe oprogramowanie - licencje GPL -GNU General Public License AGLP - Affero General Public License Apache License LGPL - GNU Lesser General Public License MIT, X11 BSD - Berkeley Software Distribution License, BSDL 12
Proponowany schemat architektury geoportalu Przeglądarka Serwer aplikacyjny Baza danych 13
3. DANE 14
Źródła danych Pliki shapefiles, geotiff Bazy danych wraz ze specjalnymi strukturami, np. ArcSDE Bazy danych przestrzennych PostGIS, Oracle Spatial and Graph, SpatiaLite 15
Shapefile dane wektorowe 1 shapefile = 3 lub więcej plików: *.shp geometria *.shx indeks *.dbf dane opisowe 16
GeoTIFF dane rastrowe Plik TIFF (*.tif) z zapisaną georeferencjąwewnątrz pliku (binarnie) Plik TIFF (*.tif) + wordfile(+.tfw) georeferencjazapisana w dodatkowym pliku tekstowym 17
Bazy danych Zbiór danych zapisanych zgodnie z określonymi regułami Baza danych to często pakiet programów, który nazywany jest systemem zarządzania bazą danych (ang. database management system, DBMS). (http://pl.wikipedia.org/wiki/baza_danych) 18
PostgreSQL Relacyjna Wolnodostępna Działa jako usługa systemowa Wieloplatformowa Rozszerzalna 19
Klient pgadminiii 20
Klient pgadminiii 21
Bazy danych przestrzennych PostGIS dla PostgreSQL Oracle XE posiada moduł Locator(w Oracle Enterprise jest SpatialAnd Graph) MySQL ma wbudowane funkcje dla danych przestrzennych SpatiaLite dla SQLite 22
Uwaga! Bazy danych przestrzennych, a nie przestrzenne bazy danych 23
PostGIS Rozszerzenie bazy PostgreSQL Zapisywanie danych geograficznych Przetwarzanie danych geograficznych 24
Zainstalowany PostGIS 25
Ładowanie Shapefile do PostGIS (GDAL) ogr2ogr -f PostgreSQL PG:"dbname=db user=postgres" states.shp -skipfailures -overwrite 26
Oracle Locator, Spatial and Graph Locator dostępny w Oracle XE, Standard Edition, Standard Edition One Spatialand Graph, dawniej Oracle Spatial dostępny w Oracle Enterprise Edition 27
Sposoby zapisu danych w bazach - OGC WKT - Well-knowntext POINT (30 10) LINESTRING (30 10, 10 30, 40 40) POLYGON ((30 10, 10 20, 20 40, 40 40, 30 10)) WKB Well-known binary (np. POINT(2.0 4.0)) 00000000014000000000000000401000 0000000000 Źródło: http://en.wikipedia.org/wiki/well-known_text 28
Sposoby zapisu danych w bazach Oracle SDO SDO_GEOMETRY( 2003, NULL, NULL, SDO_ELEM_INFO_ARRAY(1,1003, 1, 19,2003,1), SDO_ORDINATE_ARRAY (2,4, 4,3, 10,3, 13,5, 13,9, 11,13, 5,13, 2,11, 2,4, 7,5, 7,10, 10,10, 10,5, 7,5) ) Źródło: Oracle Spatial User's Guide and Reference 29
Proponowany schemat architektury geoportalu Przeglądarka Serwer aplikacyjny Baza danych PostGIS Shapefile 30
4. UDOSTĘPNIANIE DANYCH PRZESTRZENNYCH 31
GeoServer Napisany w całości w języku Java Pozwala udostępniać i edytować dane przestrzenne Wykorzystuje otwarte standardy (OGC) Jest projektem społecznościowym wspieranym, testowanym i rozwijanym przez indywidualnych programistów i organizacje z całego świata 32
GeoServerGUI 33
WMS, WFS, WCS Standardy Open Geospatial Consortium: Web Map Service (WMS) standard przesyłania map w postaci rastrów (np. jpg, png) Web FeatureService (WFS) standard przesyłania danych wektorowych w postaci GML Web CoverageService (WCS) standard przesyłania danych o pokryciu terenu 34
5. SERWERY APLIKACYJNE 35
Apache HTTP Server Otwarty serwer dla stron internetowych napisanych w HTML Ma możliwości rozszerzenia go o dodatkowe moduły, np. obsługę PHP Jest dostępny dla wielu systemów operacyjnych 36
Apache Tomcat Kontener aplikacji webowych rozwijany w ramach projektu Apache Server dla aplikacji napisanych w technologiach Java Servlets i Java Server Pages (JSP) 37
Apache Tomcat strona startowa 38
GeoServeri Tomcat GeoServerjest aplikacją webową, pobierany ze strony w postaci pliku geoserver.war (war web archive). Instalacja archiwum polega na wdrożeniu (ang. deploy) go na serwerze Tomcat. 39
Wdrażanie GeoServera 40
Jetty, Glassfish, JBoss Do uruchomienia aplikacji takich, jak GeoServermożna użyć innych serwerów aplikacji webowych, zarówno lekkich - Jetty, jak i pełnych Glassfish czy JBoss. 41
Proponowany schemat architektury geoportalu Przeglądarka Serwer aplikacyjny Apache HTTP + Apache Tomcat z GeoServerem Shapefile Baza danych PostGIS 42
6. WARSTWA KLIENCKA 43
HTML <!doctype html> <html lang="pl" dir="ltr"> <head> <meta http-equiv="content-type" content="text/html; charset=utf- 8"> <title>tytuł strony</title> </head> <body> <h1>nagłówek pierwszego poziomu</h1> <p> Akapit (z ang. paragraph)<br /> i jeszcze trochę tekstu w następnym wierszu<br /> a to jest <a href="http://pl.wikipedia.org">link do Wikipedii</a>. </p> </body> </html> 44
JavaScript <script type="text/javascript"> var a = 5; var b = 6; alert(a + b); </script> 45
Uwaga! JavaScript to nie to samo co Java! 46
Firebug rozszerzenie do Firefoxa 47
Firebug rozszerzenie do Firefoxa 48
OpenLayers Biblioteka napisana w JavaScript Pozwala na łatwe publikowanie map na stronach internetowych Obsługuje standardy WMS i WFS 49
OpenLayers 50
Proponowany schemat architektury geoportalu Dowolna przeglądarka internetowa OpenLayers Serwer aplikacyjny Apache (HTTP) + Apache Tomcatz Geoserverem Shapefile Baza danych PostGIS 51
7. PRZYKŁAD 52
Przykładowa aplikacja 53
Dodawanie warstwy do bazy 54
Połączenie z PostGIS 55
Dodanie warstwy z bazy 56
Podgląd warstwy 57
Dodanie warstwy do aplikacji www var local_geoportal_wms = new OpenLayers.Layer.WMS( "States", "http://localhost:8080/geoserver/wms", { layers: "geoportal_test:states", transparent: "true", format: "image/png" }, {isbaselayer: false} ); map.addlayers([wms, dm_wms,local_geoportal_wms]); 58
Nowa warstwa w aplikacji 59
map.addcontrol(new OpenLayers.Control.LayerSwitcher()); 60
Wyższy poziom geoportalu Web GIS Pisanie funkcjonalności po stronie klienta JavaScript Przetwarzanie danych przy pomocy usługi sieciowej Web Processing Service (dostępny na GeoServerze) Przetwarzanie po stronie bazy danych, wykorzystując funkcje przestrzenne 61
Dziękuje! Grzegorz Olejarz olejarz.net geomatyk.pl grzegorz@olejarz.net