Zusammenfassung
Konvertiert Koordinatenschreibweisen in ein oder zwei Feldern in ein anderes Schreibweisenformat.
Verwendung
Die Eingabetabelle kann eine Textdatei oder eine beliebige von ArcGIS unterstützte Tabelle sein. Punkt-Features sind ebenfalls gültig.
Das Koordinatensystem der unter X-Feld (Längengrad) und Y-Feld (Breitengrad) gespeicherten Werte wird im Parameter Eingabe-Koordinatensystem angegeben. Die Standardeinstellung lautet "GCS_WGS_1984", sofern es sich bei der Eingabetabelle nicht um eine Feature-Class handelt. In diesem Fall ist die Standardeinstellung das Koordinatensystem der Eingabe-Features.
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ültiger Schreibweise weisen keine Geometrie auf, und Werte von Datensätzen in den neu hinzugefügten Ausgabefeldern sind leer.
- Für Eingabedatensätze mit ungültiger Schreibweise wird keine Punktgeometrie erstellt. Führen Sie Geometrie überprüfen aus, um nicht konvertierte Datensätze zu ermitteln.
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)
Für DD_1, DDM_1 und DMS_1 sind die zur Darstellung einer Position erforderlichen Breiten- und Längengradwerte in einer Zeichenfolge verkettet und in einem einzelnen Feld gespeichert.
Für DD_2, DDM_2 und DMS_2 sind die Breitengrad- und Längengradwerte in zwei getrennten Feldern dargestellt.
Bei DD_NUMERIC werden die Breitengrad- und Längengradwerte in zwei getrennten Feldern des Typs "Double" gespeichert.
GARS, GEOREF, UTM_ZONES, UTM_BANDS, 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-Koordinatennotation ü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
ConvertCoordinateNotation_management (in_table, out_featureclass, x_field, y_field, input_coordinate_format, output_coordinate_format, {id_field}, {spatial_reference}, {in_coor_system})
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, DD_NUMERIC, DDM_2 und DMS_2 ist dies das Längengradfeld. Für DD_1, DDM_1 und DMS_1 enthält dieses Feld sowohl Breiten- als auch Längengradwerte in einer Zeichenfolge. Für GARS, GEOREF, UTM_ZONES, UTM_BANDS, USNG und MGRS enthält dieses Feld ein alphanumerisches Notationssystem in einem einzelnen Textfeld. Der Parameter y_field wird ignoriert, wenn eines dieser Einzelzeichenfolgenformate ausgewählt wird. | Field |
y_field | Ein Feld aus der Eingabetabelle mit dem Breitengradwert. Bei DD_2, DD_NUMERIC, DDM_2 und DMS_2 ist dies das Längengradfeld. Für DD_1, DDM_1 und DMS_1 enthält dieses Feld sowohl Breiten- als auch Längengradwerte in einer Zeichenfolge. Für GARS, GEOREF, UTM_ZONES, UTM_BANDS, USNG und MGRS enthält dieses Feld ein alphanumerisches Notationssystem in einem einzelnen Textfeld. Dieser Parameter "Y-Feld (Breitengrad)" wird ignoriert, wenn eines dieser Einzelzeichenfolgenformate ausgewählt wird. | Field |
input_coordinate_format | Koordinatenformat der Eingabefelder. Die Standardeinstellung ist "DD_2".
DD, DDM, DMS und UTM 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 einem Qualifizierer liefern weitere Informationen zu den Feldwerten. | String |
output_coordinate_format | Das Koordinatenformat, in das die Eingabeschreibweisen konvertiert werden. Die Standardeinstellung ist "DD_2".
DD, DDM, DMS und UTM 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 einem Qualifizierer liefern weitere Informationen zu den Feldwerten. | String |
id_field (optional) | Dieser Parameter wird ignoriert, da alle systemfremden Felder in die Ausgabetabelle übertragen werden. | Field |
spatial_reference (optional) | Raumbezug der Ausgabe-Feature-Class. Die Standardeinstellung ist "GCS_WGS_1984". Das Werkzeug projiziert die Ausgabe in den angegebenen Raumbezug. Wenn das Eingabe- und Ausgabekoordinatensystem sich an verschiedenen Bezugspunkten befinden, wird eine Standardtransformation auf Grundlage der Koordinatensysteme der Eingabe und der Ausgabe sowie der Datenausdehnung verwendet. | Spatial Reference |
in_coor_system (optional) | Raumbezug der Eingabe-Daten. Wenn der Eingabe-Raumbezug nicht aus der Eingabetabelle abgerufen werden kann, wird die Standardeinstellung GCS_WGS_1984 verwendet. | Coordinate System |
Codebeispiel
ConvertCoordinateNotation – Beispiel 1 (eigenständiges Skript)
Verwendung von "ConvertCoordinateNotation" mit einem Eingabeformatfeld.
# import arcpy module
import arcpy
# set locals variables
in_tab = r"c:\data\notation.gdb\loc_mgrs"
out_pts = r"c:\data\notation.gdb\loc_final"
# call Convert Coordinate Notation with MGRS as input field.
# leaving out spatial reference parameter will default to WGS 1984
arcpy.ConvertCoordinateNotation_management(in_tab, out_pts, "m10d", "#", "MGRS", "DD_1")
ConvertCoordinateNotation – Beispiel 2 (eigenständiges Skript)
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])
ConvertCoordinateNotation – Beispiel 3 (eigenständiges Skript)
Verwendung von "ConvertCoordinateNotation" mit den Formatbeispielen UTM_ZONES und UTM_BANDS.
# imports
import arcpy
arcpy.env.workspace = r"c:\data\ccn.gdb"
# export_utm58 table contains coordinates in UTM_BANDS format
# where N and S indicate latitude bands,
# for example, 58S4144921393176 - here 58S is latitude band
input_table = 'export_utm58'
# the coordinate values in output point table will be in UTM_ZONES format
# for example, 58N4144921393176 - note that it is now 58N because
# the point is in UTM 58 North zone
output_points = 'utm_zone18'
spatial_ref = arcpy.SpatialReference('WGS 1984')
try:
arcpy.ConvertCoordinateNotation_management(input_table, output_points, "LOCS", "",
"UTM_BANDS", "UTM_ZONES", "", spatial_ref)
print(arcpy.GetMessages(0))
except Exception as ex:
print(ex.args[0])
ConvertCoordinateNotation – Beispiel 4 (eigenständiges Skript)
Beispiel "ConvertCoordinateNotation", in dem die Dezimalgradwerte des Ausgabetextes in Gleitkommawerte konvertiert werden. Beachten Sie, dass anstelle von S und W ein Minuszeichen verwendet wird.
# imports
import arcpy
# output from Convert Coordinate Notation tool
# for DD_2 (and also for DD_1) format, the output values are in string format
# for example, for DD_1, the output values may be '43.63872N 116.24135W'
in_table = r"c:\data\ccn.gdb\ccn_dd1"
# add a field of type DOUBLE to store the numeric longitude value
arcpy.AddField_management(in_table, "DDLonDbl", "DOUBLE")
# now call CalculateField tool to convert the values, 'W' is negative
expr = """def convertToDouble(fldval):
val = float(fldval[:-1])
if fldval[-1:] == 'W':
return val * -1.0
else:
return val"""
# DDLon field contains longitudes in a string field
arcpy.CalculateField_management(in_table,"DDLonDbl","convertToDouble(!DDLon!)","PYTHON_9.3",expr)
# add another field to store the numeric longitude value
arcpy.AddField_management(in_table, "DDLatDbl", "DOUBLE")
# call CalculateField again to convert the values, 'S' is negative
expr = """def convertToDouble(fldval):
val = float(fldval[:-1])
if fldval[-1:] == 'S':
return val * -1.0
else:
return val"""
# DDLat field contains latitudes in a string field
arcpy.CalculateField_management(in_table,"DDLatDbl","convertToDouble(!DDLat!)","PYTHON_9.3",expr)
Umgebungen
Lizenzinformationen
- ArcGIS Desktop Basic: Ja
- ArcGIS Desktop Standard: Ja
- ArcGIS Desktop Advanced: Ja