BLOG IDEE

Responsive Image

BLOG IDEE

Blogs

Nuevas storedQueries en los WFS

El Servicio de Descarga Web Feature Service (WFS) y las nuevas storedQueries incorporadas por el CNIG

El Servicio de Descarga Web Feature Service (WFS) define las operaciones web para la consulta, acceso y edición de los «objetos geográficos» (Features) vectoriales, como por ejemplo una red de carreteras o los límites de una parcela en una región.

Los objetos geográficos que se publican en un WFS se pueden consultar en el fichero de capacidades. Por ejemplo en el WFS de Nombres Geográficos el objeto geográfico sería «Lugar nombrado» (gn:NamedPlace): GetCapabilities Nombres Geográficos

En el fichero de capacidades también se pueden consultar las operaciones disponibles para cada objeto geográfico. Una de las operaciones básicas es GetFeature, que devuelve un objeto geográfico, por ejemplo, GetFeature NamedPlace

Para mejorar las consultas a los objetos geográficos, el O.A. Centro Nacional de Información Geográfica (CNIG) ha incorporado nuevas storedQueries, que permiten realizar una consulta mediante el nombre o denominación del objeto geográfico.

Las storedQueries son consultas predefinidas en el servidor que filtran la información según parámetros ya establecidos, como obtener los topónimos de un municipio, los portales de una calle o los ríos que atraviesan un municipio.

Para reutilizar estas consultas solo es necesario realizar una petición indicando el identificador (StoredQuery_ID) y los parámetros requeridos.

Para conocer las storedQueries definidas en un WFS basta con ejecutar la operación ListStoredQueries. Por ejemplo, para el WFS de Hidrografía la operación a ejecutar sería: ListStoredQueries Hidrografía

Para consultar los parámetros necesarios de cada storyQuery se utiliza la operación DescribeStoredQueries. Para el WFS del ejemplo anterior sería: DescribeStoredQueries Hidrografía

Por ejemplo, la storedQuery que permite devolver un objeto geográfico mediante un identificador se denomina «GetFeatureById», y su único parámetro es «ID», donde se define el identificador del objeto geográfico que se quiere obtener.

A continuación, se describen las diferentes storedQueries que se han definido para los WFS de direcciones postales, hidrografía y redes de transportes, así como la forma de realizar las correspondientes peticiones. Por último, se explica cómo efectuar estas consultas desde QGIS.

StoredQuery de direcciones postales

En el WFS de direcciones postales se han implementado varias storedQueries para filtrar los datos espaciales y localizarlos de forma más sencilla.

Como ya hemos indicado, para consultar las storedQueries disponibles en el WFS de direcciones postales debemos ejecutar la opeación ListStoredQueriesy, para conocer su descripción y los parámetros requeridos, la operación DescribeStoredQueries.

DescribeStoredQueries WFS de direcciones

DescribeStoredQueries WFS de direcciones

Vamos a realizar el ejemplo de obtener las direcciones postales a partir de nombre de vía y municipio partiendo de los parámetros: nameOfTheAdminUnitName (municipio), nameOfTheThoroughfareName (vía pública) y srsName (sistema de referencia), tal y como se describen en la operación DescribeStoredQuery.

La petición para conocer los portales del «Paseo Castellana» en el municipio de Madrid, en el sistema de referencia ETR89 y con la proyección UTM 30 (EPSG:25830), sería la siguiente:


https://www.cartociudad.es/wfs-inspire/direcciones?
SERVICE=WFS&
REQUEST=GetFeature&
VERSION=2.0.0&
STOREDQUERY_ID=
urn:x-inspire:StoredQueries:AddressByThoroughfareNameAndAdminUnitName&
    nameOfTheAdminUnitName=Madrid&
    nameOfTheThoroughfareName=PASEO CASTELLANA&
    srsName=EPSG:25830

El resultado es un fichero GML con los atributos del objeto geográfico conforme a la Especificación de Datos de Direcciones de la Comisión Europea. Si se guarda como XML se puede cargar en QGIS para visualizar los objetos geográficos y consultar sus atributos pulsando sobre ellos.

Paseo Castellana

Paseo Castellana

En este otro ejemplo vamos a obtener los portales de la Rua Nova en Lugo:

Rua Nova

Rua Nova, Lugo

StoredQuery de Redes de Transportes

En el caso de las redes de transporte, si consultamos las storedQueries implementadas mediante la operación ListStoredQueries, podemos comprobar que se ha definido la consulta sequenceByName sobre el objeto geográfico tn-ro:RoadLink. Esta consulta devuelve el conjunto ordenado de los tramos que componen un vial, representando una ruta continua de la red de transporte, ya sea de una carretera o de una línea de ferrocarril, a partir del parámetro Name, tal y como se describe en la operación DescribeStoredQueries.

Utilizando esta consulta vamos a realizar un ejemplo de obtención de la autovía AP-9.

https://servicios.idee.es/wfs-inspire/transportes?
SERVICE=WFS&
REQUEST=GetFeature&
VERSION=2.0.0&
STOREDQUERY_ID=idee:transport:StoredQueries:sequenceByName&
    nombre=AP-9

Para obtener las geometrías, es necesario resolver las referencias a otros tipos de objetos geográficos (featureType) del servicio. Esto se consigue añadiendo el parámetro RESOLVEDEPTH=1 a la petición, lo que permite recuperar la información asociada de los distintos tipos de objetos geográficos (featureTypes), incluidas sus geometrías.

De este modo, se obtienen los siguientes objetos:

  • Enlace de carretera (tn-ro:RoadLink): objeto espacial lineal que describe la geometría y la conectividad de una red viaria entre dos puntos de la red.

  • Hito (tn:MarkerPost): indicador situado a lo largo de una ruta en una red de transporte, normalmente a intervalos regulares, que señala la distancia desde el inicio de la ruta o desde otro punto de referencia hasta la ubicación del hito.

Vamos a ver un ejemplo incluyendo este parámetro para la carretera «PO-531»:

https://servicios.idee.es/wfs-inspire/transportes?
SERVICE=WFS&
VERSION=2.0.0&
REQUEST=GetFeature&
StoredQuery_ID=idee:transport:StoredQueries:sequenceByName&
nombre=PO-531&
RESOLVEDEPTH=1
  
Visualización del gml de PO-531

Visualización del gml de PO-531

StoredQuery de Hidrografía

Para el WFS de hidrografía se ha definido una storedQuery que devuelve los objetos geográficos (featureType) del esquema de aplicación de Hidrografía Física (Hydro – Physical Waters), a partir de su nombre (Name) y sistema de referencia (NsrsName).

Como ejemplo, se define una petición para obtener las geometrías del río Ebro en el sistema de referencia ETRS 89 en latitud y longitud (EPSG:4258).

http://servicios.idee.es/wfs-inspire/hidrografia?
SERVICE=WFS&
VERSION=2.0.0&
REQUEST=GetFeature&
StoredQuery_ID=idee:hidrografia:StoredQueries:GetByName&
name=*RÍO EBRO*&
srsName=http://www.opengis.net/def/crs/EPSG/0/4258
  
Plugin WFS 2.0 client. Consulta RÍO EBRO

Plugin WFS 2.0 client. Consulta RÍO EBRO

El resultado es un fichero XML, con estructura GML, que contiene los distintos tramos del Río Ebro. En la petición, el nombre RÍO EBRO se escribe entre asteriscos, lo que permite que la consulta devuelva todos los objetos geográficos cuyo nombre contenga «Río Ebro». De este modo, se incluyen también los tramos con el nombre geográfico «L’Ebre/Río Ebro», donde la denominación aparece en los idiomas oficiales de la comunidad autónoma.

StoredQueries en QGIS

Para realizar consultas storedQueries en QGIS es necesario utilizar el plugin WFS 2.0 Client. A continuación, se explica paso a paso como utilizarlo:

  1. Seleccionar la URL del WFS, por ejemplo: https://www.cartociudad.es/wfs-inspire/direcciones?
  2. Cargar el WFS, pulsando el botón «Capabilities».
  3. Hacer clic en el botón «ListStoredQueries».
  4. Elegir la storedQuery , desplegando la lista (urn:x-inspire:StoredQueries:AddressByThoroughfareNameAndAdminUnitName).
  5. Definir los parámetros.
  6. Hacer clic en «GetFeatures».
Plugin WFS 2.0 client

Plugin WFS 2.0 client

Plugin WFS 2.0 client. Consulta RUA NOVA, LUGO

Plugin WFS 2.0 client. Consulta RUA NOVA, LUGO

Para el caso de redes de transportes para obtener las geometrías es necesario definir el parámetro RESOLVEDEPTH, cuyo valor por defecto es cero. En el plugin de QGIS este parámetro puede configurar abriendo la ventana de configuración de WFS 2.0 Client. Como se muestra en la imagen, se accede desde el menú Web → WFS 2.0 Client → Config.

Menú WFS 2.0 client

Menú WFS 2.0 client

Al hacer clic en Config se abre la siguiente ventana, donde se despliegan los valores que se pueden aplicar al parámetro RESOLVEDEPTH (WFS). Se debe seleccionar el valor 1 y hacer clic en Save para guardar los cambios. A partir de ese momento, al volver a abrir el plugin, todas las operaciones incluirán automáticamente este parámetro.

Configuración WFS 2.0 client

Configuración WFS 2.0 client

A continuación, se muestra el resultado de la consulta para obtener la M-40 de Madrid.

Plugin WFS 2.0 client. Consulta M-40

Plugin WFS 2.0 client. Consulta M-40

Conclusiones

Las storedQueries simplifican el acceso a los datos geográficos, permitiendo a los proveedores preconfigurar accesos a datos específicos y creando puntos sencillos de acceso a conjuntos de datos complejos.

Referencias

Publicado por Elena Lago Falcon.

Contacto
Calle General Ibáñez de Íbero 3
​​​​​​​Madrid 28003
Síguenos
Responsive Image

BLOG IDEE

Responsive Image
Responsive Image

BLOG IDEE

Responsive Image
Contacto
Calle General Ibáñez de Íbero 3
​​​​​​​Madrid 28003
Síguenos
Responsive Image