9 votos

¿Utilizar Data Driven Pages (DDP) para crear un conjunto de mapas con la misma extensión pero diferentes capas?

¿Es posible utilizar la herramienta Data Driven Pages (DDP) de ArcMap o ArcPy para crear un conjunto de mapas con la misma extensión pero que muestren capas diferentes?

Para que quede claro, suelo hacer grandes conjuntos de mapas para proyectos, todos en la misma ubicación, a menudo con las mismas capas de base, pero modificados para centrarse en diferentes aspectos de la sección correspondiente de un informe, como lugares de control, uso del suelo, características clave, etc., que requieren la creación y el mantenimiento de .mxds independientes.

Un sistema de tipo DDP me permitiría utilizar el texto dinámico y garantizar una plantilla / salida estándar en todas partes, también haría la vida mucho más fácil al actualizar un número de cifra general o comentario como un informe está escrito en un .mxd en lugar de múltiples para un cliente.

Estoy usando ArcMap 10.1, pero después de haber leído a través de la Ayuda en línea de ArcGIS DDP Supongo que esto tendría que hacerse con ArcPy como he sido incapaz de averiguar cómo hacerlo dentro de ArcMap. Soy consciente de que QGIS tiene el Plugin Atlas Aunque no estoy tan familiarizado con sus capacidades, lo utilizaría con mucho gusto como alternativa.

1 votos

Creo que lo que estás buscando es scripting su mapa cambios de documento en Python mediante el uso de la arcpy.mapping herramientas. Véase la referencia a construir libros de mapas completos y, más concretamente, en el documento "Simple reference series map book".

5voto

Nate Puntos 220

Un método sin código

Al activar las páginas controladas por datos, puede especificar un definición consulta que depende del número de página. Simplemente utilice esa consulta para ocultar todas las características de las capas que no desea mostrar.

  1. Configure sus marcos de mapa para que estén en la misma ubicación, pero con un campo para el número de página. Configure las páginas controladas por datos con el número de página como campo de nombre.
  2. Si desea que una capa se active para una página concreta, añada un atributo "página" a su tabla y ajústelo al número de página correspondiente.
  3. Añadir un Consulta de definición de página a la capa concreta con su campo recién creado.

Cuando se selecciona la página, las capas deseadas se hacen visibles en función de la consulta de definición de la página.

2 votos

Creo que las consultas de definición de página funcionan bien en algunos casos, pero el problema es que hay que añadir el número de página correspondiente a cada atributo en la tabla de datos y no se puede mostrar la misma característica en varias páginas, ya que sólo se puede hacer referencia a una página a la vez.

4voto

Blair Conrad Puntos 56195

Esto es lo que pienso en pseudocódigo: obtendrías tu MapDocument, luego ListDataFrames, luego ListLayers. A continuación, debe ser capaz de iterar a través de las capas, activar la propiedad Visibility de la capa, ExportToPDF (o lo que sea), a continuación, desactivar la visibilidad de nuevo, y pasar a la siguiente capa. Si desea dejar ciertas capas como capas de base, tal vez usted podría agrupar las que desea cambiar para cada mapa y sólo activar la visibilidad de los mediante la comprobación de IsGroupLayer = True? Tal vez alguien más tiene un ejemplo de código real ...

0 votos

Nunca encontré una solución integrada en Arc para esto, pero un colega ha desarrollado ahora un script en python para el proceso que sigue la estructura básica que sugieres. El script utiliza grupos para crear una nueva página en el pdf y se puede combinar con DDP para crear un mapbook con un conjunto de mapas para múltiples sitios.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X