Werkzeugsyntax
Der Syntaxabschnitt einer Werkzeugreferenzseite enthält Details zu jedem Werkzeugparameter. Er stellt auch die Syntax zur Verwendung des Werkzeugs in Python bereit.
Eine einfache Möglichkeit, Python-Code zur Ausführung eines bestimmten Werkzeugs zu erstellen, ist die Verwendung des Fensters Ergebnisse:
- Führen Sie das Werkzeug im Werkzeugdialogfeld aus.
- Öffnen Sie nach der Ausführung des Werkzeugs das Fenster Ergebnisse.
- Klicken Sie mit der rechten Maustaste auf das Ergebnis, und klicken Sie auf Als Python-Snippet kopieren.
- Fügen Sie den kopierten Ausschnitt in den Python-Code ein.
Werkzeugsignatur
Die erste Zeile unter der Syntaxkopfzeile enthält die Werkzeugsignatur.
Werkzeugname und -aliasname
Für Python wird anstelle der Beschriftung der Name des Werkzeugs verwendet.
- Die Werkzeugbeschriftung wird oben in einem Werkzeugdialogfeld oder im Fenster Katalog angezeigt.
- In Python wird der Toolbox-Aliasname hinter dem Werkzeugnamen angegeben (durch einen Unterstrich getrennt). In Python wird das Werkzeug Symmetrische Differenz z. B. als SymDiff_analysis angegeben.
Optional Parameters
Werkzeugparameter können erforderlich oder optional sein. Optionale Parameter stehen in geschweiften Klammern ({}), erforderliche Parameter nicht.
Parametertyp |
Symbol |
Bedeutung |
---|---|---|
Erforderlich |
Erforderlicher Parameter. Diese Parameter sind stets die ersten Parameter im Befehl. Für erforderliche Parameter müssen Sie Werte angeben. |
|
Optional |
{ } |
Optionaler Parameter. Diese Parameter stehen stets hinter den erforderlichen Parametern. Wenn Sie keinen Wert für einen optionalen Parameter eingeben, wird der Standardwert berechnet und verwendet. Sie finden den Standardwert eines Parameters in der Hilfe des Werkzeugs. |
Optionale Parameternamen können als Verknüpfung in Python hilfreich sein. Statt andere nicht verwendete optionale Parameter mit einem leeren Satz von Anführungszeichen ("") oder einem Nummernzeichen ("#") ausdrücklich zu überspringen, kann der Parameter explizit mit dem Parameternamen festgelegt werden.
# Use the parameter name to bypass unused optional arguments
arcpy.AddField_management("c:/data/streets.shp", "Address", "TEXT", field_length=120)
Parametertabelle
Der Werkzeugsignatur folgt die Parametertabelle mit drei Spalten: Parameter, Explanation und Data Type. Die Zeilen in der Parametertabelle entsprechen immer der Parameterreihenfolge (wie bei der Werkzeugsignatur).
Ein Werkzeugdialogfeld zeigt Parameter in einer anderen Reihenfolge als der tatsächlichen Parameterreihenfolge an. Das heißt, in seltenen Fällen entspricht die Reihenfolge der Parameter im Dialogfeld des Werkzeugs möglicherweise nicht der Reihenfolge in der Parametertabelle. Verwenden Sie für Python immer die Reihenfolge in der Parametertabelle.
Spalte "Parameter"
Die Zellen in dieser Spalte enthalten den Parameternamen sowie die Listensyntax (für Parameter, die eine Liste akzeptieren) und geben an, ob der Parameter optional ist (siehe unten).
Aussehen | Beschreibung |
---|---|
Einfache Liste. Einfache Listen sind MultiValue-Parameter. | |
Liste von Listen. Der Datentyp ist "Value Table". Nur integrierte Werkzeuge und Werkzeuge in einer Python-Toolbox können über Parameter mit einem Datentyp der Wertetabelle verfügen. |
Einfache Liste
Eine einfache Liste enthält eine Liste einzelner Werte. Im Beispiel oben weist der Parameter Distances den Datentyp "Double" auf (in der Spalte Data Type). Sie können diese Liste mit einer der folgenden Methoden ausdrücken:
# Method 1: A list of numbers
dist = [10.0, 20.0, 30.0]
# Method 2: A list of strings
dist = ["10.0", "20.0", "30.0"]
# Method 3: String representation of a list
dist = "10.0; 20.0; 30.0"
Wertetabellen – eine Liste mit Listen
Der Datentyp einer Liste von Listen ist "Value Table". Im oben erwähnten Beispiel ist der Parameter in_features eine Liste von Listen, wobei eine einzelne Liste den Pfad zu einem Feature-Dataset oder einem Layer und einer optionalen Ganzzahlrangstufe enthält. Sie können diesen Parameter mit einer der folgenden Methoden ausdrücken:
# Method 1: A list of lists
inFeatures = [["counties", 2],["parcels", 1],["state"]]
# Method 2: A list of strings
inFeatures = ["counties 2", "parcels 1", "state"]
# Method 3: String representation, each list separated by a semicolon
inFeatures = "counties 2; parcels 1; state"
Wenn Sie sich im Hinblick auf eine Zeichenfolgensyntax einer MultiValue-Tabelle oder Wertetabelle nicht sicher sind, gehen Sie wie folgt vor:
- Führen Sie das Werkzeug im Werkzeugdialogfeld aus.
- Öffnen Sie nach der Ausführung des Werkzeugs das Fenster Ergebnisse.
- Klicken Sie mit der rechten Maustaste auf das Ergebnis, und klicken Sie auf Als Python-Snippet kopieren.
- Fügen Sie den kopierten Ausschnitt in den Python-Code ein.
Spalte "Explanation"
Die Zellen in dieser Spalte stellen weitere Informationen zur Verwendung und Einstellung eines Parameters bereit, einschließlich Schlüsselwortoptionen. In den meisten Fällen ist diese Erklärung dieselbe wie in der Seitenbereichhilfe für das Werkzeug. In einigen Fällen ist die Erklärung des Parameters möglicherweise etwas anders als in der Seitenbereichhilfe. Das Werkzeugdialogfeld weist z. B. für einen booleschen Parameter (Wahr/Falsch) ein Kontrollkästchen auf, aber die Beschreibung in der Syntax umfasst zwei Schlüsselwortzeichenfolgen, eine für den Status "Wahr" und eine für den Status "Falsch".
Schlüsselwörter sind Zeichenfolgen. Beim Aufrufen des Werkzeugs werden sie immer in Anführungszeichen gesetzt. Das Werkzeug AddField umfasst z. B. Schlüsselwörter für den Feldtyp:
# Add field idField with data type of long
arcpy.AddField_management("Parks", "idField", "LONG", field_is_nullable="NULLABLE", field_is_required="NON_REQUIRED")
Datentyp
Jedem Werkzeugparameter ist ein Datentyp zugewiesen. Einige einfache Datentypen sind Zeichenfolgen (eine beliebige alphanumerische Zeichenkette), boolesche Variablen (wahr oder falsch) und ganze Zahlen (Ganzzahlwerte zwischen -2.147.483.648 und 2.147.483.647). Darüber hinaus gibt es noch viele weitere spezielle Datentypen für die Daten in ArcGIS wie "Koordinatensystem" und "Ausdehnung".
Verwenden von Skriptobjekten
Werkzeugparameter werden normalerweise mit einfachen Textzeichenfolgen definiert. Dataset-Namen, Pfade, Schlüsselwörter, Feldnamen, Toleranzen und Domänennamen können mit einer Zeichenfolge in Anführungszeichen angegeben werden.
Einige Parameter sind mithilfe von einfachen Zeichenfolgen jedoch schwieriger zu definieren, da es sich hierbei um komplexere Parameter handelt, die viele Eigenschaften erfordern. Anstatt zum Definieren dieser Parameter lange, komplizierte Textzeichenfolgen zu verwenden, können Sie Klassen nutzen (z. B. SpatialReference, ValueTable und Point). Die Dokumentation jedes Werkzeugs enthält ein Skriptbeispiel, in dem beschrieben wird, wie die einzelnen Werkzeugparameter definiert und verwendet werden.
Im folgenden Beispiel wird ein SpatialReference-Objekt erstellt und zum Definieren des Ausgabe-Koordinatensystems einer neuen Feature-Class verwendet, die mit dem Werkzeug CreateFeatureClass erstellt wurde.
import arcpy
inputWorkspace = "c:/temp"
outputName = "rivers.shp"
prjFile = "c:/projections/North America Equidistant Conic.prj"
spatialRef = arcpy.SpatialReference(prjFile)
# Run CreateFeatureclass using the spatial reference object
#
arcpy.CreateFeatureclass_management(inputWorkspace, outputName, "POLYLINE",
"", "", "", spatialRef)
Bei vielen Workflows der Geoverarbeitung möchten Sie eventuell bestimmte Vorgänge mit Koordinaten- und Geometriedaten ausführen, jedoch nicht unbedingt eine neue (temporäre) Feature-Class erstellen, diese mit Cursorn füllen, die Feature-Class verwenden und dann die vorläufige Feature-Class wieder löschen. Sie können anstelle von Eingabe und Ausgabe auch Geometrieobjekte verwenden und so die Geoverarbeitung vereinfachen. Geometrieobjekte können von Grund auf neu mit Geometry-, Multipoint-, PointGeometry-, Polygon- oder Polyline-Classes erstellt werden.