¿Conoces la conexión entre WFS y R?

Contribución:
Micael Salomón, Licenciado en Economía, U.N.C.
Estudio Territorial Inmobiliario, Ministerio de Finanzas


07 de mayo 2019

Con el avance tecnológico, el acceso a la información resulta progresivamente más sencillo y el procesamiento de grandes volúmenes de datos ya no es licencia de un grupo reducido de científicos.

En este artículo presentamos una guía sencilla para la interacción de los geoservicios de IDECOR con R(Studio), la poderosa herramienta de estadística y de inteligencia artificial.

Qué es un WFS?

Los Web Feature Service (WFS), desarrollado por la Open GeoSpatial Consortium (OGC), son una alternativa de servicios orientados a facilitar el intercambio de información geográfica a través de Internet, utilizando para ello la estructura cliente-servidor. Por medio de los WFS es posible la descarga de información geográfica, permitiendo procesar, visualizar y exportar en otros formatos como shapefile, geopackage o GML.

La Infraestructura de Datos Espaciales de la Provincia de Córdoba (IDECOR), ofrece servicios WFS de los distintos datos publicados en su geoportal MapasCordoba, como datos de propiedades inmuebles (catastro), límites jurisdiccionales, información minera, datos ambientales, mineros, entre otros.

Existen varias acciones denominadas peticiones sobre el Web Feature Service para su operabilidad.

  • Descubrir qué capas ofrece el servicio y cuáles son sus características o variables (GetCapabilities).
  • Describir los campos y tipo de atributos de las capas (DescribeFeatureType).
  • Consultar la información para un subconjunto de entidades basado en un filtro proporcionado (GetFeature).

¿Cómo acceder a esta plataforma de servicios? 

A través de una amplia gama de programas SIG, como QGIS, es posible la interacción con estos servicios (Ver aquí más información) . Pero si el uso de la información está abocado a la geoestadística o algoritmos de machine learning, es posible conectarse a un servidor WFS a través del software R, descargar y aplicar la gran cantidad de funciones estadísticas, geoestadísticas y de inteligencia artificial disponibles en dicha plataforma.

A fines de realizar operaciones y manipulación de objetos espaciales en R, el paquete que lo realiza con mayor simpleza es “SF” soportando formatos como Shapefile, Geopackages, Geojson, entre otros. Una de las mayores ventajas que ofrece esta librería, para quienes tienen conocimiento previo en R, es que se presenta como una versión mejorada de la librería “SP”, permitiendo trabajar con objetos espaciales como si fuesen data frame sin perder la información geométrica.

Para acceder al portal de mapas Córdoba y extraer, a través de una petición, las capas y cantidad de características que están disponibles, es necesario contar con la dirección del geoservicio. Ingresando desde la página www.mapascordoba.gob.ar  como muestra la imagen, se pueden copiar las direcciones de URL.

En el script (documento con instrucciones escritas en código de programación) del programa se utiliza la sentencia denominada “st_layers” de la librería “sf”. Para su correcto funcionamiento es necesario indicar a R, en primer lugar, el driver que vamos a utilizar en este caso WFS; luego, se completa con la dirección obtenida anteriormente y seguidamente la orden “GetCapabilities”, que es la petición que realizará al servidor. Como se aprecia en la siguiente línea.

  st_layers(«WFS:http://idecor-ws.mapascordoba.gob.ar/geoserver/idecor/wms?request=GetCapabilities»)

Una vez escrita la sentencia, al correr el proceso, se obtiene como resultado una lista de las capas disponibles del geoportal MapasCordoba con la información básica, como nombres, tipo de geometría, campos , etc.

Con esta lista descriptiva se procede al segundo paso, de descarga de los datos deseados al entorno local del usuario. Para esto, a modo de ejemplo, se descarga la capa llamada idecor:departamentos. La función necesaria se denomina “st_read”, que también es de la librería “SF”. Debe indicarse, por medio de la dirección anterior, el nombre de la capa según figura en la lista descriptiva, como se muestra en la siguiente sentencia:

 deptos <- st_read(«WFS:http://idecor-ws.mapascordoba.gob.ar/geoserver/idecor/wms?request=GetCapabilities»,»idecor:departamentos»)

Finalmente, al procesar la petición el software descarga el objeto espacial, almacenando el resultado en el entorno local; se obtienen las características principales, el sistema de coordenadas y el tipo de geometría que posee como se observa en la consola del programa.

De ahora en adelante, los usuarios pueden trabajar y realizar operaciones de manera cotidiana como con cualquier objeto espacial sin ninguna restricción. Te invitamos a interiorizarte en estos temas, aprovechando las ventajas y sinergias de utilizar ambas herramientas.

Categorías: Novedades