12 votos

¿Cómo hacer libro de mapa de páginas con la misma área que se muestra pero diferentes capas encenderse/apagarse?

En ESRI un Libro de Mapas es el más adecuado para una serie de características que cada uno obtenga su propia página. Le permite seleccionar una función y generar un Mapa de páginas del Libro para cada característica, incluyendo cualquier información adicional que usted desea agregar a cada página a través de dinámicas de texto, gráficos, etc.

Hay una alternativa para decir una serie de páginas que muestran exactamente la misma área, pero con diferentes capas de encendido y apagado? Tenemos un Capital de Mejoras en el documento que tengo que crear mostrando los Límites de la Ciudad en cada página. Una página tiene todas las estaciones de policía y bomberos lista, otra muestra propuesta de los sistemas de agua, otra muestra de las autopistas y carreteras y el trabajo que se realiza en, o cerca de ellos, etc..., hasta la saciedad.

¿Hay alguna forma de configurar esto para que yo NO tenga a creado un MXD para cada Página del Mapa de este documento?

11voto

mcintyre321 Puntos 5393

Yo era capaz de hacer esto cuando yo les había para ArcGIS 9.3 y funciona muy bien. No sé si esto va a funcionar con ArcGIS 10.0 o posterior como se indica en su sitio web, pero me gustaría darle una oportunidad.

ArcMapBook

Editar:
Esto se puede lograr mediante la creación de una página rectangular para cada conjunto de capas apiladas directamente en la parte superior de uno al otro. El nombre de cada página por separado y asignar un valor a cada capa que se muestra en el cuadro.
También es necesario asignar valores de atributos a los elementos que sólo aparecen en las páginas específicas.
A continuación, utilice la página de definición de restringir los objetos a los nombres de las páginas.
En las propiedades de la capa en la Consulta de definición de página> página de definición.
pagedef

Hay una opción para habilitar la coincidencia o no coincidencia y un nombre de campo.
Enabled
Hay un sinfín de posibilidades para la codificación de los datos para el trabajo en el marco.
También si usted tiene los elementos que desea mostrar en todas las páginas que no tienen que habilitadas.

4voto

UnkwnTech Puntos 21942

Creo que los requisitos serían más fácilmente y de manera intuitiva se reunió por tener un único mapa con todas las capas incluidas y, a continuación, escribir una simple secuencia de comandos de Python que utiliza la capa.visible para alternar capas de encendido/apagado antes de exportar cada página utilizando ExportToPDF.

PDFDocument luego pueden ser utilizados para añadir las páginas en un único archivo PDF.

La técnica se describe en un Esri blog llamado la Combinación de las Páginas controladas por Datos con Python y arcpy.la cartografía que incluye también el código de abajo.

Por ejemplo, puede crear un temáticos de atlas con varias páginas la especificación de un tema diferente en cada página. En el ejemplo siguiente se amplía a un seleccionado de parcela, alterna en una capa diferente de la visibilidad y las exportaciones de la presentación de varios temas con el fin de crear un paquete informe con un mapa de suelo, un mapa de inundación y un mapa de zonificación:

import arcpy, os

#Specify output path and final output PDF
outPath = r"C:MyProjectoutput\"
finalPdf = arcpy.mapping.PDFDocumentCreate(outPath + "ParcelReport.pdf")

#Specify the map document and the data frame
mxd = arcpy.mapping.MapDocument(r"C:MyProjectMyParcelMap.mxd")
df = arcpy.mapping.ListDataFrames(mxd, "Layers")[0]

#Select a parcel using the LocAddress attribute and zoom to selected
parcelLayer = arcpy.mapping.ListLayers(mxd, "Parcels", df)[0]
arcpy.SelectLayerByAttribute_management(parcelLayer, "NEW_SELECTION", ""LocAddress" = '519 Main St'")
df.zoomToSelectedFeatures()

#Turn on visibility for each theme and export the page
lyrList = ["Soils", "Floodplains", "Zones"]
for lyrName in lyrList:
     lyr = arcpy.mapping.ListLayers(mxd, lyrName, df)[0]
     lyr.visible = True

     #Export each theme to a temporary PDF and append to the final PDF
     tmpPdf = outPath + lyrName + "_temp.pdf"
     if os.path.exists(tmpPdf):
          os.remove(tmpPdf)
     arcpy.mapping.ExportToPDF(mxd, tmpPdf)
     finalPdf.appendPages(tmpPdf)

     #Turn off layer visibility and clean up for next pass through the loop
     lyr.visible = False
     del lyr, tmpPdf
del mxd, df, finalPdf

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