GetFeature
Web Feature Service (WFS) peut soumettre une requête de récupération d'instances de fonction. Le client peut également définir les propriétés des fonctions à récupérer et limiter la requête d'un point de vue spatial ou non spatial. Le service peut renvoyer les résultats de recherche d'une fonction (contenu) basés sur la description renvoyée dans la requête DescribeFeatureType.
Une application utilise des filtres pour récupérer un ensemble donné de fonctions remplissant les conditions définies par le filtre. Il est par exemple possible d'obtenir différents attributs, géographiques ou non. Les filtres permettent également aux clients de sélectionner un ensemble de fonctions à des fins d'analyse, par exemple, toutes les fonctions hydrographiques d'une région ou d'un nouveau développement immobilier (un polygone personnalisé).
L'opération GetFeature récupère les fonctions et les informations données sur la fonction auprès du serveur WFS. Un document XML contenant les résultats est renvoyé au client.
Requête POST
<xsd:elementname="GetFeature" type="wfs:GetFeatureType"/>
<xsd:complexType name="GetFeatureType">
<xsd:sequence>
<xsd:elementref="wfs:Query" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attributename="version" type="xsd:string" use="required" fixed="2.0.2"/>
<xsd:attributename="service" type="xsd:string" use="required" fixed="WFS"/>
<xsd:attributename="handle" type="xsd:string" use="optional"/>
<xsd:attributename="outputFormat" type="xsd:string" use="optional" default="application/gml+xml;version=3.2"/>
<xsd:attributename="count" type="xsd:positiveInteger" use="optional"/>
</xsd:complexType>
<xsd:elementname="Query" type="wfs:QueryType"/>
<xsd:complexType name="QueryType">
<xsd:sequence>
<xsd:elementref="ogc:PropertyName" minOccurs="0" maxOccurs="unbounded"/>
<xsd:elementref="ogc:Filter" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attributename="handle" type="xsd:string" use="optional"/>
<xsd:attributename="srsName" type="xsd:anyURI " use="optional"/>
<xsd:attributename="typeNames" type="xsd:QName" use="required"/>
</xsd:complexType>
Le codage XML d'une requête GetFeature est défini par le fragment de schéma XML pour WFS 1.1.0 :
<xsd:elementname="GetFeature" type="wfs:GetFeatureType"/>
<xsd:complexType name="GetFeatureType">
<xsd:sequence>
<xsd:elementref="wfs:Query" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attributename="version" type="xsd:string" use="required" fixed="1.1.0"/>
<xsd:attributename="service" type="xsd:string" use="required" fixed="WFS"/>
<xsd:attributename="handle" type="xsd:string" use="optional"/>
<xsd:attributename="outputFormat" type="xsd:string" use="optional" default="text/xml; subtype=gml/3.1.1"/>
<xsd:attributename="maxFeatures" type="xsd:positiveInteger" use="optional"/>
</xsd:complexType>
<xsd:elementname="Query" type="wfs:QueryType"/>
<xsd:complexType name="QueryType">
<xsd:sequence>
<xsd:elementref="ogc:PropertyName" minOccurs="0" maxOccurs="unbounded"/>
<xsd:elementref="ogc:Filter" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attributename="handle" type="xsd:string" use="optional"/>
<xsd:attributename="srsName" type="xsd:anyURI " use="optional"/>
<xsd:attributename="typeName" type="xsd:QName" use="required"/>
<xsd:attributename="featureVersion" type="xsd:string" use="optional"/>
</xsd:complexType>
Le codage XML d'une requête GetFeature est défini par le fragment de schéma XML pour WFS 1.0.0 :
<xsd:elementname="GetFeature" type="wfs:GetFeatureType"/>
<xsd:complexType name="GetFeatureType">
<xsd:sequence>
<xsd:elementref="wfs:Query" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attributename="version" type="xsd:string" use="required" fixed="1.0.0"/>
<xsd:attributename="service" type="xsd:string" use="required" fixed="WFS"/>
<xsd:attributename="handle" type="xsd:string" use="optional"/>
<xsd:attributename="outputFormat" type="xsd:string" use="optional" default="xmlschema"/>
<xsd:attributename="maxFeatures" type="xsd:positiveInteger" use="optional"/>
</xsd:complexType>
<xsd:elementname="Query" type="wfs:QueryType"/>
<xsd:complexType name="QueryType">
<xsd:sequence>
<xsd:elementref="ogc:PropertyName" minOccurs="0" maxOccurs="unbounded"/>
<xsd:elementref="ogc:Filter" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attributename="handle" type="xsd:string" use="optional"/>
<xsd:attributename="srsName" type="xsd:anyURI " use="optional"/>
<xsd:attributename="typeName" type="xsd:QName" use="required"/>
<xsd:attributename="featureVersion" type="xsd:string" use="optional"/>
</xsd:complexType>
Requête GET
La requête GET contient :
Input | Obligatoire | Description |
---|---|---|
SERVICE=WFS |
Oui | Défini sur WFS. |
VERSION= |
Oui | Défini sur 2.0.2. Il s'agit de la version de la norme Web Feature Service déployée dans cette version (1.0.0, 1.1.0, 2.0.0 ou 2.0.2). |
REQUEST=GetFeature |
Oui | Défini sur GetFeature pour une opération d'obtention de fonction. |
TYPENAME (1.0.0 ou 1.1.0)
|
Oui | Liste de types de fonction séparés par des virgules. |
MAXFEATURES (1.0.0 ou 1.1.0)
|
Non | Nombre maximal de fonctions à renvoyer. |
STARTINDEX |
Non | Pour 2.0.0 et 2.0.2 uniquement. Si les deux paramètres Par exemple, pour l’URL :
L’attribut précédent serait :
L’attribut suivant serait :
|
OUTPUTFORMAT |
Non | Suivant la version :
|
Requête stockée | Pour 2.0.0 et 2.0.2 uniquement. Utilise les paramètres STOREDQUERY_ID et ID . Seul l’ID obligatoire de GetFeatureById est autorisé.Exemple de requête GET :
Exemple de requête POST :
|
|
STOREDQUERY_ID |
Non | Les versions 2.0.0 et 2.0.2 utilisent des formats d'ID différents (URN et URL). Le format URN est encore autorisé pour 2.0.2, mais il a été déprécié. 2.0.0 - 2.0.2 - |
ID |
Non | ID de fonction de la fonction à renvoyer. Par exemple, l’ID de fonction
|
Par exemple, pour v2.0.2 :
http://<server>:<port>/rest/Spatial/WFS?SERVICE=WFS&VERSION=2.0.2&REQUEST=GetFeature&TYPENAMES=World&COUNT=10
Par exemple, pour v1.1.0 :
http://<server>:<port>/rest/Spatial/WFS?SERVICE=WFS&VERSION=1.1.0&REQUEST=GetFeature&TYPENAME=World&MAXFEATURES=10