Secuencias de comandos de geoprocesamiento para la administración y salida del documento de mapas

Introducción al módulo de geoprocesamiento arcpy.mapping

El módulo arcpy.mapping es una biblioteca de secuencias de comandos de Python que le permite abrir y manipular documentos de mapa de ArcMap (.mxd) y archivos de capa (.lyr). Las secuencias de comandos de geoprocesamiento que utilizan arcpy.mapping pueden abrir documentos de mapas y capas, consultar y modificar el contenido, e imprimir, exportar o guardar el documento modificado.

Las funciones en una secuencia de comandos arcpy.mapping imitan fielmente las acciones realizadas dentro de la aplicación ArcMap. Imagine el siguiente simple flujo de trabajo de ArcMap:

  1. Abrir el documento de mapas que se encuentra en C:\GIS\TownCenter_2009.mxd.
  2. Encontrar cualquier elemento de texto de diseño que ponga División de servicios de GIS 2009 y cambiarlos para que pongan División de servicios de GIS 2010.
  3. Exportar el diseño de mapa actualizado a PDF.

Una secuencia de comandos arcpy.mapping expresa estos pasos como sigue:

Esta sencilla secuencia de comandos de búsqueda y sustitución cambia 2009 por 2010 y luego exporta el diseño a un archivo PDF.

mxd = arcpy.mapping.MapDocument(r"C:\GIS\TownCenter_2009.mxd") for textElement in arcpy.mapping.ListLayoutElements(mxd, "TEXT_ELEMENT"):   if textElement.text == "GIS Services Division 2009":     textElement.text = "GIS Services Division 2010" arcpy.mapping.ExportToPDF(mxd, r"C:\GIS\TownCenterUpdate_2010.pdf") del mxd

El módulo de geoprocesamiento arcpy.mapping puede ser usado por cualquiera que necesite automatizar un flujo de trabajo de ArcMap. Aunque parece programación y lo controla el potente lenguaje de programación de Python, no es necesario ser un desarrollador de software de SIG para crear las secuencias de comandos arcpy.mapping. El objetivo de arcpy.mapping es automatizar tareas tediosas y que pueda concentrarse en el trabajo creativo y analítico, que es lo importante.

Propósito de arcpy.mapping y de escenarios de secuencia de comandos típicos

El módulo arcpy.mapping se ha creado para automatizar los flujos de trabajo de administración y salida de los mapas (impresión y exportación). Las funciones proporcionadas se centran en la modificación de las capas de mapa existentes y los elementos de diseño, y no se han diseñado como un sistema completo de compilación de mapas. El entorno interactivo y muy visual de ArcMap es el sistema recomendado para crear nuevos documentos de mapa y para crear capas y diseños de mapa. No obstante, cuando se usan de forma correcta, las funciones de modificación de capa y elementos de diseño de arcpy.mapping permiten crear productos de mapas al vuelo. Para que estos flujos de trabajo funcionen, hay que preparar bien los ingredientes necesarios para la creación de los mapas utilizados por la secuencia de comandos arcpy.mapping , de forma que al usar conjuntamente arcpy.mapping y ArcMap de la forma adecuada se obtiene, de hecho un sistema de producción de mapas automatizado.

Lo más sencillo para comprender las capacidades de arcpy.mapping es describir algunos de los escenarios que facilita. Estos son algunos de los muchos escenarios que puede realizar una secuencia de comandos arcpy.mapping :

Geoprocesamiento, arcpy.mapping y ampliación de la aplicación ArcMap

El módulo arcpy.mapping es parte del marco de geoprocesamiento. En consecuencia, la secuencia de comandos arcpy.mapping puede utilizar cualquiera de las herramientas de geoprocesamiento disponibles en ArcGIS. Además, cualquier secuencia de comandos escrita con arcpy.mapping puede a su vez convertirse en una herramienta de secuencia de comandos de geoprocesamiento para usarse en ArcToolbox y ModelBuilder.

Como parte del marco de geoprocesamiento, arcpy.mapping se utiliza como herramienta de procesamiento por lotes, más que como un marco para personalizar la aplicación ArcMap. Debido a que arcpy.mapping le permite crear su propio sistema de procesamiento para mapas, se puede decir que es una forma de ampliar ArcMap con nuevas herramientas. Pero el geoprocesamiento no permite personalizar por completo la interfaz de usuario de ArcMap, y el conjunto completo de objetos y funciones de ArcMap no son accesibles mediante arcpy.mapping.

El SDK de ArcObjects permite acceder al conjunto completo de objetos y funciones. El SDK de ArcObjects y el geoprocesamiento se complementan, ninguno invalida al otro. Como regla general, ArcObjects se utiliza para extender ArcGIS con un comportamiento nuevo, mientras que el geoprocesamiento está diseñado para automatizar tareas. Debería usar ArcObjects para hacer cosas como añadir nuevas interfaces de usuario, agregar un nuevo comportamiento para las clases de entidad, o crear un renderizador cartográfico especial. El geoprocesamiento automatiza las tareas dentro de los límites de un marco bien ejecutado.

Usar e implementar secuencias de comandos

Las secuencias de comandos que usan arcpy.mapping se pueden implementar y ejecutar de la misma manera que cualquier secuencia de comandos de geoprocesamiento. La forma que elija para ejecutar su secuencia de comandos dependerá de cómo y cuando desee ejecutarla

Para ver las listas completas de clases y funciones de arcpy.mapping consulte:


7/11/2012