INECHILE_Python_GIS_D_XIV

 

 

 

 

 

 

 

 

 

 

 

En el post anterior os habíamos indicado que publicaríamos con detalle el trabajo final de uno de los grupos de alumnos de nuestro Master GIS con Pyhton. Aquí abajo os dejamos la documentación completa del trabajo así como la descarga de las herramientas y scripts desarrolladas.

Descargar Toolbox - INE Chile

Introducción

 

El Instituto Nacional de Estadísticas de Chile (INE) realiza múltiples tareas como los Censos, levantamiento de diversas encuestas periódicas y generación de múltiples productos asociado a ellas, para lo cual es de suma importancia la producción cartográfica que apoye dichos proyectos y productos (mapas, planos) para realizar un trabajo completo y de alto estándar y entregar así resultados precisos y fidedignos. Una de las tareas asociadas a la generación de cartografía es la creación de croquis (planos de levantamiento), para las diferentes muestras y encuestas que se llevan a cabo en el país, así los encuestadores pueden introducir y actualizar información en el papel para complementar la información de las encuestas y mantener actualizada la información territorial (nombres de calles, puntos de interés, numeración de calles, etc.) que les permita seguir realizando de manera óptima su trabajo en posteriores muestras y encuestas.

Actualmente se está haciendo migración de este proceso en específico a ArcGIS, ya que hasta ahora se realizaba a través de procesos automatizados utilizando ArcInfo Workstation, por lo que se hace necesario crear nuevas herramientas de automatización de los procesos de generación de croquis para ArcGIS.

Desde el punto de vista muestral, el país está dividido en 3 estratos muestrales, los cuales se identifican dentro de cada comuna del país (Tercer nivel de división territorial administrativa):

  •  Estrato Ciudad (CD): Constituido por aquellos centros urbanos mayores de 40.000 habitantes. La unidad territorial muestral es la manzana.
  • Estrato Resto Área Urbana (RAU): Representado por los centros urbanos menores a 40.000 habitantes. La unidad territorial muestral es la sección (agrupación de manzanas).
  • Estrato Rural (R): Integrado por todos los asentamientos rurales del país. La unidad territorial muestral es la sección (agrupación de asentamientos rurales).

Una de las encuestas más relevante en el país es la Encuesta CASEN (Encuesta de Caracterización Socio Económica), la cual actualmente se realiza cada 2 años, y es la muestra más grande levantada en el país (la actual constituye 10.000 manzanas y 2.500 secciones RAU y rurales). Por esta razón se escogió esta muestra para realizar una herramienta de generación de croquis en ArcGIS, la cual se puede extender a otras muestras a posterior.

La herramienta solo considera el estrato CD (manzanas), por ser el estrato más requerido por las muestras desde el punto de vista de cantidad asignada para las muestras, además de que las secciones de los estratos RAU y RURAL presentan otras variables, procedimientos y complejidades, que requieren más tiempo para su elaboración y ejecución, y por ende para la construcción de una herramienta, pero la herramienta generada para el estrato CD sirve de base para la construcción de una herramienta para los dos estratos restantes.

Esta herramienta permitirá automatizar el trabajo de la preparación de las capas necesarias para la generación del croquis, una previsualización de éste, para realizar los últimos ajustes,  previo a la creación final del croquis en formato PDF. Al estar creada como Add-In permite una rápida instalación y que sea fácil de compartir entre los diversos usuarios que la necesiten.

El trabajo, que constituye la herramienta creada, se entrega en un archivo comprimido donde está incluida la herramienta e información adicional, para permitir probar la ejecución de dicha herramienta.

Contenido de la carpeta

Junto a este documento, y como se mencionó en párrafos anteriores, se adjunta un archivo comprimido que contiene la herramienta de generación del croquis, más información adicional para probar el funcionamiento de ésta, y además los scripts para poder revisar el código.

INECHILE_Python_GIS_D_I

Dentro de la carpeta raíz llamada “Trabajo Final”, se encuentra el archivo Add-In para instalar la herramienta. Este Add-In se generó para ArcCatalog, en desmedro de ArcMap para así evitar posibles bloqueos de feature classes abiertas o que estuvieron abiertas en ArcMap, que impidan la ejecución de la herramienta, ya que el trabajo de las capas en ArcMap se realiza previo a la ejecución de la herramienta por lo que no se hace necesario tenerlo abierto y permite que la herramienta se ejecute en menor tiempo.

La carpeta “Data” contiene la información para poder probar el buen funcionamiento de la herramienta que como resultado final crea los croquis de manzanas en PDF, los datos corresponden a la ciudad de Linares, ubicada en el centro-sur del país. Dentro de la carpeta se encuentra una geodatabase, que posee las capas base para la generación de los croquis (manzanas, calles, hidrografía, áreas verdes, etc.), una carpeta llamada “MXDS”, que corresponden a las plantillas con las que se generarán los croquis (un proyecto por tamaño de hoja y orientación y también se incluye un archivo Excel que contiene la información de las manzanas seleccionadas para la muestra.

INECHILE_Python_GIS_D_II

INECHILE_Python_GIS_D_III

 

INECHILE_Python_GIS_D_IV

La carpeta “Script” contiene los script de Python y la caja de herramientas utilizada para crear el Add-In. Este Add-In puede utilizarse tanto en ArcGIS 10.1 como en 10.2.

Utilización de la herramienta

Como se indicó con anterioridad, el Add-In fue diseñado para ArcCatalog, por lo que una vez instalado, se debe iniciar ArcCatalog para la ejecución de la herramienta, aparecerá una barra de herramientas llamada “Croquis CASEN”. Se recomienda cerrar ArcMap previamente si es que se ha abierto alguna capa con las que se trabajará en él, ya que la herramienta utiliza cursores y otros procesos que requieren que no existan bloqueos en el espacio de trabajo.

INECHILE_Python_GIS_D_V

La barra de herramientas contiene tres botones, uno por cada etapa en la que se ha dividido el proceso de creación de los croquis, y cada uno ejecuta una herramienta de manera independiente

INECHILE_Python_GIS_D_VI

A continuación se explicará cada etapa de la herramienta y su funcionamiento.

Etapa 1: Generación de la capa de manzanas seleccionadas

 

En la primera etapa, la herramienta crea en primer lugar un espacio de trabajo donde se alojarán las capas temporales para la creación del croquis, para ello genera (si existe la borra y la vuelve a crear) una carpeta llamada “Mz_Temp” dentro de la carpeta de trabajo del urbano y además dentro de dicha nueva carpeta crea una geodatabase llamada “Mz_Temp_Data”, la cual contendrá las capas temporales con las que se crearán los croquis. A continuación dentro de la geodatabase temporal se crea la capa llamada “Mz_croquis”, la que corresponde a las manzanas seleccionadas por la muestra, la cual es el resultado de un join entre la capa “Unidad_Censal_Menor_Urbana” (Manzanas) y la tabla Excel que contiene los datos de las manzanas seleccionadas.

Durante el proceso también se agregan campos auxiliares para el rellenado de la viñeta de identificación de la manzana del croquis, la cual está configurada utilizando texto dinámico acompañado de Data Driven Pages dentro de los proyectos .mxd, para generar álbumes de croquis cuando más de uno tiene el mismo formato. Adicionalmente agrega los campos “TIPO_HOJA” y  “ORIENT”, donde utilizando las propiedades del extent espacial de cada manzana se determina si la manzana debe tener una salida en tamaño Oficio o Doble Carta y si la orientación de la hoja debe ser Vertical u Horizontal.

 

La viñeta muestra la codificación respectiva asociada a cada manzana.

INECHILE_Python_GIS_D

 

La ejecución de la primera etapa muestra el siguiente cuadro:

INECHILE_Python_GIS_D_VIII

 El cuadro de diálogo solicita los siguientes datos:

  • Identificar la carpeta donde se creará el espacio de trabajo temporal, por defecto se recomienda indicar la carpeta del urbano.
  • Indicar la Geodatabase que contiene las capas base para el trabajo de la generación de las capas temporales para el croquis (ubicada dentro de la carpeta del urbano)
  • Seleccionar la hoja de la tabla Excel que contiene los datos de las manzanas seleccionadas para la muestra.

INECHILE_Python_GIS_D_IX

Una vez iniciada la herramienta arrojará mensajes como dirección donde fue creada la carpeta temporal,  el número de manzanas que han sido seleccionadas y además indica la orientación que se ha definido para cada manzana de acuerdo a su extent espacial. Es importante recordar que si existe algún bloqueo del espacio de trabajo la herramienta arrojará error (capas abiertas o trabajadas con ArcGIS o tener la tabla de Excel abierta), debido a que en este proceso se utilizan cursores y se crean elementos nuevos.

Después de finalizada esta etapa se puede realizar una revisión a las capas auxiliares como calles, utilizando la capa de manzanas seleccionadas para incorporar o corregir información la cual después se verá reflejada en los croquis, además utilizando Data Driven Pages se puede revisar la correcta designación del tamaño y tipo de hoja determinado por la herramienta.

INECHILE_Python_GIS_D_X

 

Etapa 2: Preparación de las capas auxiliares y previsualización de croquis.

 

La ejecución de la segunda etapa se inicia con la generación de un buffer a cada manzana seleccionada de la capa Mz_croquis, para utilizarla como molde para realizar el corte de las capas auxiliares (calles, hidrografía, áreas verdes, linderos, etc.), y copiar estos elementos a nuevas capas temporales que se alojaran en la geodatabase temporal “Mz_Temp_Data”.

En una segunda etapa realiza una selección a la capa de buffer de manzanas (Mz_Buffer), utilizando los atributos de “TIPO_HOJA” y “ORIENT”, donde si la selección es distinta de cero, se crea una nueva capa auxiliar con sufijo del tipo de hoja y orientación (Mz_Ofiv, Mz_Ofih,  Mz_Dcav, Mz_Dcah), estas capas auxiliares se utilizan como índice dentro de cada plantilla creada para ArcMap para el Data Driven Pages. Se utiliza el buffer y no la manzana como índice ya que esto asegura que aparezcan todos los elementos de la manzana dentro del croquis, y además se utiliza para la propiedad de hacer clip a la grilla índice del Data Driven Pages para que así manzanas contiguas que hayan sido seleccionadas no aparezcan dibujadas en el croquis. La escala del croquis es determinada a través de Data Driven Pages, el cual está configurado para que calcule la escala de la manzana utilizando intervalos de 500 (500, 1.000, 1.500, 2.000, etc.).

Finalmente, como última tarea la herramienta creará en el espacio de trabajo (carpeta del urbano), una nueva carpeta llamada CROQUIS, la cual se utilizará para almacenar los archivos PDF de los croquis finales y también, determina la existencia de las capas índices (Mz_Ofiv, Mz_Ofih,  Mz_Dcav, Mz_Dcah), abriendo el proyecto ArcMap correspondiente para tener una vista previa de los croquis y realizar los últimos ajustes a la información en caso de ser necesario.

Al ejecutar la herramienta de la segunda etapa aparece el siguiente cuadro:

 INECHILE_Python_GIS_D_XI

 En él se requieren los siguientes datos:

  • Indicar la carpeta de trabajo que contiene la Geodatabase con las capas base del urbano, de la cual se generarán las capas auxiliares temporales (utilizada para la creación de la carpeta CROQUIS).
  • Seleccionar la Geodatabase que contiene las capas base  del urbano.
  • Señalar la ubicación de la carpeta que constituye el espacio temporal de trabajo (Mz_Temp).

 INECHILE_Python_GIS_D_XII

 

La herramienta arrojará mensajes indicando la creación del Buffer, mostrará la cantidad de elementos que poseen cada una de las capas auxiliares generadas del proceso de clip, señalara la ubicación de la carpeta CROQUIS que ha sido creada y finalmente mostrará un mensaje que advierte sobre la apertura de los proyectos de ArcMap para obtener una vista previa de los croquis, indicando que estos se deben cerrar antes de pasar a la etapa final.

 INECHILE_Python_GIS_D_XIV

INECHILE_Python_GIS_D_XV

Etapa 3: Generación de croquis y exportación a PDF.

Una vez revisado y validado la información de los croquis en la vista previa, se puede ejecutar la etapa final, la cual determina según la existencia o no de la capa índice (Mz_Ofiv, Mz_Ofih,  Mz_Dcav, Mz_Dcah), que proyecto de ArcMap debe usar como plantilla, para realizar la construcción final de éste y exportarlo a PDF.

El cuadro de diálogo de esta etapa es el siguiente:

 INECHILE_Python_GIS_D_XVI

Los datos que éste solicita son:

  • Seleccionar la Geodatabase Temporal (aquella que contiene las capas auxiliares temporales y las capas índices para la conformación de los croquis).
  • Indicar la carpeta donde se ubican las plantillas MXD para la generación de los croquis (carpeta MXDS dentro de la carpeta del urbano).
  • Señalar la carpeta donde se alojarán los croquis en formato PDF (carpeta CROQUIS creada en paso anterior).

 INECHILE_Python_GIS_D_XVII

Esta herramienta solo entrega un mensaje especial indicando que los croquis han sido creados y la ruta donde fueron creados.

 

Los croquis en PDF son nombrados utilizando la siguiente estructura:

 

mz_xxxxx_xxxxxxx_hojaorientacion_csn15_sx

 

Donde:

 

mz = Indica que es un croquis de manzana.

xxxxx = Corresponde al código de la comuna (Tercer nivel de división territorial administrativa).

xxxxxxx = Equivale al código MANZ (Distrito Censal, Zona Censal, Manzana), de la manzana.

hojaorientacion = Muestra el tipo de hoja y orientación del croquis.

csn15 = Señala que corresponde a la muestra CASEN 2015.

sx = Hace referencia a la submuestra a la que corresponde la manzana. CASEN se divide en 2 submuestras, las cuales se levantan en distintos periodos de tiempo, para ponderar las condiciones socioeconómicas durante el año.

 INECHILE_Python_GIS_D_XVIII

 

 

 

 

Conclusiones

 

Es fundamental contar con herramientas que automaticen procesos de producción masiva de cartografía cuando los tiempos para realizarlos son cortos y el volumen de producción es alto, sin mermar la calidad de los productos finales, sino buscar alcanzar aumentar dicho parámetro.

Al crear una herramienta usando las capacidades de Python en ArcGIS, permite generar esta clase de herramientas las cuales se pueden distribuir libremente y así no requerir de una nueva licencia de extensión especial para la producción masiva de productos cartográficos.

La utilización de un Add-In por sobre una Toolbox facilita la distribución y la instalación de la herramienta, la cual se puede compartir enviando el archivo de instalación o alojándola en una carpeta compartida en red para que se cargue automáticamente a cada uno de los usuarios.

Esta herramienta se puede considerar como un prototipo en desarrollo para tener una herramienta definitiva para la generación masiva de croquis no solo a nivel de manzanas, donde pueden hacer revisiones a la forma y hacer correcciones a la ubicación en que deben estar presentes los procesos que se ejecutan o agregar más mensajes informativos, pero en líneas generales recoge todos los elementos y especificaciones que se son necesarios para la generación masiva de croquis en este caso de manzanas, el cual puede utilizarse como base para la generación de croquis a nivel de secciones de los estratos RAU y Rural.

 

La generación de herramientas de automatización de tareas y procesos contribuye no tan solo a mejorar el nivel de producción, ya que permite a los editores dedicarse a la validación de los datos y no preocuparse de las tareas de preparación y creación de productos cartográficos, sino que permite también optimizar los tiempos de trabajo ante posibles imprevistos que puedan aparecer o que contribuya a la realización de múltiples tareas paralelas logrando así también una optimización en el uso del tiempo.