Formaty danych przestrzennych.
Usługi OGC.
Michał Okulewicz, Aneta Rosłan
Wydział Matematyki i Nauk Informacyjnych Politechnika Warszawska
Formaty danych i usługi OGC
1 Standardy
2 Formaty danych przestrzennych Format KML
Format GML Inne formaty
3 Usługi
Usługa WMS Usługa WMTS
Standardy
• Open Geospatial Consortium (OGC) zrzesza firmy i ekspertów w dziedzinie GIS i ustala de facto standardy usług i formatów danych związanych z tematyką przestrzenną,
• Google zaproponowało własny format wektorowych danych przestrzennych KML (obecnie stał się częścią specyfikacji OGC),
• Standardy OGC nie są normami ISO, żeby były darmowe
• Standardy OGC są wskazane jako właściwe przez wytyczne techniczne (technical guidelines) dyrektywy INSPIRE.
Keyhole Markup Language
Dokumentacja:
• OGC - KML 2.2.
Cele:
• definicja,
• sposób prezentacji (styl),
• sposób prezentacji (ustawienie kamery),
KML - Prosty przykład
Punkt z etykietą
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2"
xmlns:gx="http://www.google.com/kml/ext/2.2">
<Document>
<name>Znacznik na mapie</name>
<Placemark>
<name>Znacznik na mapie</name>
<Point>
<coordinates>
17.39125903192781,53.19437478927049,0
</coordinates>
</Point>
</Placemark>
</Document>
</kml>
KML - możliwości
KML - analizy przestrzenno-czasowe
http://www.mini.pw.edu.pl/˜okulewiczm/downloads/augis/files/3D.kml
Geographic Markup Language
Dokumentacja
GML jest formatem danych umożliwiającym reprezentację bardziej złożonych struktur przestrzennych niż KML wraz z atrybutami.
GML koncentruje się na złożonych modelach danych bardziej, niż na sposobie ich prezentacji.
GML - Prosty przykład
Punktowa lokalizacja wraz z atrybutami
<wfs:FeatureCollection xmlns:wfs="http://www.opengis.net/wfs"
xmlns:ogc="http://www.opengis.net/ogc"
xmlns:gml="http://www.opengis.net/gml"
xmlns:ows="http://www.opengis.net/ows"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:qgs="http://www.qgis.org/gml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.0.0/wfs.xsd http://www.qgis.org/gml>
<gml:boundedBy .../>
<gml:featureMember .../>
</wfs:FeatureCollection>
GML - Prosty przykład
/wfs:FeatureCollection/gml:boundedBy
<gml:Box srsName="EPSG:4326">
<gml:coordinates cs="," ts=" ">
18.01020400725687765,52.23902294775036381 20.99333372859214819,53.13053438171262144
</gml:coordinates>
</gml:Box>
GML - Prosty przykład
/wfs:FeatureCollection/gml:featureMember
<qgs:test fid="test.0">
<gml:boundedBy>
<gml:Box srsName="EPSG:4326">
<gml:coordinates cs="," ts=" ">18.010,53.130 18.010,53.130
</gml:coordinates>
</gml:Box>
</gml:boundedBy>
<qgs:geometry>
<gml:Point srsName="EPSG:4326">
<gml:coordinates cs="," ts=" ">18.01,53.1</gml:coordinates>
</gml:Point>
</qgs:geometry>
<qgs:id>2</qgs:id>
<qgs:Adres>RównieżNieMa 3 m 8</qgs:Adres>
<qgs:Ocena>3</qgs:Ocena>
<qgs:Nazwa>Cafe2</qgs:Nazwa>
<qgs:DataOtwarcia>2012-01-01</qgs:DataOtwarcia>
</qgs:test>
Inne popularne formaty
• Shapefile - format wektorowy umożliwiający przechowywanie geometrii obiektów wraz z atrybutami - utrzymywany przez firmę ESRI
• GeoTIFF- format do osadzania w przestrzni obrazów rastrowych zakodowanych jako TIFF
Web Map Service
Dokumentacja
Usługa Web Map Service odpowiada za udostępnianie danych przestrzennych w postaci rastrowej (istnieją wyjątki) oraz informacji o obiektach znajdujących się w konkretnym punkcie.
Usługa WMS nie umożliwia wyszukiwania wg wartości atrybutów obiektów.
WMS - Request
WMS funkcjonuje w oparciu o protokół HTTP. Wraz z zapytaniem przesyłamy następujące parametry:
• service - nazwa typu serwisu (WMS)
• version - numer wersji (obecnie 1.3.0, 1.1.1)
• request - rodzaj zapytania
Usługa WMS implementuje następujące rodzaje zapytań:
• GetCapabilities- zwraca metadane usługi i danych
• GetMap - zwraca fragmenty map w formie obrazków
WMS - GetMap
Zapytanie GetMap przyjmuje następujące dodatkowe parametry:
• layers - lista nazw warstw (np. warstwa1,warstwa2)
• styles - styl rysowania warstw (kolor, linie itp.) (np. pusty)
• crs/srs - projekcja (kody EPSG - np. EPSG:4326)
• bbox - prostokąt ograniczający w odpowiednim układzie współrzędnych (np. dla EPSG:4326 -
19.6875,53.7487,20.390625,54.1624)
• width - szerokość obrazka (np. 256)
• height - wysokość obrazka (np. 256)
• format - typ MIME obrazka (np. image/png)
• transparent - czy obrazek ma mieć przezroczyste tło
• . . .
Przykład 1 Przykład 2
WMS - GetFeatureInfo
Zapytanie GetFeatureInfo przyjmuje następujące dodatkowe parametry:
• kopia parametrów zapytania GetMap
• query layers - warstwy, których obiekty chcemy wyszukać
• i/y - współrzędna pozioma obrazka
• j/x - współrzędna pionowa obrazka
• feature count - liczba zwracanych obiektów
• info format - zwracany typ MIME
Web Map Tiled Service
Dokumentacja
Usługa WMTS jest usługą analogiczną do WMS. Udostępniane dane rastrowe są a priori pokafelkowane (ustalona siatka kafli).
Często dane pokafelkowane są udostępniane również w formacie http://adres.hosta/zoom/x/y.pngPrzykład
Web Feature Service
Dokumentacja
Usługa Web Feature Service odpowiada za udostępnianie danych przestrzennych w postaci wektorowej (GML) oraz umożliwia wyszukiwanie przestrzenne i atrybutowe. Ponadto może umożliwiać wykonywanie operacji dodawania, usuwania i modyfikacji obiektów (tzw. usługi transakcyjne).
WFS - Request
WFS funkcjonuje w oparciu o protokół HTTP. Wraz z zapytaniem przesyłamy następujące parametry:
• service - nazwa typu serwisu (WFS)
• version - numer wersji (obecnie 2.0.0, 1.1.0, 1.0.0)
• request - rodzaj zapytania
Usługa WFS implementuje następujące rodzaje zapytań:
• GetCapabilities- zwraca metadane usługi i danych (Przykład)
• DescribeFeatureType- zwraca opis struktury danych danego typu (Przykład)
• GetFeature- zwraca wszystkie dane dla danego typu (Przykład)
• GetGmlObject, Transaction, LockFeature, . . .
WFS - GetFeature + filtr
<wfs:GetFeature
xmlns:wfs="http://www.opengis.net/wfs"
service="WFS" version="1.0.0"
xsi:schemaLocation="http://www.opengis.net/wfs
http://schemas.opengis.net/wfs/1.0.0/WFS-transaction.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<wfs:Query typeName="feature:test" xmlns:feature="http://www.qgis.org/gml/">
<ogc:Filter xmlns:ogc="http://www.opengis.net/ogc">
<ogc:BBOX><ogc:PropertyName>geometry</ogc:PropertyName>
<gml:Box xmlns:gml="http://www.opengis.net/gml" srsName="EPSG:4326">
<gml:coordinates decimal="." cs="," ts=" ">
18.01020400725687765,52.23902294775036381 20.99333372859214819,53.13053438171262144
</gml:coordinates>
Inne usługi
• Catalogue Service
• GeoNames - darmowa
• Nominatim - darmowy oparty na OpenStreetMap
• Google Gecoding - 1000 - 2 500 / dzień (użytkownik)
• Yahoo Geocoding - 50 000 / dzień (IP)
• . . .