OGC WFS de

From MapbenderWiki

Jump to: navigation, search

Read the English language version

Contents

Beschreibung

Das OGC (Open Geospatial Consortium) hat die Spezifikationen für den Web Feature Service (WFS) erstellt. Lesen Sie hier alle Details der OGC Specifikationen. Die OGC WFS spezifiert einige Abfragetypen, von denen einige optional und nicht immer implementiert sind:

  • getCapabilities
  • describeFeatureType
  • getFeature

Diese Anfragen liefern die vollständigen Features (Geometrien mit Attributen) vom Server zurück. Dies ist sozusagen die Erweiterung der OGC WMS getFeatureInfo-Anfrage.

Diese Anfragen können alle von Hand zusammen gestellt werden (wie unten beschrieben), aber das ist eine ziemlich mühsame und fehleranfällige Aufgabe. WFS Clients helfen durch Benutzeroberflächen einen Zugang zu den OGC WFS Diensten zu erhalten, um eine Abfrage und Auswahl zu erstellen, Layer zu aktivieren (~FeatureTypes), etc.

Mapbender erweitert diese Funktionalität durch eine vollständige Benutzerverwaltung, Oberflächen, GIS Features und implementiert einige andere OGC Specifikationen für zusätzliche Features.


Lesen Sie hier weiter zur WFS Konfiguration.

Technische Beschreibung

getCapabilities

Der getCapabilities Aufruf liefert ein OGC WFS Capabilities Dokument (XML) zurück, das alle Informationen enthält, die ein OGC WFS Client benötigt, um die Feature auf dem entsprechenden Server abzufragen. Das WFS Capabilities-Dokument ist dem OGC WMS Capabilities Dokument sehr ähnlich, ist aber erweitert durch mehr Details in Bezug auf die Felder innerhalb eines Layers.

getFeature

Die getFeature Anfrage ist in der Lage einzelne Objekte abzufragen oder eine Auswahl, abhängig von der Filterkodierung, die der Anfrage hinzugefügt wird. Die OGC WFS ~getFeature Anfrage liefert ein GML http://wms1.ccgis.de/cgi-bin/mapserv425?map=/data/umn/germany_demo/germany_demo_wfs.map&SERVICE=WFS&&REQUEST=GetFeature&VERSION=1.0.0&TYPENAME=Postleitzahlbereiche&FILTER=%3CFilter%3E%3CPropertyIsLike+wildCard%3D%27%2A%27+singleChar%3D%27%3F%27+escape%3D%27%21%27%3E%3CPropertyName%3Eitem_plz%3C%2FPropertyName%3E%3CLiteral%3E53111%3C%2FLiteral%3E%3C%2FPropertyIsLike%3E%3C%2FFilter%3E (Beispiel)] Dokument zurück.

Der Parameter, der die id des Postleitzahlenbereiches abfragt, wird als WFS FILTER an die getFeature Anfrage als http GET Parameter angehängt.


==== http://wms1.ccgis.de/cgi-bin/mapserv425?map=/data/umn/germany_demo/germany_demo_wfs.map& ====
SERVICE=WFS&
REQUEST=~GetFeature&
VERSION=1.0.0&
TYPENAME=Postleitzahlbereiche&
FILTER=

(die folgenden Parameter müssen URL-encoded sein, wenn sie mit GET übergeben werden)

<Filter>
   <PropertyIsLike wildCard="%" singleChar="?" escape="ESC">
      <PropertyName>
         item_plz
      </PropertyName>
      <Literal>
         53111
      </Literal>
   </PropertyIsLike>
</Filter>

Das zurückgelieferte GML Dokument enthält den entsprechenden Postleitzahlenbereich als GML.

(das Format des GML wurde für die HTML Präsentation modifiziert)


<?xml version='1.0' encoding="ISO-8859-1" ?>  
<wfs:~FeatureCollection  
   xmlns="!http://www.ttt.org/myns"  
   xmlns:myns="!http://www.ttt.org/myns"  
   xmlns:wfs="!http://www.opengis.net/wfs"  
   xmlns:gml="!http://www.opengis.net/gml"  
   xmlns:ogc="!http://www.opengis.net/ogc"  
   xmlns:xsi="!http://www.w3.org/2001/XMLSchema-instance"  
   xsi:schemaLocation="!http://www.opengis.net/wfs ../wfs/1.0.0/WFS-basic.xsd   
                       !http://www.ttt.org/myns  
                       !http://wms1.ccgis.de/cgi-bin/mapserv?
                               map=/data/umn/germany_demo/germany_demo_wfs.map&  
                               SERVICE=WFS&  
                               VERSION=1.0.0&  
                               REQUEST=~DescribeFeatureType  
                               TYPENAME=Postleitzahlbereiche">  
      <gml:boundedBy>  
      	<gml:Box srsName="epsg:31467">  
      		<gml:coordinates>  
      			-1.000000,-1.000000 -1.000000,-1.000000  
      		</gml:coordinates>  
      	</gml:Box>  
      </gml:boundedBy>  
    <gml:featureMember>  
      <Postleitzahlbereiche>  
        <gml:boundedBy>  
        	<gml:Box srsName="epsg:31467">  
        		<gml:coordinates>  
        			7.089682,50.732651 7.113803,50.749050  
        		</gml:coordinates>  
        	</gml:Box>  
        </gml:boundedBy>  
        <gml:polygonProperty>  
          <gml:Polygon srsName="epsg:31467">  
          	<gml:outerBoundaryIs>  
          		<gml:~LinearRing>  
          			<gml:coordinates>  
          				3365496.566430,5624978.448441 
          				3365521.124423,5625013.908323  
          				3365565.223312,5625084.526916  
          				3365629.214635,5625160.583843   
          				3365723.363724,5625232.038551  
          				3365777.825572,5625277.769189  
          				3365867.287406,5625324.293319  
          				3366081.776121,5625376.954252  
          				3366242.558916,5625409.342895  
          				3366447.711508,5625422.348649  
          				3366677.856852,5625435.565091   
          				3366826.787403,5624801.669664   
          				3366855.035066,5624566.573031   
          				3366925.451142,5624182.224968   
          				3366715.750264,5624144.261254   
          				3366650.863977,5624128.508596   
          				3366600.955317,5624112.804621   
          				3366531.383108,5624081.886701   
          				3366506.401347,5624071.486493   
          				3366442.053224,5624025.159618   
          				3366392.576627,5623979.714963   
          				3366347.846258,5623958.781918   
          				3366303.629382,5623898.347600   
          				3366254.562142,5623822.330657   
          				3366204.783816,5623801.958859   
          				3366170.529172,5623746.359034   
          				3366096.979434,5623625.121634   
          				3365763.215463,5623795.455427   
          				3365500.779929,5623942.335246   
          				3365218.803228,5624068.496482   
          				3365237.785434,5624138.909926   
          				3365251.877503,5624209.028949   
          				3365265.770476,5624284.252033   
          				3365279.898174,5624354.790930   
          				3365313.834894,5624430.338190   
          				3365342.788540,5624515.791264   
          				3365381.492255,5624611.601424   
          				3365424.880011,5624732.334672   
          				3365458.518013,5624832.944095   
          				3365502.496403,5624908.664231   
          				3365531.735324,5624963.958282   
          				3365496.566430,5624978.448441   
          			</gml:coordinates>  
          		</gml:~LinearRing>  
          	</gml:outerBoundaryIs>  
          </gml:Polygon>  
        </gml:polygonProperty>  
        <gid>3695</gid>  
        <oid>15223704</oid>  
        <plz99>53111</plz99>  
        <item_plz>53111</item_plz>  
        <buffer_>500</buffer_>  
      </Postleitzahlbereiche>  
    </gml:featureMember>  
</wfs:~FeatureCollection>
Personal tools