En este articulo aprenderás como agregar una capa en varios archivos MXD utilizando Python.
Sucede a menudo que durante la ejecución de un proyecto en el cual se han venido realizando distintas salidas gráficas y/o mapas que por alguna razón se hace necesario la inclusión de una capa adicional para representar los datos espaciales (Shapefile, feature Class, entre otros), ya sea por decisión del cliente final, tu jefe inmediato o porque se omitió en un principio, entre las razones que alcanzo a vislumbrar en este momento. La solución tradicional seria la siguiente:
¿Cómo agregar una capa de ArcGIS / ArcMap?
Opción 1:
1) Abrir el archivo MXD.
2) Dar clic derecho en el Dataframe (a) en el que se agregará la capa y presionar el botón Activate (b) del submenú desplegado.
3) Presionar el botón Add Data (c) de la barra de herramientas Standard.
4) Buscar el archivo (d) que contiene la información espacial de interés (Puede que deba presionar el botón Connect Folder para acceder a la ubicación [e]). Presionar finalmente el botón Add (f).
5) Guardar el archivo MXD.
Opción 2:
1) Abrir el archivo MXD.
2) Dar clic derecho en el Dataframe en el que se agregará la capa y presionar el botón Add data... (a) del submenú desplegado.
3) Buscar el archivo (b) que contiene la información espacial de interés (Puede que deba presionar el botón Connect Folder para acceder a la ubicación [c]).
4) Guardar el archivo MXD.
Opción 3 (Solo valida para algunos tipos de archivos)
1) Abrir el archivo MXD.
2) Localizar el archivo en la carpeta (a) dentro del explorador del equipo y arrastrarlo al Dataframe deseado (b).
3) Guardar el archivo MXD.
Nota: los archivos probados que se pueden arrastrar son los .shp, .png, .tiff, .ecw. Sin embargo, siempre puedes probar esta opción.
Opción 4
1) Abrir el archivo MXD.
2) Presionar el botón Catalog (a) de la barra de herramientas Standard.
3) Buscar el archivo que contiene la información espacial de interés (b) en la ventana Catalog (Puede que deba presionar el botón Connect Folder para acceder a la ubicación [c]).
4) Una vez localizado el archivo en la ventana Catalog, arrastrar el archivo deseado al Dataframe de destino (d).
5) Guardar el archivo MXD.
Para todas las opciones hasta ahora presentadas, en caso de que la corrección deba hacerse a uno o dos archivos no es algo grave, pero si la corrección debe hacerse en decenas de imágenes y/o mapas esto puede consumir mucho de tu tiempo, y esto sin contar que se deba arreglar la simbología de la capa. Contemplando el ajuste de la simbología te presento la opción 5.
¿Cómo arrastrar varios archivos desde la ventana Catalog (ArcCatalog) ArcGIS / ArcMap?
Nota: Para arrastrar mas de un archivo desde la ventana Catalog, presione el botón "Toggle Contents Panel" (a), que desplegara un recuadro en la parte inferior de dicha ventana (b); selecciona la carpeta, base de datos, o dataset en la parte superior (c), y en el nuevo recuadro inferior, podrás seleccionar varios archivos presionando Shift+clic (clic izquierdo), mismos archivos que podrás arrastrar una vez sombreados (d) hacia la tabla de contenido de ArcMap (e). Debo este conocimiento a una gran amiga de iniciales DV. Para volver a la normalidad presione el botón "Toggle Contents Panel" un par de veces mas.
Opción 5
1) Abrir el archivo MXD.
2) Dar clic derecho en el Dataframe en el que se agregará la capa y presionar el botón Add data... del submenú desplegado.
3) Ajustar la simbología y guardar un archivo .lyr según lo visto en mi articulo "PYTHON GIS - Modificar simbología de una capa en varios archivos de ArcGIS" bajo los subtítulos "¿Cómo modificar la simbología de una capa de ArcGIS / ArcMap?" y "Crear un archivo de simbología de capa"
4) Guardar el archivo MXD
5) En los próximos archivos MXD bastara con abrirlos y arrastrar el archivo .lyr (a) desde el explorador del sistema operativo hasta la tabla de contenidos de ArcMap (b).
Debido que la opción 5 es la mas completa es la que automatizaremos a partir del paso 5 ya que nos sirve tanto para agregar una capa como para tener la simbología deseada sin tener que hacer ajustes posteriores, haremos esta automatización utilizando código Python (No necesitaras saber programar para lograrlo).
¿Cómo agregar capas por lotes en varios archivos de ArcGIS / ArcMap usando Python?
Paso 1: Abrir el archivo MXD.
Paso 2: Dar clic derecho en el Dataframe en el que se agregará la capa y presionar el botón Add data... del submenú desplegado.
Paso 3: Ajustar la simbología y guardar un archivo .lyr según lo visto en mi articulo "PYTHON GIS - Modificar simbología de una capa en varios archivos de ArcGIS" bajo los subtítulos "¿Cómo modificar la simbología de una capa de ArcGIS / ArcMap?" y "Crear un archivo de simbología de capa".
Paso 4: Cerrar el archivo MXD (no es necesario guardar los cambios).
Paso 5: Abrir un archivo MXD en blanco.
Paso 6: Abrir la ventana Python en la barra de herramientas Standard.
Paso 7: Respaldar los archivos MXD originales.
Paso 8: Copiar en un blog de notas el siguiente código y en la línea #02 del código remplazar la ruta C:\EJEMPLO\EJEMPLO con la ruta donde se almacenan los archivos MXD a modificar.
Paso 9: En la línea #06 del código remplazar DATAFRAME por el nombre del marco de datos (Dataframe) en donde se almacenara la capa (Es una buena practica que si hay mas de un marco de datos dentro de un archivo MXD, el nombrar cada uno de forma única).
Paso 10: En la línea #07 del código remplazar el texto C:\EJEMPLO\EJEMPLO\LayerMod.lyr por la ubicación y el nombre del archivo .lyr creado en el paso 3.
Paso 11: Opcionalmente, reemplaza la palabra TOP en la línea #08 del código por BOTTOM, esto indicara al script que debe agregar la capa por debajo de todas las capas ya existentes, de lo contrario la agregara por encima.
Paso 12: Copiar el código modificado en la ventana Python y presionar la tecla Enter o Intro dos veces.
Al cabo de unos segundos veras como comienza a actualizarse la fecha de modificación de los archivos de ArcMap, y al abrirlo notaras la capa agregada en cada archivo MXD.
Espero hayas disfrutado este artículo, próximamente subiré un video explicativo del procedimiento que podrás consultar en este blog, así como otro articulo donde te explicare como agregar las capas dentro de un grupo de capas en particular. Guarda mi blog entre tus enlaces favoritos, estaré subiendo muchos más trucos de este estilo, recuerda que puedes hacer llegarme tus inquietudes en la página de contacto o deja tu comentario, estaré atento a responder.







