SlideShare uma empresa Scribd logo
1 de 35
Baixar para ler offline
Sieciowe serwery danych
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)
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
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
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
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>
          .....
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)
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)
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
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).
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
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
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
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
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)
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
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)
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!)
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
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
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
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
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
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]
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
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
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
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)
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
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
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
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
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
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
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)

Mais conteúdo relacionado

Semelhante a Sieciowe serwery danych

Dawid Gonzo Kałędowski: R jako osobisty GPS
Dawid Gonzo Kałędowski: R jako osobisty GPSDawid Gonzo Kałędowski: R jako osobisty GPS
Dawid Gonzo Kałędowski: R jako osobisty GPSAnalyticsConf
 
Monitoring systemu. Dlaczego mój kardiolog jest bogatym człowiekiem?
Monitoring systemu. Dlaczego mój kardiolog jest bogatym człowiekiem?Monitoring systemu. Dlaczego mój kardiolog jest bogatym człowiekiem?
Monitoring systemu. Dlaczego mój kardiolog jest bogatym człowiekiem?The Software House
 
Apache http server - proste i zaawansowane przypadki użycia
Apache http server - proste i zaawansowane przypadki użyciaApache http server - proste i zaawansowane przypadki użycia
Apache http server - proste i zaawansowane przypadki użyciaWojciech Lichota
 
[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro
[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro
[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegroallegro.tech
 
Skalowanie PostgreSQL @ DBConf.PL 2014
Skalowanie PostgreSQL @ DBConf.PL 2014Skalowanie PostgreSQL @ DBConf.PL 2014
Skalowanie PostgreSQL @ DBConf.PL 2014Filip Rembialkowski
 
Agregacja i analiza logów
Agregacja i analiza logówAgregacja i analiza logów
Agregacja i analiza logówDivante
 
PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...
PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...
PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...PROIDEA
 
OSGi, deklaratywnie
OSGi, deklaratywnieOSGi, deklaratywnie
OSGi, deklaratywnieCode-House
 
ROS3D - Podsumowanie prac nad projektem
ROS3D - Podsumowanie prac nad projektemROS3D - Podsumowanie prac nad projektem
ROS3D - Podsumowanie prac nad projektemOpen-RnD
 
The starling framework
The starling frameworkThe starling framework
The starling frameworkukaszdev
 
4Developers 2015: Orleans - aplikacje, które skalują i dystrybuują się same -...
4Developers 2015: Orleans - aplikacje, które skalują i dystrybuują się same -...4Developers 2015: Orleans - aplikacje, które skalują i dystrybuują się same -...
4Developers 2015: Orleans - aplikacje, które skalują i dystrybuują się same -...PROIDEA
 
PLNOG22 - Piotr Stolarek - Bezpieczeństwo użytkowania platform usługowych Tel...
PLNOG22 - Piotr Stolarek - Bezpieczeństwo użytkowania platform usługowych Tel...PLNOG22 - Piotr Stolarek - Bezpieczeństwo użytkowania platform usługowych Tel...
PLNOG22 - Piotr Stolarek - Bezpieczeństwo użytkowania platform usługowych Tel...PROIDEA
 
Michał Dec - Quality in Clouds
Michał Dec - Quality in CloudsMichał Dec - Quality in Clouds
Michał Dec - Quality in Cloudskraqa
 
Ganymede - nowoczesne technologie w grach przeglądarkowych i mobilnych
Ganymede - nowoczesne technologie w grach przeglądarkowych i mobilnychGanymede - nowoczesne technologie w grach przeglądarkowych i mobilnych
Ganymede - nowoczesne technologie w grach przeglądarkowych i mobilnychSKN Shader
 
Gluster FS
Gluster FSGluster FS
Gluster FS3camp
 

Semelhante a Sieciowe serwery danych (20)

Dawid Gonzo Kałędowski: R jako osobisty GPS
Dawid Gonzo Kałędowski: R jako osobisty GPSDawid Gonzo Kałędowski: R jako osobisty GPS
Dawid Gonzo Kałędowski: R jako osobisty GPS
 
Monitoring systemu. Dlaczego mój kardiolog jest bogatym człowiekiem?
Monitoring systemu. Dlaczego mój kardiolog jest bogatym człowiekiem?Monitoring systemu. Dlaczego mój kardiolog jest bogatym człowiekiem?
Monitoring systemu. Dlaczego mój kardiolog jest bogatym człowiekiem?
 
Apache http server - proste i zaawansowane przypadki użycia
Apache http server - proste i zaawansowane przypadki użyciaApache http server - proste i zaawansowane przypadki użycia
Apache http server - proste i zaawansowane przypadki użycia
 
[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro
[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro
[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro
 
Skalowanie PostgreSQL @ DBConf.PL 2014
Skalowanie PostgreSQL @ DBConf.PL 2014Skalowanie PostgreSQL @ DBConf.PL 2014
Skalowanie PostgreSQL @ DBConf.PL 2014
 
Agregacja i analiza logów
Agregacja i analiza logówAgregacja i analiza logów
Agregacja i analiza logów
 
Dane przestrzenne w PHP
Dane przestrzenne w PHPDane przestrzenne w PHP
Dane przestrzenne w PHP
 
PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...
PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...
PLNOG16: Nowe założenia dla zbieranie logów, statystyk i alertów, Maciej Kałk...
 
Mongodb with Rails
Mongodb with RailsMongodb with Rails
Mongodb with Rails
 
OSGi, deklaratywnie
OSGi, deklaratywnieOSGi, deklaratywnie
OSGi, deklaratywnie
 
[JUG] JCuda
[JUG] JCuda[JUG] JCuda
[JUG] JCuda
 
ROS3D - Podsumowanie prac nad projektem
ROS3D - Podsumowanie prac nad projektemROS3D - Podsumowanie prac nad projektem
ROS3D - Podsumowanie prac nad projektem
 
Barcamp 08/06/2010
Barcamp 08/06/2010Barcamp 08/06/2010
Barcamp 08/06/2010
 
The starling framework
The starling frameworkThe starling framework
The starling framework
 
4Developers 2015: Orleans - aplikacje, które skalują i dystrybuują się same -...
4Developers 2015: Orleans - aplikacje, które skalują i dystrybuują się same -...4Developers 2015: Orleans - aplikacje, które skalują i dystrybuują się same -...
4Developers 2015: Orleans - aplikacje, które skalują i dystrybuują się same -...
 
JavaScript, Moduły
JavaScript, ModułyJavaScript, Moduły
JavaScript, Moduły
 
PLNOG22 - Piotr Stolarek - Bezpieczeństwo użytkowania platform usługowych Tel...
PLNOG22 - Piotr Stolarek - Bezpieczeństwo użytkowania platform usługowych Tel...PLNOG22 - Piotr Stolarek - Bezpieczeństwo użytkowania platform usługowych Tel...
PLNOG22 - Piotr Stolarek - Bezpieczeństwo użytkowania platform usługowych Tel...
 
Michał Dec - Quality in Clouds
Michał Dec - Quality in CloudsMichał Dec - Quality in Clouds
Michał Dec - Quality in Clouds
 
Ganymede - nowoczesne technologie w grach przeglądarkowych i mobilnych
Ganymede - nowoczesne technologie w grach przeglądarkowych i mobilnychGanymede - nowoczesne technologie w grach przeglądarkowych i mobilnych
Ganymede - nowoczesne technologie w grach przeglądarkowych i mobilnych
 
Gluster FS
Gluster FSGluster FS
Gluster FS
 

Mais de WGUG

Moduł sztucznych sieci neuronowych dla GRASS 7
Moduł sztucznych sieci neuronowych dla GRASS 7Moduł sztucznych sieci neuronowych dla GRASS 7
Moduł sztucznych sieci neuronowych dla GRASS 7WGUG
 
GRASS a R
GRASS a RGRASS a R
GRASS a RWGUG
 
Spolecznosc polonizacja grass
Spolecznosc polonizacja grassSpolecznosc polonizacja grass
Spolecznosc polonizacja grassWGUG
 
Interfejsy graficzne w systemie GRASS
Interfejsy graficzne w systemie GRASSInterfejsy graficzne w systemie GRASS
Interfejsy graficzne w systemie GRASSWGUG
 
Skrypty grass
Skrypty grassSkrypty grass
Skrypty grassWGUG
 
Wprowadzenie do systemu GIS - GRASS
Wprowadzenie do systemu GIS - GRASSWprowadzenie do systemu GIS - GRASS
Wprowadzenie do systemu GIS - GRASSWGUG
 
GRASS GIS - perspektywy rozwoju
GRASS GIS - perspektywy rozwojuGRASS GIS - perspektywy rozwoju
GRASS GIS - perspektywy rozwojuWGUG
 
Modelowanie opadu
Modelowanie opaduModelowanie opadu
Modelowanie opaduWGUG
 
GRASS w modelowaniu hydrologicznym
GRASS w modelowaniu hydrologicznymGRASS w modelowaniu hydrologicznym
GRASS w modelowaniu hydrologicznymWGUG
 
Analizy Przestrzenne z wykorzystaniem GRASS vol.15
Analizy Przestrzenne z wykorzystaniem GRASS vol.15Analizy Przestrzenne z wykorzystaniem GRASS vol.15
Analizy Przestrzenne z wykorzystaniem GRASS vol.15WGUG
 
Modelowanie przestrzennego zroznicowania wysokosci pokrywy snieznej w sudetac...
Modelowanie przestrzennego zroznicowania wysokosci pokrywy snieznej w sudetac...Modelowanie przestrzennego zroznicowania wysokosci pokrywy snieznej w sudetac...
Modelowanie przestrzennego zroznicowania wysokosci pokrywy snieznej w sudetac...WGUG
 
Pracownia GIS w oparciu o oprogramowanie darmowe
Pracownia GIS w oparciu o oprogramowanie darmowePracownia GIS w oparciu o oprogramowanie darmowe
Pracownia GIS w oparciu o oprogramowanie darmoweWGUG
 
Modelowanie promieniowania słonecznego
Modelowanie promieniowania słonecznegoModelowanie promieniowania słonecznego
Modelowanie promieniowania słonecznegoWGUG
 
Przygotowywanie prezentacji kartograficznej w GRASS
Przygotowywanie prezentacji kartograficznej w GRASSPrzygotowywanie prezentacji kartograficznej w GRASS
Przygotowywanie prezentacji kartograficznej w GRASSWGUG
 
Szorstkosc miasto-grass
Szorstkosc miasto-grassSzorstkosc miasto-grass
Szorstkosc miasto-grassWGUG
 

Mais de WGUG (15)

Moduł sztucznych sieci neuronowych dla GRASS 7
Moduł sztucznych sieci neuronowych dla GRASS 7Moduł sztucznych sieci neuronowych dla GRASS 7
Moduł sztucznych sieci neuronowych dla GRASS 7
 
GRASS a R
GRASS a RGRASS a R
GRASS a R
 
Spolecznosc polonizacja grass
Spolecznosc polonizacja grassSpolecznosc polonizacja grass
Spolecznosc polonizacja grass
 
Interfejsy graficzne w systemie GRASS
Interfejsy graficzne w systemie GRASSInterfejsy graficzne w systemie GRASS
Interfejsy graficzne w systemie GRASS
 
Skrypty grass
Skrypty grassSkrypty grass
Skrypty grass
 
Wprowadzenie do systemu GIS - GRASS
Wprowadzenie do systemu GIS - GRASSWprowadzenie do systemu GIS - GRASS
Wprowadzenie do systemu GIS - GRASS
 
GRASS GIS - perspektywy rozwoju
GRASS GIS - perspektywy rozwojuGRASS GIS - perspektywy rozwoju
GRASS GIS - perspektywy rozwoju
 
Modelowanie opadu
Modelowanie opaduModelowanie opadu
Modelowanie opadu
 
GRASS w modelowaniu hydrologicznym
GRASS w modelowaniu hydrologicznymGRASS w modelowaniu hydrologicznym
GRASS w modelowaniu hydrologicznym
 
Analizy Przestrzenne z wykorzystaniem GRASS vol.15
Analizy Przestrzenne z wykorzystaniem GRASS vol.15Analizy Przestrzenne z wykorzystaniem GRASS vol.15
Analizy Przestrzenne z wykorzystaniem GRASS vol.15
 
Modelowanie przestrzennego zroznicowania wysokosci pokrywy snieznej w sudetac...
Modelowanie przestrzennego zroznicowania wysokosci pokrywy snieznej w sudetac...Modelowanie przestrzennego zroznicowania wysokosci pokrywy snieznej w sudetac...
Modelowanie przestrzennego zroznicowania wysokosci pokrywy snieznej w sudetac...
 
Pracownia GIS w oparciu o oprogramowanie darmowe
Pracownia GIS w oparciu o oprogramowanie darmowePracownia GIS w oparciu o oprogramowanie darmowe
Pracownia GIS w oparciu o oprogramowanie darmowe
 
Modelowanie promieniowania słonecznego
Modelowanie promieniowania słonecznegoModelowanie promieniowania słonecznego
Modelowanie promieniowania słonecznego
 
Przygotowywanie prezentacji kartograficznej w GRASS
Przygotowywanie prezentacji kartograficznej w GRASSPrzygotowywanie prezentacji kartograficznej w GRASS
Przygotowywanie prezentacji kartograficznej w GRASS
 
Szorstkosc miasto-grass
Szorstkosc miasto-grassSzorstkosc miasto-grass
Szorstkosc miasto-grass
 

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)