5 votos

¿Pérdida de memoria en ArcGIS se agregan puntos/buffer/Addfield/cursor?

Existen dudas acerca de la capacidad de ArcGIS 10 para cumplir con un requisito de la mina.

ET Geowizards que se ha probado, aunque no tiene la misma capacidad de ArcGIS por ejemplo, no puedo agregado de todos los puntos que tengo con ET, a la escala que yo les he trazado.

Hay una pérdida de memoria, lo que significa que el bucle a través de 700 objetos, la realización de:

  1. Agg Puntos.
  2. Búfer.
  3. Agregar Campo.
  4. Actualización del cursor.

Comienza a tomar de 5 a 9 segundos por objeto, y continúa en 2 minutos por (de igual tamaño) objeto.

En el SP2, parece AggPoints ya no trabaja para crear un FC sobre la marcha. Hay más, pero es demasiado larga lista para compilar!

Código simplicado sin búfer, agregar el campo o el cursor. geom es una colección o de arcpy puntos

def createGeom(geom, scratchDB):
    filetime = (str(time.time())).split(".")
    outfile = "fc" + filetime[0]+filetime[1]
    outpath = scratchDB + "tmpV.gdb/Polygon/"  
    outFeatureAggClass = outpath+outfile +"_Agg"
    arcpy.AggregatePoints_cartography(geom, outFeatureAggClass,"124000 meters")

Parece ser que el tamaño de la geodatabase de archivos que estamos escribiendo es uno de los principales problemas; creo que el problema es que el rendimiento se degrada como la geodatabase de archivos locales se llena de forma significativa.

Alguna idea de cómo ajustar geodatabase de archivos locales?

3voto

Greg Puntos 1756

Si muestra la forma más simple posible de el código, podría beneficiarse del uso de un diccionario en lugar de cursor, o espacio de trabajo en memoria, o un cambio en el flujo de trabajo (por ejemplo agregados & buffer entonces el cursor en lugar de cursor, a continuación, aggregrate & buffer [ref]), o... En cualquier caso, comience aquí: Rendimiento de ArcGISScripting y grandes conjuntos de datos espaciales

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