Ausgangslage ist diese:
# -------------------------------------------------------------
# Dieses Script erzeugt einen 300 Meter Buffer um die
# die Fluesse Salzburgs und verbindet die gebufferten Einzelteile ("Dissolve").
# Erweitern Sie das Script, so dass 3 Buffer (50, 200 und 350 Meter) in einem
# Durchgang erzeugt werden
# -------------------------------------------------------------
# Import COM Dispatch Module
##import win32com.client
# Create the Geoprocessor Object
##gp = win32com.client.Dispatch("esriGeoprocessing.GpDispatch.1")
#ALTERNATIVE ab ArcGIS 9.2:
import arcgisscripting
# Create the Geoprocessor Object
gp = arcgisscripting.create()
#ALTERNATIVE ab ArcGIS 9.3:
##import arcgisscripting
# Create the Geoprocessor Object
##gp = arcgisscripting.create(9.3)
# set licence
gp.SetProduct("ArcGis")
gp.OverwriteOutput = 1
gp.Workspace = "E:\\Uni Gis\\M6\\M6\\Salzburg.mdb"
# Local variables...
sbgFluesse = "sbg_fluesse"
Buff_Fluesse = "Buff_300"
# Process: Buffer...
gp.Buffer_analysis (sbgFluesse, Buff_Fluesse, "300 Meters", "FULL", "ROUND", "ALL
Aufgabe ist es nun, das Script so zu modifizieren, dass in einem Durchgang drei verschiedene Buffergrößen berechnet werden: 50, 200 und 350 Meter. Diese sollen auch in drei verschiedenen Datensätzen ausgegeben werden.
Lösungsansatz:
Versuchen Sie eine Schleife zu programmieren, um die drei Rechenoperationen mit unterschiedlichen Parametern ablaufen zu lassen. Hier bietet sich der list loop
an.
Versuchen Sie die Namen der Datensätze in die das jeweilige Ergebnis geschrieben wird innerhalb der Schleife automatisch zu generieren (Beachten Sie auch: Wenn Sie den Namen des zu berechnende Datensatzes außerhalb der Schleife definieren, wird möglicherweise dreimal derselbe Datensatz überschrieben!).
Versuchen Sie das Script möglichst benutzerfreundlich zu gestalten, in dem Sie den Scriptzweck, Datum der Programmierung, sowie den Autor / die Autorin im Header angeben. Außerdem sollten Sie das Script mit Kommentaren versehen und, wenn möglich, auch den Benutzer während der Ausführung im interaktiven Fenster über die abgearbeiteten Berechnungsschritte informieren.
Geben Sie das modifizierte Script als Lösung ab. Falls Ihr Script (wider Erwarten) auch nach intensiver Fehlersuche nicht funktioniert, geben Sie es trotzdem mit den entsprechenden (auskommentierten) Hinweisen zu den auftretenden Fehlern ab.
Zusatzaufgabe: Versuchen Sie, das Präfix für die automatische Namensgebung der Ausgabedatensätze mittels der built-in-function raw_input vom Benutzer eingeben zu lassen!
ich hab leider keinen plan...
