Beschriftung | Erläuterung | Datentyp |
Eingabetabelle | Die Eingabetabelle oder -textdatei. Punkt-Features sind ebenfalls gültig. | Table View |
Ausgabe-Feature-Class | Die Ausgabe-Point-Feature-Class Die Attributtabelle enthält alle Felder der Eingabetabelle und die Felder mit den konvertierten Feldern im Ausgabeformat. | Feature Class |
X-Feld (Längengrad) | Ein Feld aus der Eingabetabelle mit dem Längengradwert. Bei den Optionen DD 2, DD numerisch, DDM 2 und DMS 2 des Parameters Eingabe-Koordinatenformat ist dies das Längengrad-Feld. Bei den Optionen DD 1, DDM 1 und DMS 1 enthält dieses Feld sowohl Breiten- als auch Längengradwerte in einer einzelnen Zeichenfolge. Bei den Optionen Gars, Georef, Georef 16, UTM-Zonen, UTM-Bänder, USNG, USNG 16, MGRS und MGRS 16 enthält dieses Feld eine alphanumerische Notation in einem einzelnen Textfeld. | Field |
Y-Feld (Breitengrad) | Ein Feld aus der Eingabetabelle mit dem Breitengradwert. Bei den Optionen DD 2, DD numerisch, DDM 2 und DMS 2 des Parameters Eingabe-Koordinatenformat ist dies ein Breitengrad-Feld. Dieser Parameter ist nicht aktiv, wenn eines dieser Einzelzeichenfolgenformate ausgewählt wird. | Field |
Eingabe-Koordinatenformat | Gibt das Koordinatenformat der Eingabefelder an. 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 |
Ausgabe-Koordinatenformat | Gibt das Koordinatenformat an, in das die Eingabeschreibweisen konvertiert werden. 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 (optional) | Dieser Parameter wird nicht mehr verwendet, da alle Felder in die Ausgabetabelle übertragen werden. | Field |
Ausgabe-Koordinatensystem (optional) |
Der 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 |
Eingabe-Koordinatensystem (optional) |
Der Raumbezug der Eingabe-Daten. Wenn der Eingabe-Raumbezug nicht aus der Eingabetabelle abgerufen werden kann, wird die Standardeinstellung GCS_WGS_1984 verwendet. | Coordinate System |
Datensätze mit ungültiger Notation ausschließen (optional) | Gibt an, ob Datensätze mit ungültiger Notation ausgeschlossen werden.
| Boolean |
Zusammenfassung
Konvertiert Koordinatenschreibweisen in ein oder zwei Feldern in ein anderes Schreibweisenformat.
Verwendung
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.
Folgende Formate werden unterstützt:
- Dezimalgrad (Decimal Degrees, DD)
- Grad Dezimalminuten (Degrees Decimal Minutes, DDM)
- Grad, Minuten, Sekunden (DMS)
- Global Area Reference System (GARS)
- World Geographic Reference System (GEOREF und GEOREF 16)
- Universelle transversale Mercator-Projektion (UTM)
- United States National Grid (USNG und USNG 16)
- Military Grid Reference System (MGRS und MGRS 16)
Bei den Optionen DD 1, DDM 1 und DMS 1 des Parameters Eingabe-Koordinatenformat müssen die Breiten- und Längengradwerte eine Position darstellen, die verkettet in einem einzigen Feld gespeichert wird.
Bei den Optionen DD 2, DDM 2 und DMS 2 werden die Breiten- und Längengradwerte in zwei getrennten Feldern dargestellt.
Bei der Option DD numerisch werden die Breiten- und Längengradwerte in zwei getrennten Feldern des Typs "Double" gespeichert.
Bei den Optionen Gars, Georef, Georef 16, UTM-Zonen, UTM-Bänder, USNG, USNG 16, MGRS und MGRS 16 sind die Werte Koordinatenformate aus einzelnen Zeichenfolgen. Das bedeutet, dass nur ein Feld die Koordinate enthält.
Bei den Parametern Eingabe-Koordinatenformat und Ausgabe-Koordinatenformat weisen die Optionen MGRS 16 (Beispiel: 11SLT7858811533670379), USNG 16 und Georef 16 eine größere Genauigkeit (16 Stellen) auf als die Äquivalente MGRS (Beispiel: 11SLT78588115), USNG und Georef (8 Stellen).
Alle Felder aus der Eingabetabelle, einschließlich des Feldes OID und der Eingabeformatfelder, werden an die Ausgabe-Point-Feature-Class übertragen. Mit den OID-Feldwerten können gültige Notationen unterschieden werden, die konvertiert werden, wenn der Parameter Datensätze mit ungültiger Notation ausschließen aktiviert ist.
Die Ausgabefeldnamen entsprechen dem Namen der Ausgabe-Koordinatennotation. 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.
Deaktivieren Sie den Parameter Datensätze mit ungültiger Notation ausschließen, um Informationen über alle Eingabedatensätze beizubehalten. Mit dem Werkzeug Geometrie überprüfen können Datensätze mit ungültiger Notation ermittelt werden.
Wenn Datensätze mit ungültiger Notation vorhanden sind, enthalten die Werkzeugmeldungen den Pfad zur Protokolldatei, die die IDs aller ungültigen Datensätze enthält.
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.
Das Werkzeug kann die Zahlennotationen DD, DMS und DDM in andere Ausgabeformate konvertieren, solange die Eingabewerte der Formate DD, DMS und DDM keine Buchstaben enthalten.
Parameter
arcpy.management.ConvertCoordinateNotation(in_table, out_featureclass, x_field, y_field, input_coordinate_format, output_coordinate_format, {id_field}, {spatial_reference}, {in_coor_system}, {exclude_invalid_records})
Name | Erläuterung | Datentyp |
in_table | Die Eingabetabelle oder -textdatei. Punkt-Features sind ebenfalls gültig. | Table View |
out_featureclass | Die Ausgabe-Point-Feature-Class 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 den Optionen DD_2, DD_NUMERIC, DDM_2 und DMS_2 des Parameters input_coordinate_format ist dies das Längengrad-Feld. Bei den Optionen DD_1, DDM_1 und DMS_1 enthält dieses Feld sowohl Breiten- als auch Längengradwerte in einer einzelnen Zeichenfolge. Für die Optionen GARS, GEOREF, GEOREF16, UTM_ZONES, UTM_BANDS, USNG, USNG16, MGRS und MGRS16 enthält dieses Feld ein alphanumerisches Notationssystem in einem einzelnen Textfeld. | Field |
y_field | Ein Feld aus der Eingabetabelle mit dem Breitengradwert. Bei den Optionen DD_2, DD_NUMERIC, DDM_2 und DMS_2 des Parameters input_coordinate_format ist dies das Längengrad-Feld. Dieser Parameter "Y-Feld (Breitengrad)" wird ignoriert, wenn eines dieser Einzelzeichenfolgenformate ausgewählt wird. | Field |
input_coordinate_format | Gibt das Koordinatenformat der Eingabefelder an.
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 | Gibt das Koordinatenformat an, in das die Eingabeschreibweisen konvertiert werden.
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 Felder in die Ausgabetabelle übertragen werden. | Field |
spatial_reference (optional) |
Der 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) |
Der Raumbezug der Eingabe-Daten. Wenn der Eingabe-Raumbezug nicht aus der Eingabetabelle abgerufen werden kann, wird die Standardeinstellung GCS_WGS_1984 verwendet. | Coordinate System |
exclude_invalid_records (optional) | Gibt an, ob Datensätze mit ungültiger Notation ausgeschlossen werden sollen.
| Boolean |
Codebeispiel
Das folgende eigenständige Skript veranschaulicht, wie die Funktion ConvertCoordinateNotation mit einem Eingabeformatfeld verwendet wird.
# 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")
Das folgende eigenständige Skript veranschaulicht, wie die Funktion ConvertCoordinateNotation mit zwei Eingabeformatfeldern verwendet wird.
# 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])
Das folgende eigenständiges Skript veranschaulicht, wie die Funktion ConvertCoordinateNotation mit UTM_ZONES- und UTM_BANDS-Formaten verwendet wird.
# 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])
Das folgende eigenständiges Skript veranschaulicht, wie die Funktion ConvertCoordinateNotation zum Konvertieren der Dezimalgradwerte des Ausgabetextes in Gleitkommawerte verwendet wird. 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)