Un script python a été écrit il y a environ 18 mois par une personne qui est maintenant partie. Il a alors produit les résultats requis. On m'a demandé de l'exécuter à nouveau mais avec des entrées de données différentes (résolution plus fine). L'ensemble de données d'entrée a été divisé en 20 sous-ensembles d'environ 2 700 points de données chacun. Cependant, le script se bloque («python.exe a cessé de fonctionner») après avoir traité environ 300 points de données (plage de 295 à 306 et n'échoue PAS toujours sur le même enregistrement).
Comme son ancien (ish), le script a été écrit en utilisant arcgisscripting et non arcpy. En gros, il fait ce qui suit en utilisant des curseurs:
- Pour un point donné, calculez la distance de coût (en utilisant gp.CostDistance_sa) avec une coupure de 60 minutes de trajet.
- Appelle gp.ExtractValuesToPoints_sa pour extraire toutes les valeurs individuelles à chaque point de données et génère une classe d'entités dans une géodatabase fichier.
- Lit la classe d'entités créée en b) ci-dessus et écrit les valeurs dans un fichier CSV (en omettant tous les points avec "Aucune donnée" (valeur -9999)).
Répète 1, 2 et 3 pour tous les points de données restants dans le fichier d'entrée.
Le temps de traitement est d'env. 1 minute par point de données en moyenne. Voici quelques spécifications techniques pertinentes:
- Le PC est doté d'un processeur Intel i7-2720QM quadricœur fonctionnant à 2,20 GHz avec 8 Go de RAM exécutant Windows 7 (64 bits).
- La version Python est 2.6.6 (le shell indique également "[MSC v, 1500 32 bits (Intel)] sur win32).
- ArcMap 10.0 (SP4) est également installé.
J'ai essayé de l'exécuter sur un autre PC (jusqu'à présent sans planter). Actuellement, le travail s'exécute avec succès (mais plus lentement) sur un ancien PC et a atteint 419 enregistrements sans se bloquer. Les spécifications pertinentes pour cette machine sont:
- Processeur Intel Core 2 DUO E7500 fonctionnant à 2,93 GHz avec 4 Go de RAM et 64 bits Windows 7.
- Python version 2.5.1 (le shell indique également "[MSC v, 1310 32 bits (Intel)] sur win32).
- ArcMap 9.3 est installé (aucune mention de Service Packs).
Quelqu'un peut-il donner des conseils sur les raisons pour lesquelles le script semble fonctionner pendant un certain temps, puis planter et comment le résoudre?
Le fait qu'un PC différent apparaisse (jusqu'à présent) pour gérer le script suggère quelque chose d '"environnemental".
En tant que mise à jour, le PC exécutant ARCGIS 9.3 traite toujours avec succès les données et a atteint 1 300 points de données traités (et continue de compter). Un collègue a également exécuté les données sur leur PC exécutant ARCGIS 10.1 - elles se sont écrasées après 267 enregistrements à deux reprises. Bien que cela ne soit pas concluant, le fil conducteur semble être qu'Arc 9.3 traitera les données mais pas Arc 10.x.