I n t e r o p e r a b i l i t a Web Feature Service Jan Růžička, jan.ruzicka@vsb.cz Připraveno pro seminá ř v rámci konference GIS Ostrava 2007, 28.1.2007
W F S - P o p i s Standardizovaný způsob jak získat vektorová data z mapového (datového) serveru Request (požadavek) parametry (XML/GML/Filter) Response (odpověď) popis (XML) nebo data (XML/GML) HTTP, POST, GET Nově SOAP (1.1.0)
W F S - S c h é m a
W F S - O p e r a c e GetCapabilities DescribeFeatureType GetFeature, GetGMLObject LockFeature, GetFeatureWithLock Transaction Insert, Update, Delete
W F S - T y p y Basic (GetCapabilities, DescribeFeatureType, GetFeature) Transactional (Basic + LockFeature, Transaction) Operace GetGMLObject, GetFeatureWithLock jsou doplňením
W F S G e t F e a t u r e R e q u e s t <?xml version="1.0"?> <wfs:getfeature service="wfs" version="1.1.0" outputformat="text/xml; subtype=gml/3.1.1" xmlns:myns="http://www.someserver.com/myns"...> <wfs:query typename="myns:inwatera_1m"> <ogc:filter> <ogc:gmlobjectid gml:id="inwatera_1m.1234"/> </ogc:filter> </wfs:query> </wfs:getfeature>
W F S G e t F e a t u r e R e s p o n s e - s c h e m a <xsd:element name="featurecollection" type="wfs:featurecollectiontype" substitutiongroup="gml:_featurecollection"/> <xsd:complextype name="featurecollectiontype"> <xsd:complexcontent> <xsd:extension base="gml:abstractfeaturecollectiontype"> <xsd:attribute name="lockid" type="xsd:string" use="optional"/> <xsd:attribute name="timestamp" type="xsd:datetime" use="optional"/> <xsd:attribute name="numberoffeatures" type="xsd:nonnegativeinteger" use="optional"/>
W F S G e t F e a t u r e R e s p o n s e <wfs:featurecollection...> <gml:boundedby>... </gml:boundedby> <gml:featuremember> <Hydro gml:id="hydrography.450"> <geoprop> <gml:point srsname="http://www.opengis.net/gml/srs/eps g.xml#63266405"> <gml:pos>10 10</gml:pos> </gml:point> </geoprop> <depth>565</depth> </Hydro> </gml:featuremember>
W F S M o ž n o s t i f i l t r a c e Elementy jako GML Prostorové operace BBOX, Equals, Disjoint, Intersects, Touches, Crosses, Within, Contains, Overlaps, Beyond,... Logické operátory Operátory porovnání Aritmetické funkce min, max, sin, cos, tan
W F S D e s c r i b e F e a t u r e T y p e Vrací popis typu geoprvku V podstat ě XSD (GML application schema) Využití pro Insert, Update a Get
W F S L o c k F e a t u r e Uzamčení geoprvku (geoprvk ů ) Filter GetFeaturesWithLock
W F S T r a n s a k c e Nejd ř íve LockFeature Insert GML kolekce Update GML + jasná identifikace (jmený prostor:skupina.id) Delete - jasná identifikace (jmený prostor:skupina.id)
W F S V ý j i m k y N ě kolik možných výjimek (exceptions) Nap ř. nelze zamknout geoprvky, filter je chybn ě definován, požádáno o operaci, která není podporována předána hodnota parametru, která není očekávána...
W F S G e t C a p a b i l i t i e s - R e q u e s t <?xml version="1.0" encoding="utf-8"?> <GetCapabilities xmlns= http://www.opengis.net/wfs service="wfs" version="1.0.0"/>
W F S G e t C a p a b i l i t i e s R e s p o n s e - r o o t <?xml version="1.0" encoding="utf-8"?> <wfs:wfs_capabilites xmlns:ows="http://www.opengis.net/ows" xmlns:ogc="http://www.opengis.net/ogc" xmlns:wfs="http://www.opengis.net/wfs" xmlns:gml="http://www.opengis.net/gml" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/xmlschem a-instance" xsi:schemalocation="http://www.opengis.net /wfs../wfs.xsd" version="1.1.0" updatesequence="0">
W F S G e t C a p a b i l i t i e s R e s p o n s e - S e k c e Identifikace (Typ, Verze, Klíčová slova, Abstrakt, Platby, Omezení přístupu) Poskytovatel (Kontaktní místo, Adresa,...) Operace (Seznam operací a jejich možných parametrů a omezení) TypObjektů (Popis, Název, MetadataURL, EPSG, Box) TypGML, Seznam GML prvků (Popis, Název, Verze, Seznam GML prvků) Možnosti filtrování (Seznam podporovaných operací)
W F S X P a t h Jazyk pro určení místa v XML dokumentu Možnost definovat reference v popisu geoprvk ů (feature type) Základní podpora pro WFS
W F S N a t i v e Element, který umož ň uje zasílat instrukce srozumitelné pro konkrétní implementaci Nap ř. možnost zasílat klíče pro ov ěř ení autenticity uživatele nebo spouštět specifické příkazy <Native vendorid="oracle" safetoignore="true">alter SESSION ENABLE PARALLEL DML</Native>
W F S I m p l e m e n t a c e - S e r v e r UMN MapServer GeoServer (včetn ě Transactional) ArcIMS MapGuide GeoMedia Web Map...
W F S I m p l e m e n t a c e - K l i e n t udig OpenJUMP ArcGIS Desktop 9.2 GeoMedia...
P o u ž i t é z d r o j e OGC. WFS OGC. Filter Encoding