Die Geoverarbeitung basiert auf dem Konzept von Datentypen. Jeder Werkzeugparameter hat einen zugeordneten Datentyp, der den Inhalt der Variable definiert. Einige einfache Datentypen sind Zeichenfolgen (eine beliebige alphanumerische Zeichenkette), boolesche Variablen (wahr/falsch) und ganze Zahlen (Ganzzahl-Werte 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 "Feld", "Koordinatensystem" und "Ausdehnung".
Dokumentation für jeden Datentyp finden Sie in der Geoprocessing_data_types.pdf. Wenn die Verknüpfung nicht funktioniert, können Sie das Dokument (Geoprocessing_data_types.pdf) im Ordner \arcgis\Documentation in Ihrem ArcGIS for Desktop-Installationsverzeichnis öffnen.
Zum Anzeigen dieses Dokuments benötigen Sie Adobe Reader, das Sie kostenlos unter http://www.adobe.com/products/acrobat/readstep.html herunterladen können.
Wann Datentypen erforderlich sind
Benutzer, die nur gelegentlich die Geoverarbeitung einsetzen, benötigen keine Kenntnisse über Datentypen. In manchen Situationen werden Sie jedoch aufgefordert, Datentypen für Variablen und Parameter anzugeben.
- Wenn Sie in ModelBuilder eine eigenständige Variable erstellen, müssen Sie den Datentyp für die zu erstellende Variable angeben.
- Wenn Sie ein Skriptwerkzeug mit dem Skriptwerkzeug-Assistent hinzufügen, müssen Sie den Datentyp für alle Parameter des Skriptwerkzeugs angeben.
Im Fall von ModelBuilder erstellen Sie meist Variablen aus einem vorhandenen Werkzeugparameter. Da allen Parametern ein Datentyp zugeordnet ist, werden Variablen automatisch mit dem richtigen Datentyp erstellt.
Bestimmen des Datentyps eines Parameters
Der Datentyp eines Parameters kann auf verschiedene Weise ermittelt werden:
- Auf der Referenzseite eines Werkzeugs enthält der Syntaxbereich eine Tabelle, die jeden Parameter und seinen Datentyp beschreibt.
- Erstellen Sie in ModelBuilder eine Variable aus dem Parameter eines Werkzeugs. Klicken Sie mit der rechten Maustaste auf die Variable, klicken Sie auf Eigenschaften, und klicken Sie dann auf die Registerkarte Datentyp. Der Datentyp wird im oberen Bereich des Dialogfeldes aufgeführt.
- Erstellen Sie in ModelBuilder einen Modellbericht. Der Bericht enthält alle Datentypen aller Parameter.
Zeichenfolgensyntax
Jeder Datentyp verfügt über eine im Werkzeugdialogfeld und bei der Skripterstellung verwendete Zeichenfolgensyntax. Die meisten Datentypen weisen eine sehr einfache Zeichenfolgensyntax auf, z. B. den Pfadnamen zu einem Dataset, eine Nummer oder ein Schlüsselwort. Beispiel: Der Felddatentyp ist der Name des Feldes. Andere Datentypen weisen eine komplexere Syntax auf.
Die Zeichenfolgensyntax für einen Datentyp befindet sich in der PDF-Datei, die oben beschrieben wurde. Wenn Sie sich bei einer bestimmten Zeichenfolgensyntax für einen Datentyp nicht sicher sind, können Sie wie folgt vorgehen:
- Suchen Sie ein Werkzeug, in dem der Datentyp verwendet wird.
- Führen Sie das Werkzeug über das entsprechende Dialogfeld aus.
- Klicken Sie im Fenster Ergebnisse mit der rechten Maustaste auf das Ergebnis, und klicken Sie auf Als Python-Snippet kopieren. Sie können dann diesen Ausschnitt in jeden Texteditor (oder das Fenster Python) einfügen und die Zeichenfolgenwerte aller Parameter prüfen.
Datentypen und Skriptobjekte
Die Zeichenfolgensyntax einiger Datentypen ist für die Verwendung in einem Skript zu komplex. Im Folgenden finden Sie beispielsweise die Textzeichenfolge für den Datentyp "Raumbezug", mit dem ein Eckert-IV-Koordinatensystem definiert wird:
PROJCS['World_Eckert_IV',
GEOGCS['GCS_WGS_1984',
DATUM['D_WGS_1984',
SPHEROID['WGS_1984',6378137.0,298.257223563]],
PRIMEM['Greenwich',0.0],
UNIT['Degree',0.0174532925199433]],
PROJECTION['Eckert_IV'],
PARAMETER['False_Easting',0.0],
PARAMETER['False_Northing',0.0],
PARAMETER['Central_Meridian',0.0],
UNIT['Meter',1.0]]
Für Datentypen mit komplexen Zeichenfolgen verfügt arcpy über Klassen mit Methoden und Eigenschaften, die das Erstellen und Bearbeiten von Datentypen erleichtern. Siehe beispielsweise die Klasse SpatialReference.