En el análisis territorial actual, la automatización es clave para gestionar grandes volúmenes de información de manera eficiente. Python se ha consolidado como el lenguaje líder en el ámbito geoespacial, con un ecosistema robusto de librerías que permiten desde la consulta de datos hasta el desarrollo de modelos de inteligencia territorial avanzados.
Siguiendo nuestra serie de guías, en esta entrega exploramos cómo integrar los geoservicios WFS de Mapas Córdoba directamente en flujos de trabajo de programación. Esta conexión permite acceder a datos vectoriales actualizados en tiempo real, optimizando la interoperabilidad y eliminando la necesidad de descargas manuales de archivos estáticos.
A través de Google Colab, una plataforma que permite ejecutar código Python en la nube y simplifica su uso, aprenderemos a conectarnos a la IDE provincial para filtrar y procesar capas espaciales.
Google Colab permite ejecutar código Python en la nube mediante notebooks, que organizan el trabajo en celdas con distintas funciones: ejecutar el código de una celda (botón 1), agregar nuevas celdas de código (botón 2) e incorporar texto para documentar el proceso (botón 3).
Este caso práctico servirá como base para construir análisis dinámicos y herramientas de gestión territorial más ágiles y precisas. Puedes acceder al código completo en este enlace.

Explicación paso a paso
- Instalación e importación de librerías
En la primera celda prepararemos nuestro entorno. Es necesario instalar librerías específicas que no vienen por defecto en Colab. En la segunda nos permite importarlas para poder utilizarlas.
- OWSLib es una librería de Python para trabajar con servicios geoespaciales OGC (Open Geospatial Consortium). Permite consultar, descargar y trabajar con datos geoespaciales vectoriales publicados en servidores GIS (por ejemplo, capas de municipios, ríos, carreteras).
- requests es una librería estándar para hacer peticiones HTTP en Python. Se utiliza para consumir APIs, descargar archivos desde la web o enviar datos a servidores de forma sencilla (GET, POST, etc.).
- io.BytesIO proporciona un buffer en memoria que se comporta como un archivo binario. Es útil para manejar datos descargados (por ejemplo, un ZIP o un GeoJSON) sin necesidad de guardarlos físicamente en disco.
- pandas es una librería para análisis y manipulación de datos tabulares. Trabaja con estructuras como DataFrame y Series, facilitando limpieza, transformación y análisis de datos no espaciales (y base de GeoPandas).
- geopandas extiende pandas para trabajar con datos geoespaciales. Permite leer, escribir, analizar y visualizar datos vectoriales (shapefiles, GeoJSON, WFS, etc.) usando geometrías (puntos, líneas, polígonos).
- Conexión al Geoservicio de Mapas Córdoba

A continuación, en la tercera celda definimos un objeto llamado wfs_idecor que contiene el enlace al geoservicio WFS de Mapas Córdoba. Utilizamos el método WebFeatureService para crear un objeto llamado wfs. Luego podemos visualizar el listado de capas que se encuentran en el geoservicio.
La cuarta celda contiene una función llamada obtener_capa_geoservicio, que recibe el nombre de la capa a descargar y el enlace al geoservicio. El objeto response construye la solicitud al geoservicio y el parámetro que más nos interesa es “typeName”, donde se introduce el nombre de la capa. Luego se utiliza geopandas para crear un GeoDataFrame, que es una estructura tabular que contiene los atributos, la geometría y el sistema de referencia de coordenadas.
En la celda cinco creamos objetos que definen el nombre de la capa y luego leemos dos capas: red_vial_nacional y red_vial_provincial.
- Exploración de los datos
En este punto es posible crear nuevas celdas para visualizar algunos aspectos de las capas. Por ejemplo, si queremos visualizar los primeros 5 elementos podemos utilizar el método:
red_vial_nacional.head()
Para conocer el sistema de referencia de coordenadas podemos utilizar:
red_vial_nacional.crs
Si no podemos visualizarlos puede que necesitemos agregar el método print (ej: print(red_vial_nacional.crs) ).
- Procesamiento y filtrado
La sexta celda utiliza el método concat de pandas, que nos permite unir las capas de las redes viales nacional y provincial (similar al proceso Combinar capas vectoriales de QGIS). La nueva capa unida recibe el nombre red_vial_completa.
En la celda 7 mostramos la cantidad de elementos de las dos capas y de la capa unida.
La celda 8 nos permite filtrar la capa unida a partir de valores de los campos. En este caso, la expresión:
red_vial_completa[red_vial_completa[‘rst’] == ‘Pavimento’]
a b c d
quiere decir:
Selecciona los elementos de (a) red_vial_completa donde los valores de la columna (b) ‘rst’ sean (c) iguales al valor (d) ‘Pavimento’. Luego podemos consultar cuántos tramos se encuentran pavimentados, utilizando los métodos que vimos en la celda anterior.
- Visualización
La novena celda nos permite visualizar la capa filtrada con el método .explore() a través de un mapa interactivo.

¿Te interesa conocer más acerca del trabajo con geoservicios disponibles en la IDE provincial? Te invitamos a enviarnos tus comentarios, ideas e inquietudes a [email protected], a suscribirte a nuestro boletín Novedades y a seguirnos en Instagram y Linkedin.
Colaboración:
Mg. Axel Elseser,
Dr. Alejandro Ferreiro,
Mg. Leonardo Sandon,
Geog. Luz Fuentes,
IDECOR




