Una persona que ahora se ha ido escribió un guión de Python hace aproximadamente 18 meses. Produjo las salidas requeridas entonces. Me han pedido que lo vuelva a ejecutar pero con entradas de datos diferentes (resolución más fina). El conjunto de datos de entrada se ha dividido en 20 subconjuntos de aproximadamente 2.700 puntos de datos cada uno. Sin embargo, el script se bloquea ("python.exe ha dejado de funcionar") después de que se hayan procesado aproximadamente 300 puntos de datos (rango 295 a 306 y NO siempre falla en el mismo registro).
Como es antiguo (ish), el guión se escribió usando arcgisscripting y no arcpy. En general, hace lo siguiente con los cursores:
- Para un punto dado, calcule la distancia de costo (usando gp.CostDistance_sa) con un límite de tiempo de viaje de 60 minutos.
- Llama a gp.ExtractValuesToPoints_sa para extraer todos los valores individuales en cada punto de datos y genera una clase de entidad en una geodatabase de archivos.
- Lee la clase de entidad creada en b) anterior y escribe los valores en un archivo CSV (omitiendo cualquier punto con "Sin datos" (valor -9999)).
Repite 1, 2 y 3 para todos los puntos de datos restantes en el archivo de entrada.
El tiempo de procesamiento es de aprox. 1 minuto por punto de datos en promedio. Aquí hay algunas especificaciones técnicas relevantes:
- La PC tiene una CPU Intel i7-2720QM de cuatro núcleos que funciona a 2,20 GHz con 8 GB de RAM con Windows 7 (64 bits).
- La versión de Python es 2.6.6 (el shell también indica "[MSC v, 1500 32 bit (Intel)] en win32).
- ArcMap 10.0 (SP4) también está instalado.
He intentado ejecutarlo en una PC diferente (hasta ahora sin fallar). Actualmente, el trabajo se ejecuta con éxito (pero más lentamente) en una PC más antigua y ha alcanzado 419 registros sin fallar. Las especificaciones relevantes para esta máquina son:
- Procesador Intel Core 2 DUO E7500 que funciona a 2,93 GHz con 4 GB de RAM y 64 bits de Windows 7.
- Python versión 2.5.1 (el shell también indica "[MSC v, 1310 32 bit (Intel)] en win32).
- ArcMap 9.3 está instalado (sin mencionar ningún Service Packs).
¿Alguien puede ofrecer algún consejo sobre por qué el script parece funcionar durante un tiempo y luego se bloquea y cómo resolverlo?
El hecho de que aparezca una PC diferente (hasta ahora) para manejar el script sugiere algo "ambiental".
Como actualización, la PC que ejecuta ARCGIS 9.3 sigue procesando los datos con éxito y ha alcanzado los 1.300 puntos de datos procesados (y sigue contando). Un colega también ejecutó los datos en su PC con ARCGIS 10.1; se bloqueó después de 267 registros en dos ocasiones distintas. Aunque no es concluyente, el hilo común parece ser que Arc 9.3 procesará los datos pero Arc 10.x no lo hará.