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)
- 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 werden 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 werden die Breitengrad- und Längengradwerte in zwei getrennten Feldern dargestellt.
Für 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 Felder aus der Eingabetabelle, einschließlich des OID-Feldes 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 Datensätze mit ungültiger Notation ausschließen aktiviert ist.
Die Ausgabefeldnamen stimmen mit dem Namen der Ausgabe-Koordinatennotation überein. Wenn z. B. das Ausgabeformat MGRS ist, lautet 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.
Syntax
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})
Parameter | Erklärung | Datentyp |
in_table | Die Tabelle kann eine Textdatei oder eine Tabelle sein. 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. Für DD_2, DD_NUMERIC, DDM_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. Für 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 Standardvorgabe 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 Standardvorgabe 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 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 |
exclude_invalid_records (optional) | Wenn exclude_invalid_records auf True festgelegt ist, werden für die Ausgabe nur gültige Notationen in Punkte konvertiert. Ansonsten werden ungültige Datensätze als Null-Geometrie einbezogen.
| Boolean |
Codebeispiel
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")
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])
Verwendung von ConvertCoordinateNotation mit UTM_ZONES- und UTM_BANDS-Formaten – Beispiel
# 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])
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
- Basic: Ja
- Standard: Ja
- Advanced: Ja