Koordinatenschreibweise konvertieren (Data Management)
Zusammenfassung
Konvertiert Koordinatenschreibweisen, die Positionen darstellen, in ein anderes Format.
Verwendung
Die Eingabetabelle kann eine Textdatei oder eine beliebige von ArcGIS unterstützte Tabelle sein.
Die Ausgabe ist eine Point-Feature-Class, bei der jede Eingabeposition mit einer gültigen Schreibweise als Punkt dargestellt wird. Die Datensätze mit ungültigen Schreibweisen haben keine Geometrie, und neu hinzugefügte Ausgabefelder sind leer.
Die IDs der Datensätze mit ungültigen Schreibweisen, die nicht konvertiert werden können, werden in einer Textdatei mit dem Namen ConvertCoordinateNotation<x>.log aufgeführt (<x> ist eine beliebige Zahl). Die Datei wird im Ordner Temp des Benutzers gespeichert. Unter Windows 7 heißt das Verzeichnis beispielsweise Users\<user>\AppData\Local\Temp. In UNIX-Systemen befindet sich die Datei im Startverzeichnis des Benutzers unter $TMP.
Folgende Formate werden unterstützt:
- Dezimalgrad (Decimal Degrees, DD)
- Grad Dezimalminuten (Degrees Decimal Minutes, DDM)
- Grad, Minuten, Sekunden (DMS)
- Global Area Reference System (GARS)
- GEOREF (World Geographic Reference System)
- Universelle transversale Mercator-Projektion (UTM)
- United States National Grid (USNG)
- Military Grid Reference System (MGRS)
Als Eingabe- oder Ausgabeformat kann jedes beliebige Format verwendet werden. Es kann z. B. DMS sowohl als Eingabe- als auch als Ausgabeformat verwendet werden, um Werte zu konvertieren und eine Point-Feature-Class für die Positionen zu erhalten.
Für DD_1, DDM_1 und DMS_1 sind zwei Werte für die Darstellung einer Position erforderlich: ein Wert für den Breitengrad und ein Wert für den Längengrad. Die beiden Werte sind in einer einzigen Zeichenfolge verkettet und in einem Feld gespeichert.
Für DD_2, DDM_2 und DMS_2 sind die Breitengrad- und Längengradwerte in zwei getrennten Feldern dargestellt.
GARS, GEOREF, UTM, USNG und MGRS sind Koordinatenformate aus einzelnen Zeichenfolgen. Das bedeutet, dass nur ein Feld die Koordinate enthält.
Weitere Informationen finden Sie in der Erläuterung des Parameters Eingabe-Koordinatenformat weiter unten.
Alle systemfremden Felder aus der Eingabetabelle, einschließlich der Eingabeformatfelder, werden an die Ausgabe-Point-Feature-Class übertragen.
Die Ausgabefeldnamen stimmen mit dem Namen der Ausgabe-Koordinatenschreibweise überein. Wenn z. B. das Ausgabeformat MGRS ist, dann ist der neue Ausgabefeldname MGRS.
Wenn ein Feld mit dem gleichen Namen wie das Eingabefeld in der Ausgabe bereits vorhanden ist, wird an den Namen des kopierten Feldes eine eindeutige Zahl angefügt.
Das Werkzeug XY-Koordinaten hinzufügen kann verwendet werden, um der Ausgabe-Point-Feature-Class die beiden Felder "POINT_X" und "POINT_Y" hinzuzufügen. Diese Felder enthalten die Koordinaten eines Punktes in der Einheit des Koordinatensystems der Feature-Class.
Syntax
Parameter | Erläuterung | Datentyp |
in_table |
Die Tabelle, die die Felder mit den zu konvertierenden Koordinatenschreibweisen enthält. | Table View |
out_featureclass |
Die Ausgabe-Feature-Class von Punkten. Die Attributtabelle enthält alle Felder der Eingabetabelle und die Felder mit den konvertierten Feldern im Ausgabeformat. | Feature Class |
x_field |
Ein Feld aus der Eingabetabelle mit dem Längengradwert. Bei DD_2, DDM_2 und DMS_2 ist dies das Längengradfeld. Bei DD_1, DDM_1, DMS_1, GARS, GEOREF, UTM, USNG und MGRS ist dies das Feld, das sowohl den Breitengrad als auch den Längengrad enthält. | Field |
y_field |
Ein Feld aus der Eingabetabelle mit dem Breitengradwert. Bei DD_2, DDM_2 und DMS_2 ist dies das Breitengradfeld. Bei DD_1, DDM_1, DMS_1, GARS, GEOREF, UTM, USNG und MGRS wird dieser Parameter ignoriert. | Field |
input_coordinate_format |
Koordinatenformat der Eingabefelder. Die Standardeinstellung ist "DD_2".
DD, DDM und DMS sind ebenfalls gültige Schlüsselwörter. Sie können verwendet werden, indem der Wert einfach im Dialogfeld eingegeben oder im Skript übergeben wird. Schlüsselwörter mit Unterstrich und einer Zahl geben jedoch an, ob die Werte aus einem Feld oder aus zwei Feldern stammen. | String |
output_coordinate_format |
Das Koordinatenformat, in das die Eingabeschreibweisen konvertiert werden. Die Standardeinstellung ist "DD_2".
DD, DDM und DMS sind ebenfalls gültige Schlüsselwörter. Sie können verwendet werden, indem der Wert einfach im Dialogfeld eingegeben oder im Skript übergeben wird. Schlüsselwörter mit Unterstrich und einer Zahl geben jedoch an, ob die Werte aus einem Feld oder aus zwei Feldern stammen. | String |
id_field (optional) |
Ein beliebiges Feld aus der Eingabetabelle. Das ausgewählte Feld wird in die Ausgabetabelle kopiert. Wenn die Werte für dieses Feld eindeutig sind, kann es verwendet werden, um die Ausgabedatensätze wieder mit der Eingabetabelle zu verbinden. | Field |
spatial_reference (optional) |
Der Raumbezug der Ausgabe-Point-Feature-Class. Die Standardeinstellung ist "GCS_WGS_1984". Wenn die Ausgabe ein anderes Koordinatensystem als die Eingabe hat, dann werden die Daten vom Werkzeug projiziert. Wenn die Eingabe und Ausgabe sich an verschiedenen Bezugspunkten befinden, dann wird eine Standardtransformation anhand der Koordinatensysteme der Eingabe und der Ausgabe sowie der Datenausdehnung berechnet. | Spatial Reference |
Codebeispiel
Verwendung von "ConvertCoordinateNotation" mit einem Eingabeformatfeld.
#Imports
import arcpy
#Locals
in_tab = r"c:\workspace\inmed.gdb\loc_mgrs"
out_pts = r"c:\workspace\inmed.gdb\loc_final"
#Convert Coordinate Notation with MGRS as input field.
arcpy.ConvertCoordinateNotation_management(in_tab,out_pts,"m10d","#","MGRS","DD_1")
Verwendung von "ConvertCoordinateNotation" mit zwei Eingabeformatfeldern.
# imports
import arcpy
arcpy.env.workspace = r"c:\data\mtf.gdb"
# set parameter values
input_table = 'rit_up_DD'
output_points = 'ritLOC'
x_field = 'LON'
y_field = 'LAT'
input_format = 'DD_2'
output_format = 'GARS'
id_field = 'CITY_NAME'
spatial_ref = arcpy.SpatialReference('WGS 1984')
try:
arcpy.ConvertCoordinateNotation_management(input_table, output_points, x_field, y_field,
input_format, output_format, id_field, spatial_ref)
print(arcpy.GetMessages(0))
except arcpy.ExecuteError:
print(arcpy.GetMessages(2))
except Exception as ex:
print(ex.args[0])