6 votos

Cómo eliminar los resultados de geoprocesamiento en ArcGIS sin cerrar el archivo mxd?

Estoy tratando de ejecutar un bucle de un par de miles de mapas en ArcGIS 10.1 pero el programa sigue estrellarse después de la impresión de alrededor de 100 mapas a la vez. He leído aquí que tengo que asegurarme de que mis resultados en la Gestión de los Resultados se ha guardado nunca, así que he cambiado la configuración en consecuencia. Mientras que esta medida permitió que el .mxd archivo de permanecer un tamaño constante, no resolver el problema de ArcGIS estrellarse después de la impresión ~100 mapas.

Además, mientras yo estoy en un único ArcGIS sesión, todos los resultados a obtener por escrito a la Sesión Actual en los Resultados. Parece que la razón de ArcGIS en última instancia, los accidentes es que demasiada memoria está ocupada después de los resultados de ~100 mapas se memorizan.

Sólo quiero ejecutar una sola ArcGIS período de sesiones (nunca el cierre de la .mxd archivo, mientras que el bucle se ejecuta) porque tengo miles de mapas para imprimir y no me gustaría para abrir y cerrar el mismo .mxd el archivo y ejecutar la misma secuencia de comandos de Python de 20 a 30 veces.

¿Hay alguna manera de borrar los resultados de la Sesión Actual, al final de cada iteración de mi bucle for? Tenía la esperanza de que esto impediría ArcGIS de estrellarse después de cada 100 mapas. Gracias!

En mi secuencia de comandos de Python, leí por primera vez en listas de parámetros para mi bucle de un archivo de texto. Entonces puedo ejecutar mi uno de los principales bucle for. En cada iteración, yo soy de ahorro de un buffer .shp y un polígono .shp en un espacio de trabajo: env.workspace = r"C:\ArcGIS\Mapping Files\All Shapefiles" I, a continuación, zoom a la capa amortiguadora, exportar a pdf, y eliminar las dos nuevas capas así:

for lyr in arcpy.mapping.ListLayers(mxd, "Shape_" + object[i], df):
    arcpy.mapping.RemoveLayer(df, lyr)
for lyr in arcpy.mapping.ListLayers(mxd, "Buffer_" + object[i], df):
    arcpy.mapping.RemoveLayer(df, lyr)
del mxd, df, lyr

3voto

Örjan Jämte Puntos 3127

Si usted no tiene esta serie, me gustaría instalación de la Geoprocessing Options como así:

GP options

Además, siempre se puede cerrar mediante programación el documento de ArcMap y abrirlo nuevamente. Usted puede hacer esto de python o incluso un .bat script.

Edit: a partir De este hilo, parece que se puede deshabilitar el registro a través de la arcpy.gp.logHistory = False pero no parece tener ningún impacto. arghhh! Como era de esperar, la eliminación de los metadatos de C:\Users\<username>\AppData\Roaming\ESRI\Desktop10.0\ArcToolbox\History no tiene ningún impacto, ya sea....

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