Ein Python-Skript wurde vor ungefähr 18 Monaten von einer Person geschrieben, die jetzt gegangen ist. Es wurden dann die erforderlichen Ausgaben erzeugt. Ich wurde gebeten, es erneut auszuführen, jedoch mit anderen (feineren) Dateneingaben. Der Eingabedatensatz wurde in 20 Teilmengen von jeweils ca. 2.700 Datenpunkten aufgeteilt. Das Skript stürzt jedoch ab ("python.exe funktioniert nicht mehr"), nachdem ca. 300 Datenpunkte verarbeitet wurden (Bereich 295 bis 306 und schlägt NICHT immer im selben Datensatz fehl).
Wie sein altes (ish) wurde das Skript mit arcgisscripting und nicht mit arcpy geschrieben. Im Allgemeinen wird Folgendes mit Cursorn ausgeführt:
- Berechnen Sie für einen bestimmten Punkt die Kostenentfernung (mit gp.CostDistance_sa) mit einem Grenzwert von 60 Minuten Fahrzeit.
- Ruft gp.ExtractValuesToPoints_sa auf, um alle Einzelwerte an jedem Datenpunkt zu extrahieren, und gibt eine Feature-Class an eine Datei-Geodatabase aus.
- Liest die in b) oben erstellte Feature-Class und schreibt die Werte in eine CSV-Datei (ohne Punkte mit "Keine Daten" (Wert -9999)).
Wiederholt 1, 2 und 3 für alle verbleibenden Datenpunkte in der Eingabedatei.
Die Bearbeitungszeit beträgt ca. Durchschnittlich 1 Minute pro Datenpunkt. Hier sind einige relevante technische Spezifikationen:
- Der PC verfügt über eine Quad-Core-Intel i7-2720QM-CPU mit 2,20 GHz und 8 GB RAM unter Windows 7 (64 Bit).
- Die Python-Version ist 2.6.6 (die Shell gibt auch "[MSC v, 1500 32 Bit (Intel)] unter win32" an).
- ArcMap 10.0 (SP4) ist ebenfalls installiert.
Ich habe versucht, es auf einem anderen PC auszuführen (bisher ohne Absturz). Derzeit wird der Job auf einem älteren PC erfolgreich (aber langsamer) ausgeführt und hat 419 Datensätze ohne Absturz erreicht. Die relevanten Spezifikationen für diese Maschine sind:
- Intel Core 2 DUO E7500 Prozessor mit 2,93 GHz, 4 GB RAM und 64 Bit Windows 7.
- Python Version 2.5.1 (Shell gibt auch "[MSC v, 1310 32 Bit (Intel)] unter win32" an).
- ArcMap 9.3 ist installiert (keine Erwähnung von Service Packs).
Kann jemand einen Rat geben, warum das Skript eine Weile zu funktionieren scheint und dann abstürzt und wie man es löst?
Die Tatsache, dass (bisher) ein anderer PC für die Verarbeitung des Skripts angezeigt wird, deutet auf etwas "Umweltfreundliches" hin.
Als Update verarbeitet der PC mit ARCGIS 9.3 die Daten weiterhin erfolgreich und hat 1.300 verarbeitete Datenpunkte erreicht (und zählt noch). Ein Kollege hat die Daten auch auf seinem PC mit ARCGIS 10.1 ausgeführt - sie stürzten nach 267 Datensätzen zweimal ab. Obwohl dies nicht schlüssig ist, scheint der rote Faden zu sein, dass Arc 9.3 die Daten verarbeitet, Arc 10.x jedoch nicht.