Um script python foi escrito há cerca de 18 meses por uma pessoa que já saiu. Produziu as saídas necessárias então. Me pediram para executá-lo novamente, mas com entradas de dados diferentes (resolução mais fina). O conjunto de dados de entrada foi dividido em 20 subconjuntos de aproximadamente 2.700 pontos de dados cada. No entanto, o script falha ("python.exe parou de funcionar") depois que aproximadamente 300 pontos de dados foram processados (intervalo 295 a 306 e nem sempre falham no mesmo registro).
Como antigo (ish), o script foi escrito usando arcgisscripting e não arcpy. Em geral, ele faz o seguinte usando cursores:
- Para um determinado ponto, calcule a distância de custo (usando gp.CostDistance_sa) com um corte de 60 minutos de tempo de viagem.
- Chama gp.ExtractValuesToPoints_sa para extrair todos os valores individuais em cada ponto de dados e gera uma classe de recurso em um geodatabase de arquivo.
- Lê a classe de recurso criada em b) acima e grava os valores em um arquivo CSV (omitindo quaisquer pontos com "Sem dados" (valor -9999)).
Repete 1, 2 e 3 para todos os pontos de dados restantes no arquivo de entrada.
O tempo de processamento é de aprox. 1 minuto por ponto de dados em média. Aqui estão algumas especificações técnicas relevantes:
- O PC possui uma CPU Intel i7-2720QM quad core rodando a 2.20GHz com 8GB de RAM rodando Windows 7 (64 bits).
- A versão do Python é 2.6.6 (o shell também indica "[MSC v, 1500 32 bits (Intel)] no win32).
- O ArcMap 10.0 (SP4) também está instalado.
Eu tentei executá-lo em um PC diferente (até agora sem travar). Atualmente, o trabalho está sendo executado com êxito (mas mais lentamente) em um PC mais antigo e atingiu 419 registros sem travar. As especificações relevantes para esta máquina são:
- Processador Intel Core 2 DUO E7500, rodando a 2.93GHz com 4 GB de RAM e Windows 7 de 64 bits.
- Python versão 2.5.1 (o shell também indica "[MSC v, 1310 32 bits (Intel)] no win32).
- O ArcMap 9.3 está instalado (sem menção a nenhum Service Pack).
Alguém pode oferecer alguns conselhos sobre por que o script parece funcionar por um tempo e depois falhar e como resolvê-lo?
O fato de um PC diferente aparecer (até agora) para manipular o script sugere algo "ambiental".
Como atualização, o PC executando o ARCGIS 9.3 ainda está processando com êxito os dados e alcançou 1.300 pontos de dados processados (e ainda contando). Um colega também executou os dados em seu PC executando o ARCGIS 10.1 - ele travou após 267 registros em duas ocasiões separadas. Embora não seja conclusivo, o fio comum parece ser que o Arc 9.3 processará os dados, mas o Arc 10.x não.