Kategorien

ArcGIS-Scripting mit Python: Teil 3

Um das Python-Scripting zu ermöglichen, wird mit der ArcGIS-Installation gleichzeitig auch eine Python-Umgebung installiert. In ArcGIS 9.1 wird die Python-Version 2.1 installiert. Die hat zwar schon einige Jahre auf dem Buckel (aktuell ist im Moment v2.4.2), das sollte aber zu keinen Problemen führen. Teil dieser Python-Umgebung ist die Pythonwin-IDE, mit der man die Scripts editieren und debuggen kann. Natürlich ist eine solche IDE sehr nützlich, nur sind mir bei dieser IDE einige Umstimmigkeiten aufgefallen:

Pythonwin hat — zumindest auf unserem GIS-Server — Probleme mit Umlauten (und wahrscheinlich auch mit anderen Sonderzeichen). Es spielt keine Rolle, ob die Umlaute in Strings oder auch nur in Kommentaren auftauchen, Pythonwin verschluckt sich daran. Das Programm stürzt zwar nicht ab, aber es funktioniert auch nicht mehr korrekt, so dass ein Arbeiten damit sehr erschwert ist.

Ab und zu hatte ich den Eindruck, dass Pythonwin sehr träge reagiert, v.a. beim Scrollen im Vollbildmodus. Hier ist aber nicht gesagt, dass das ein Pythonwin-Problem ist, vielleicht liegt das ja auch an unserer GIS-Umgebung.

Was mich an Pythonwin auch sehr enttäuscht, ist die Command Completion. Es existiert zwar eine solche, die zeigt einem bei der Eingabe aber nur diejenigen Objekte und Funktionen an, die im Script stehen. So werden mir zum Beispiel jeweils nicht alle möglichen Methoden oder Properties des Geoprocessing-Objekts angezeigt, sondern nur diejenigen, die im Script stehen. Zudem habe ich nicht herausgefunden, wie die Command Completion mit der Tastatur bedient werden kann. Weder die Enter- noch die Space- noch die KeyRight-Taste haben eine Wirkung darauf. Es funktioniert nur, wenn man mit der Maus auf den Vorschlag der Command Completion klickt. Erst dann wird dieser übernommen. [Update: Es ist natürlich die Tabulator-Taste, die den gewählten Befehl vervollständigt. Ich war wohl zu sehr an den VBA-Editor gewöhnt!] Kein Vergleich zu der um Klassen besseren Command Completion in der VBA-Umgebung. All diese Einschränkungen haben mich dazu gebracht, meine Scripts vorerst nicht mit Pythonwin zu schreiben, sondern mit einem simplen Texteditor (SciTE), den ich auch sonst häufig benutze. Der hat zwar nur Syntax Highlighting und keine Command Completion, dafür reagiert er sehr schnell und zuverlässig.

Leave a Reply

  

  

  

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>