sábado, 9 de abril de 2016

Crear modelos en ArcGIS. Model Builder.

En esta ocasión voy a rescatar una de las entradas de mi antiguo No-Blog. Como ya mencioné, las entradas desarrolladas en aquella ocasión eran más técnicas, y 100% relacionadas con los Sistemas de Información Geográfica. En este caso la entrada trata sobre Model Builder, una utilidad incluida dentro de ArcGIS que nos permite la automatización de tareas de una manera intuitiva y más o menos sencilla. Se podría decir (pido perdón de antemano a los desarrolladores informáticos) que es una especie de programación a muy alto nivel, en la cual de hecho, cuantos más conocimientos se tengan de programación, mejores y más completos modelos se podrán crear.

Cuando trabajamos con datos geoespaciales en muchas ocasiones nos encontramos con que estos están divididos geográficamente por una gran diversidad de factores: límites administrativos, barreras geográficas, cambios de usos de suelos… En estos casos es posible que la información la tengamos segmentadas en distintos ficheros, y por diversas razones no podamos (o queramos) unificarlos en uno solo. El problema se nos presenta cuando necesitamos realizar uno o varios procesos sobre estos ficheros, ya que tendríamos que procesarlos de manera individual, con la pérdida de tiempo que ello supone, y la posible pérdida de precisión de los datos.

Para solventar este problema tenemos, principalmente, dos posibilidades: la primera es la creación de scripts o programas que automaticen estos procesos para lo cual evidentemente tendremos que saber programar en algún lenguaje, lo cual no suele estar al alcance de los que nos dedicamos a los GIS, en una perspectiva más aplicada al análisis de información, y a la gestión de datos geoespaciales. Por otro lado ArcGIS nos ofrece la oportunidad de crear modelos para encadenar subrutinas y herramientas implementadas dentro del propio programa (o incluso externas), utilizando datos de muy diversas fuentes y formatos. En definitiva Model Builder (asi se llama esta utilidad de ArcGIS), nos permite automatizar procesos y crear modelos que nos evitarán tener que repetir una y otra vez sobre toda la colección de datos los mismos procesos rutinarios. Es evidente que tiene sus limitaciones y no nos da tanta flexibilidad como lo haría la programación en Python u otros lenguajes, pero bien aplicado es una herramienta muy potente que nos ahorrará muchas horas de trabajo.

Por ejemplo supongamos que tenemos una serie de ficheros en formato .dwg de AutoCad del parcelario rustico de un determinado termino municipal. Supongamos también que el fichero está compuesto por líneas y textos, las líneas delimitan las parcelas y los textos indican el uso rustico de las mismas. Si el objetivo del trabajo que nos encomendasen fuese calcular la superficie total de cada cultivo en concreto necesitaríamos realizar una serie de procesos que pasarían por la importación de los datos a formato .shp (u otro operativo dentro de ArcGIS), y después toda la serie de procesos para crear las superficies, identificarlas a través de sus etiquetas y por ultimo calcular las superficies de cada uso.

Para alguien familiarizado con ArcGIS el proceso no es muy complicado en sí, pero si por ejemplo en lugar de un único termino municipal, son varios, el tiempo en realizar todos los procesos se ve significativamente incrementado. Como hemos dicho antes, para este tipo de situaciones existe ModelBuilder. Es posible que cuando abramos por primera vez está utilidad nos planteemos si realmente nos va a suponer un ahorro real de tiempo, ya que la creación del modelo nos llevará, en sí,  cierto tiempo, para ello debemos valorar el volumen de datos a procesar, y cuantificar el tiempo efectivo del procesado de los datos, frente al tiempo de creación del modelo. En nuestro ejemplo hemos cuantificado que realmente el volumen de datos es suficientemente grande como para “perder” tiempo en la creación del modelo.

El primer paso será crear un Toolbox vacía que almacenará nuestro modelo, para ello dentro de ArcCatalog en la carpeta deseada pulsaremos el botón derecho del ratón y añadiremos la caja de herramientas , y nuevamente con el botón derecho sobre esta, añadiremos un nuevo modelo.


Esto nos abre el interfaz de desarrollo para crear el modelo desde cero. Como vemos existen diferentes opciones, y herramientas para implementar nuestro modelo. Además podemos arrastrar sobre este las distintas herramientas de ArcToolbox, o datos del catálogo, para añadir nuevas utilidades a nuestro modelo. Así pues y después de varias pruebas el modelo quedaría de la siguiente manera. La forma de realizar el modelo, es arrastrar los distintos elementos que lo van a componer y definir los distintos parámetros de cada herramienta.

 


Los pasos que sigue el modelo son en resumidas cuentas los siguientes:

1. Trasformación de las líneas en polígonos.
2. Join espacial de los polígonos creados y la capa de etiquetas.
3. Añadimos un campo que almacenará las superficies.
4. Calculamos las superficies de cada polígono y lo añadimos al campo anterior.
5. Creamos la tabla de salida con los sumatorios de las superficies de cada cultivo en concreto

Así pues partiendo de los datos en formato CAD de las líneas del parcelario (topológicamente conectadas) y de las etiquetas de los usos rústicos conseguimos un resumen de las superficies de cada tipo de uso.



 

No hay comentarios:

Publicar un comentario en la entrada