Your SlideShare is downloading. ×
Sieciowe serwery danych
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Sieciowe serwery danych

1,730
views

Published on

prezentacja w formacie pdf, przedstawiona w czasie zajęć podyplomowego studium "GIS i modelowanie przepływu wód podziemnych", dotycząca pobierania danych w systemie GRASS ze źródeł sieciowych takich …

prezentacja w formacie pdf, przedstawiona w czasie zajęć podyplomowego studium "GIS i modelowanie przepływu wód podziemnych", dotycząca pobierania danych w systemie GRASS ze źródeł sieciowych takich jak usługi WMS i WFS. Autor: Paweł Netzel


0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,730
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Sieciowe serwery danych
  • 2. OGC● Open Geospatial Consortium● Międzynarodowa instytucja standaryzacyjna zrzeszająca ponad 400 firm i instytucji● Standaryzacja usług i formatów danych● Architektura SOA (Service Oriented Architecture)● Protokół http● Zapytania GET i POST● Język XML (eXtensible Markup Language)● Język GML (Geography Markup Language)
  • 3. Standardy usług● OGC zdefiniowało standardy dla usług: – Wyszukania (CS-W) – Obrazowania (WMS) – Dostępu do danych (WFS, WCS) – Przetwarzania (WPS) – .......● Dzięki dobrze określonym standardom powstało wiele implementacji serwerów usług zgodnych ze specyfikacją OGC● Serwery zostały zrealizowane zarówno jako oprogramowanie własnościowe jak i FOSS
  • 4. Dokumenty opisujące standardy● http://www.opengeospatial.org/standards● Podstawowy dokument: – http://www.opengeospatial.org/standards/common● Dokument składa się z 2 podstawowych części: – Definicji pojęć – Opisu standardu● Publikowane są reguły implementacyjne● Tzw. dobre praktyki
  • 5. GetCapabilities● Możliwość pytania metodą GET (KVP) oraz POST (XML)● Każda usługa OGC odpowiada na zapytanie GetCapabilities● Można uzyskać w odpowiedzi – Opis usługi – Zasady korzystania – Zaimplementowane funkcje – Dostępne zbiory danych – Itp.● Odpowiedź w formacie XML
  • 6. Przykład● Zapytnie: http://gis.meteo.uni.wroc.pl:8080/geoserver/wfs? REQUEST=GetCapabilities● Odpowiedź: <wfs:WFS_Capabilities version="1.1.0" .... > <ows:ServiceIdentification> <ows:Title>GeoServer Web Feature Service</ows:Title> <ows:Abstract>...</ows:Abstract> <ows:Keywords>...</ows:Keywords> <ows:ServiceType>WFS</ows:ServiceType> <ows:ServiceTypeVersion>1.1.0</ows:ServiceTypeVersion> <ows:Fees>NONE</ows:Fees> <ows:AccessConstraints>NONE</ows:AccessConstraints> .....
  • 7. Usługa WMS● Usługa WMS to usługa obrazowania● Usługa na podstawie danych przestrzennych „produkuje obrazek”● WMS może mieć zdefiniowane: – Warstwy map – Style – Mozaiki mapowe● Style zapisane są zgodnie ze standardami – SLD (Styled Layer Descriptor) – SE (Symbology Encoding) – FE (Filter Encoding)
  • 8. Funkcje● Usługa WMS udostępnia funkcje – GetCapabilities – GetMap● Get Capabilities dostarcza informacji o serwerze i danych przez niego udostępnionych● GetMap pozwala na pobranie wygenerowanego obrazu mapy dla wskazanego obszaru (BBOX), w wybranym odwzorowaniu (SRS) i utworzonego za pomocą wskazanego stylu (STYLES)
  • 9. GetCapabilities● Wypisuje informacje o: – Wersji usługi – Instytucji zarządzającej – Odwzorowaniach – Warstwach – Stylach – .....● Informacja o warstwie zawiera m.in.: – Odwzorowanie – Zasięg przestrzenny (ll oraz w odwz.) – Wskaźnik do legendy – Styl
  • 10. GetMap● GetMap to funkcja generująca obraz mapy o zadanych parametrach● http://gis.meteo.uni.wroc.pl:8080/geoserver/wms? SERVICE=WMS&VERSION=1.1.1& REQUEST=GetMap&LAYERS=nurc:Arc_Sample& STYLES=&SRS=EPSG:4326& BBOX=-124,21,-66,49& WIDTH=600&HEIGHT=400&FORMAT=image/png● Jest to minimalna liczba parametrów● Jako wynik otrzymywany jest obrazek w formacie PNG o wymiarach 600x400 pikseli● Można dodatkowo np. określić kolor tła (BGCOLOR), styl tworzenia mapy (SLD).
  • 11. Przykład – http://gis.meteo.uni.wroc.pl:8080/geoserver/wms? SERVICE=WMS&VERSION=1.1.1& REQUEST=GetMap&LAYERS=tiger:poi& SRS=EPSG:4326&BBOX=-74.1,40.7,-73.9,40.8& WIDTH=600&HEIGHT=400& FORMAT=image/png● Wywołanie funkcji GetMap serwera gis.meteo● Odwzorowanie WGS84 (EPSG:4326)● Rozmiar obrazka 600x400● Format obrazka PNG● Styl wyświetlania - domyślny
  • 12. Stylizacja mapy● Można w wywołani GetMap wybrać style● Lista styli podana jest w liście warstw otrzymanej z GetCapabilities● Style określa się dla każdej wywoływane warstwy (STYLES)● Można określić domyślny kolor tła (BGCOLOR)● Można wskazać własny styl którego ma użyć serwer WMS – Poprzez URL pliku stylu – Poprzez znacznik SLD
  • 13. Przykład – http://gis.meteo.uni.wroc.pl:8080/geoserver/wms? SERVICE=WMS&VERSION=1.1.1& REQUEST=GetMap&LAYERS=tiger:poi& STYLES=poi&SRS=EPSG:4326& BBOX=- 74.1,40.7,-73.9,40.8& WIDTH=600&HEIGHT=400& FORMAT=image/png&BGCOLOR=0x808080● Wskazanie stylu poi (może być także point, burg)● Wybranie szarego tła
  • 14. Usługa WFS● Usługa udostępniająca informację o obiektach wektorowych● Umożliwia – Pobieranie informacji geometrycznej – Filtrowanie obiektów po artybutach – Filtrowanie przestrzenne – Operacje logiczne● Podstawowym formatem danych wektorowych jest GML
  • 15. Funkcje● Podstawowe funkcje – GetCapabilities – DescribeFeatureType – GetFeature● GetCapabilities udostępnia m.in. liste warstw● Udostępnia też listę zaimplementowanych funkcji i filtrów● DescribeFeatureType opisuje warstwę● GetFeature pozwala na pobranie danych● Funkcje transakcyjne (edycja danych. WFS-t)
  • 16. GetCapabilities● Podobnie jak w usłudze WMS funkcja zwraca opis serwera● Ponadto dostarcza listę warstw wraz z ich zasięgami przestrzennymi (WGS84)● Funkcja GetCapabilities wylicza zaimplementowane funkcje, które można wywołać filtrując dane● Może też podawać czy serwer dopuszcza operacje transakcyjne
  • 17. DescribeFeatureType● Funkcja DescribeFeatureType dostarcza opisu konkretnego zbioru danych (warstwy)● W wyniku otrzymuje się opis warstwy zawierający listę pól wraz z ich typami● W jednym z pól przechowywana jest informacja o geometrii● Domyślny format odpowiedzi to xml (GML)
  • 18. GetFeature● GetFeature pobiera dane z serwera● Domyślnie dane pobierane są w formacie GML● Można określić zasięg przestrzenny (BBOX)● Można filtrować ze względu na wartości atrybutów● Można filtrować przestrzennie● UWAGA: ważna jest wersja GML● Można ograniczyć się do pobrania tylko zadanej liczby obiektów (przeciążanie łącza!)
  • 19. Przykład● Lista warstw ● http://gis.meteo.uni.wroc.pl:8080/geoserver/wfs? SERVICE=WFS&VERSION=1.1.1&REQUEST=GetCapab ilities● Informacje o warstwie ● http://gis.meteo.uni.wroc.pl:8080/geoserver/wfs? SERVICE=WFS&VERSION=1.1.1&REQUEST=DescribeF eatureType&TYPENAME=topp:states● Pobranie danych ● http://gis.meteo.uni.wroc.pl:8080/geoserver/wfs? SERVICE=WFS&VERSION=1.1.1&REQUEST=GetFeatur e&TYPENAME=topp:states&MAXFEATURES=10
  • 20. Usługa WCS● Usługa WCS udostępnia dane rastrowe● Dane mogą być zwracane jako – GeoTIFF – PNG – GIF – Inne● Umożliwia filtrację przestrzenną● Mimo, że pobierane dane mogą być w formacie graficznym są to dane a nie obrazek
  • 21. Funkcje● Podtsawowe funkcje: – GetCapabilities – DescribeCoverage – GetCoverage● GetCapabilities udostępnia listę warstw● Opis wybranej warstwy można uzyskać wywołując DescribeCoverage● Funkcja GetCoverage umożliwia pobranie danych
  • 22. Przykład● Pobranie listy warstw ● http://gis.meteo.uni.wroc.pl:8080/geoserver/wcs? SERVICE=WCS&REQUEST=GetCapabilities● Pobranie informacji o warstwie ● http://gis.meteo.uni.wroc.pl:8080/geoserver/wcs? SERVICE=WCS&VERSION=1.1.1&REQUEST=Describe Coverage&IDENTIFIERS=sfdem● Pobranie danych ● http://gis.meteo.uni.wroc.pl:8080/geoserver/wcs? SERVICE=WCS&VERSION=1.1.1&REQUEST=GetCover age&IDENTIFIER=sf:sfdem&BOUNDINGBOX=589980.0, 4913700.0,609000.0,4928010.0,urn:ogc:def:crs:EPSG::2671 3&FORMAT=application/arcgrid
  • 23. GRASS● Polecenia wejścia/wyjścia – r.in.*, r.out.* – v.in.*, v.out.* ● http://grass.meteo.uni.wroc.pl -> docs -> manual● Popularność usług WMS i WFS wymusiła powstanie natywnego rozwiązania● GRASS umożliwia pobranie danych z WMS (np. ortofotomapa) oraz z WFS (np. PRG)● GRASS dostarcza w tym celu dwa skrypty: – r.in.wms – v.in.wfs
  • 24. r.in.wms● Pobiera dane z serwera WMS● UWAGA: pobiera obrazek a nie rzeczywiste dane● Składnie: – r.in.wms [-ldockpg] [output=string] mapserver=string [layers=string[,string,...]] [styles=string[,string,...]] [srs=string] format=string [wmsquery=string] maxcols=integer maxrows=integer [tileoptions=string] [region=string] [folder=string] [wgetoptions=string] [curloptions=string] method=string [cap_file=string] [v=integer] [--overwrite] [--verbose] [--quiet]
  • 25. r.in.wms - opcje● Polecenie ma określone opcje oraz parametry● Część parametrów jest opcjonalna (nawiasy []) a część obligatoryjna● Wybrane opcje: -l Zwraca listę warstw -d Przejście bezpośrednio do pobierania -o Nie pobiera danych transparentnych -c Czyście kartotekę ze ściągniętymi plikami -p Nie dokonuje reprojekcji danych -g Używa metody GET zamiast POST
  • 26. r.in.wms – parametry (obligat.)● Wybrane parametry (obligatoryjne) – output=string ● Nazwa mapy wynikowej (rastrowej) – mapserver=string ● URL serwera WMS – layers=string[,string,...] ● Lista warstw do pobrania – format=string ● Format obrazu w jakim serwer ma wysyłać dane ● Dopuszczalne to: geotiff,tiff,jpeg,gif,png ● Domyślnie: geotiff ● UWAGA: Patrz wynik GetCapabilities
  • 27. r.in.wms – parametry (opconalne)● Wybrane parametry (opcjonalne) – styles=string[,string,...] ● Style dla wybranych warstw – srs=string ● Odwzorowanie w którym pobierane są obrazki ● Domyślnie WGS84 (EPSG:4326) – wmsquery=string ● Dodatkowe parametry zapytania WMS ● Domyślne: version=1.1.1 – region=string ● Nazwa regionu dla którego pobierane są dane – folder=string ● Ścieżka z lokalizacją gdzie zapisane zostaną pobrane pliki
  • 28. r.in.wms – parametry (opconalne)● Wybrane parametry (opcjonalne): – wgetoptions=string ● Dodatkowe parametry dla programu wget – curloptions=string ● Dodatkowe parametry dla programu curl – method=string ● Metoda interpolacji danych w przypadku reprojekcji ● Opcje: nearest,bilinear,cubic,cubicspline ● Domyślnie: nearest – cap_file=string ● Nazwa pliku XML gdzie zostanie zachowany wynik GetCapabilities (opcja -l)
  • 29. r.in.wms – przykład użycia – r.in.wms mapserver="http://gis.meteo.uni.wroc.pl:8080/geoserv er/wms" output=tiger_ny layers=tiger-ny● Wywołanie usługi WMS z serwera gis.meteo● URL wskazuje, że serwer to GeoServer uruchomiony na standardowym porcie serwera Tomcat● Pobierana jest jedna warstwa tiger-ny● Wyniki zapisywane są do warstwy rastrowej tiger_ny● Domyślnie wykorzystana jest metoda POST
  • 30. v.in.wfs● Pobiera warstwę wektorową z serwera usługi WFS● Składni: v.in.wfs [wfs=string] output=string [--overwrite] [-- verbose] [--quiet]● Parametry: – wfs=string ● URL wywołania GetFeature (pełny URL) ● Powinien rozpoczynać się od http ● Można w nim zapisać opcje wywołania GetFeature – output=string ● Nazwa tworzonej warstwy wektorowej
  • 31. v.in.wfs – przykład użycia – v.in.wfs wfs="http://gis.meteo.uni.wroc.pl:8080/geoserver/wfs? SERVICE=WFS&VERSION=1.0.0& REQUEST=GetFeature& TYPENAME=tiger:tiger_roads" output=tiger_roads● Wywołanie GetFeature z serwera gis.meteo● Wywoływana jest usługa WFS w wersji 1.0.0● Pobierana jest warstwa tiger:tiger_roads● Pobrane dane zapisywane są jako warstwa tiger_roads● Pobierane są wszystkie obiekty warstwy
  • 32. r.in.gdal, v.in.ogr● GDAL zapewnia obsługę pobierania danych sieciowych● Można pobierać dane wykorzystując polecenia r.in.gdal, v.in.ogr● Niezbędna jest znajomość specyfikacji protokołu komunikacyjnego usług OGC● Niezbędne jest także zdefiniowanie źródeł danych● Można w ten sposób pobierać dane z usługi WCS (sterownik GDAL dla WCS jest opcjonalny)● http://www.gdal.org/frmt_wcs.html
  • 33. Przykładowa sesja● Kolejne kroki – Utworzenie lokacji ● Definiowanie odwzorowania ● Definiowanie zasięgu przestrzennego – Połączenie z serwerem WMS – Wyświetlenie listy warstw – Pobranie danych – Wyświetlenie pobranych danych – Połączenie z serwerem WFS – Wyświetlenie listy warstw – Pobranie danych – Wyświetlenie pobranych danych – Zakończenie sesji
  • 34. Polskie źródła sieciowe danych● Niektóre serwery WMS – http://sdi.geoportal.gov.pl/wms_orto/wmservice.aspx – http://sdi.geoportal.gov.pl/wms_topo/wmservice.aspx – http://sdi.geoportal.gov.pl/wms_prg/wmservice.aspx● Niektóre serwery WFS – http://sdi.geoportal.gov.pl/wfs_prg/wfservice.aspx – http://sdi.geoportal.gov.pl/wfs_dzkat/wfservice.aspx● Bardziej obszerna lista http://terraobserver.blogspot.com/2009/02/polskie- serwery-wms.html
  • 35. Test istniejących serwisów● Zadania: – Dla adresów usług WMS i WFS Geoportalu wykonać GetCapabilities i określić ● Odwzorowania ● Nazwy warstw ● Style (WMS) ● Zasięg przestrzenny warstw ● Osobę/instytucję odpowiedzialną za dane ● Koszt danych – Spróbować pobrać wybrane dane do lokacji w odwzorowaniu 92 (mały region)