GetFeature

Web Feature Service (WFS) puede dar servicio a una solicitud de recuperar instancias de función. Además, el cliente puede especificar qué propiedades de función buscar y puede restringir la consulta espacialmente y no espacialmente. El servicio puede devolver los resultados de búsqueda de una función (contenido) basado en la descripción devuelta en la solicitud DescribeFeatureType.

Una aplicación aplica filtros para recuperar un conjunto específico de funciones que cumplen la condición especificada por el filtro. Por ejemplo, para obtener los diversos atributos, geográficos u otros. Los filtros además les permiten a los clientes seleccionar un conjunto de funciones para análisis, como por ejemplo todas las funciones de agua dentro de una región o de un nuevo complejo habitacional (un polígono personalizado).

La operación GetFeature recupera características e información específica acerca de la característica desde el servidor WFS. Se devuelve al cliente un documento XML que contiene el conjunto de resultados.

Solicitud POST

La codificación XML de una solicitud GetFeature se define por el siguiente fragmento del Esquema de XML para WFS 2.0.0 y 2.0.2:
<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> 

La codificación XML de una solicitud GetFeature se define por el siguiente fragmento del Esquema de XML para 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>

La codificación XML de una solicitud GetFeature se define por el siguiente fragmento del Esquema de XML para 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>

Solicitud GET

La solicitud GET contiene:

Entrada Requerido Descripción
SERVICE=WFS Fijo en WFS.
VERSION= Fijo en 2.0.2. Esta es la versión del estándar Web Feature Service implementado en esta versión (1.0.0, 1.1.0, 2.0.0 o 2.0.2).
REQUEST=GetFeature Definido en GetFeature para una operación obtener función.
TYPENAME (1.0.0 o 1.1.0)

TYPENAMES (1.0.0 o 1.1.0)

Una lista de tipos de función separada por comas.
MAXFEATURES (1.0.0 o 1.1.0)

COUNT (2.0.0 o 2.0.2)

No La cantidad máxima de funciones que deben ser devueltas.
STARTINDEX No Para 2.0.0 y 2.0.2 solamente.

Si están establecidos los parámetros COUNT y STARTINDEX, la respuesta contendrá atributos siguientes y anteriores. Estos atributos contendrán direcciones URL para el conjunto siguiente de resultados incrementando o disminuyendo STARTINDEX por COUNT.

Por ejemplo, para la dirección URL:

http://<server>:<port>/rest/Spatial/WFS?SERVICE=WFS&VERSION=2.0.0&REQUEST=GetFeature&STARTINDEX=11&RESULTTYPE=results&COUNT=10&TYPENAMES=ns29:World

El atributo anterior sería:

http://<server>:<port>/rest/Spatial/WFS?SERVICE=WFS&VERSION=2.0.0&REQUEST=GetFeature&STARTINDEX=1&RESULTTYPE=results&COUNT=10&TYPENAMES=ns29:World

El atributo siguiente sería:

http://<server>:<port>/rest/Spatial/WFS?SERVICE=WFS&VERSION=2.0.0&REQUEST=GetFeature&STARTINDEX=21&RESULTTYPE=results&COUNT=10&typenames=ns29:World

OUTPUTFORMAT No Depende de la versión:
  • Para 1.0.0, el valor predeterminado es text/xml; subtype=gml/2.1.2.
  • Para 1.1.0, el valor predeterminado es text/xml; subtype=gml/3.1.1.
  • Para 2.0.0 y 2.0.2, el valor predeterminado esapplication/gml+xml;version=3.2.
Consulta guardada   Para 2.0.0 y 2.0.2 solamente. Utiliza los parámetros STOREDQUERY_ID e ID. Solo se admite la ID obligatoria para GetFeatureById.

Solicitud GET de ejemplo:

http://localhost:8097/rest/Spatial/WFS?SERVICE=WFS&VERSION=2.0.0&REQUEST=GetFeature&STOREDQUERY_ID=urn:ogc:def:query:OGC-WFS::GetFeatureById&ID=miwfs-2D-World-2D-1

Solicitud POST de ejemplo:

<?xml version="1.0" encoding="UTF-8"?>
<wfs:GetFeature version="2.0.2" service="WFS" xmlns:wfs="http://www.opengis.net/wfs/2.0"
 <wfs:StoredQuery id="urn:ogc:def:query:OGC-WFS::GetFeatureById">
  <wfs:Parameter name="id">miwfs-2D-World-2D-1
  </wfs:Parameter>
 </wfs:StoredQuery></wfs:GetFeature>
STOREDQUERY_ID No La versión 2.0.0 y 2.0.2 usa distintos formatos de id (URN versus URL). El formato URN igual se admite para 2.0.2, pero se considera obsoleto.

2.0.0 -urn:ogc:def:query:OGC-WFS::GetFeatureById

2.0.2 -http://www.opengis.net/def/query/OGC-WFS/0/GetFeatureById o urn:ogc:def:query:OGC-WFS::GetFeatureById (obsoleto)

ID No La ID de la característica que se va a devolver.

Por ejemplo, la ID de característicamiwfs-2D-World-2D-1 consta de:

  • miwfs = esquema
  • 2D = bidimensional
  • World = nombre de característica
  • 1 = la característica que debe devolver la clave de característica

Por ejemplo, para v2.0.2:


http://<server>:<port>/rest/Spatial/WFS?SERVICE=WFS&VERSION=2.0.2&REQUEST=GetFeature&TYPENAMES=World&COUNT=10

Por ejemplo, para v1.1.0:


http://<server>:<port>/rest/Spatial/WFS?SERVICE=WFS&VERSION=1.1.0&REQUEST=GetFeature&TYPENAME=World&MAXFEATURES=10