Koordinatenschreibweise konvertieren (Datenmanagement)

Lizenzstufe:BasicStandardAdvanced

Zusammenfassung

Konvertiert Koordinatenschreibweisen in ein oder zwei Feldern in ein anderes Schreibweisenformat.

Weitere Informationen zu unterstützten Schreibweiseformaten

Verwendung

Syntax

ConvertCoordinateNotation_management (in_table, out_featureclass, x_field, y_field, input_coordinate_format, output_coordinate_format, {id_field}, {output_coordinate_system}, {in_coordinate_system})
ParameterErläuterungDatentyp
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 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.

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_1Sowohl Längengrad- als auch Breitengradwerte befinden sich in einem einzigen Feld. Zwei Werte werden durch ein Leerzeichen, ein Komma oder einen Schrägstrich getrennt.
  • DD_2Längengrad- und Breitengradwerte befinden sich in zwei getrennten Feldern.
  • DDM_1Sowohl Längengrad- als auch Breitengradwerte befinden sich in einem einzigen Feld. Zwei Werte werden durch ein Leerzeichen, ein Komma oder einen Schrägstrich getrennt.
  • DDM_2 Längengrad- und Breitengradwerte befinden sich in zwei getrennten Feldern.
  • DMS_1Sowohl Längengrad- als auch Breitengradwerte befinden sich in einem einzigen Feld. Zwei Werte werden durch ein Leerzeichen, ein Komma oder einen Schrägstrich getrennt.
  • DMS_2Längengrad- und Breitengradwerte befinden sich in zwei getrennten Feldern.
  • GARSGlobal Area Reference System. Basiert auf Längen- und Breitengraden und unterteilt die Welt in Zellen.
  • GEOREFWorld Geographic Reference System. Ein gitterbasiertes System, das die Welt in 15-Grad-Quadrate aufteilt und dann in kleinere Quadrate unterteilt.
  • UTM_ZONESDer Buchstabe N bzw. S nach der UTM-Zonennummer legt nur die Nord- oder Südhalbkugel fest.
  • UTM_BANDSDer Buchstabe nach der UTM-Zonennummer legt eines der 20 Breitengradbänder fest. N oder S bezeichnet keine Halbkugel.
  • USNGUnited States National Grid. Fast identisch mit MGRS, verwendet jedoch North American Datum 1983 (NAD83) als Bezugspunkt.
  • MGRSMilitary Grid Reference System. Folgt den UTM-Koordinaten und unterteilt die Welt in Längengradbänder von 6 Grad und in 20 Breitengradbänder. MGRS unterteilt die Gitterzonen aber noch weiter in kleinere 100.000-Meter-Gitter. Diese 100.000-Meter-Gitter werden dann in 10.000-Meter-, 1.000-Meter-, 100-Meter, 10-Meter und 1-Meter-Gitter unterteilt.
  • SHAPENur verfügbar, wenn ein Punkt-Feature-Layer als Eingabe ausgewählt wird. Die Koordinaten der einzelnen Punkte werden zum Definieren des Ausgabeformats verwendet.

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_1Sowohl Längengrad- als auch Breitengradwerte befinden sich in einem einzigen Feld. Zwei Werte werden durch ein Leerzeichen, ein Komma oder einen Schrägstrich getrennt.
  • DD_2Längengrad- und Breitengradwerte befinden sich in zwei getrennten Feldern.
  • DD_NUMERICLängengrad- und Breitengradwerte befinden sich in zwei getrennten Feldern des Typs "Double". Die Werte im Westen und Süden werden durch ein Minuszeichen gekennzeichnet. In DD_2 liegen die Werte dagegen als Text vor, und die Richtung wird durch N, S, O und W angegeben.
  • DDM_1Sowohl Längengrad- als auch Breitengradwerte befinden sich in einem einzigen Feld. Zwei Werte werden durch ein Leerzeichen, ein Komma oder einen Schrägstrich getrennt.
  • DDM_2 Längengrad- und Breitengradwerte befinden sich in zwei getrennten Feldern.
  • DMS_1Sowohl Längengrad- als auch Breitengradwerte befinden sich in einem einzigen Feld. Zwei Werte werden durch ein Leerzeichen, ein Komma oder einen Schrägstrich getrennt.
  • DMS_2Längengrad- und Breitengradwerte befinden sich in zwei getrennten Feldern.
  • GARSGlobal Area Reference System. Basiert auf Längen- und Breitengraden und unterteilt die Welt in Zellen.
  • GEOREFWorld Geographic Reference System. Ein gitterbasiertes System, das die Welt in 15-Grad-Quadrate aufteilt und dann in kleinere Quadrate unterteilt.
  • UTM_ZONESDer Buchstabe N bzw. S nach der UTM-Zonennummer legt nur die Nord- oder Südhalbkugel fest.
  • UTM_BANDSDer Buchstabe nach der UTM-Zonennummer legt eines der 20 Breitengradbänder fest. N oder S bezeichnet keine Halbkugel.
  • USNGUnited States National Grid. Fast identisch mit MGRS, verwendet jedoch North American Datum 1983 (NAD83) als Bezugspunkt.
  • MGRSMilitary Grid Reference System. Folgt den UTM-Koordinaten und unterteilt die Welt in Längengradbänder von 6 Grad und in 20 Breitengradbänder. MGRS unterteilt die Gitterzonen aber noch weiter in kleinere 100.000-Meter-Gitter. Diese 100.000-Meter-Gitter werden dann in 10.000-Meter-, 1.000-Meter-, 100-Meter, 10-Meter und 1-Meter-Gitter unterteilt.
  • SHAPENur verfügbar, wenn ein Punkt-Feature-Layer als Eingabe ausgewählt wird. Die Koordinaten der einzelnen Punkte werden zum Definieren des Ausgabeformats verwendet.

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)

VeraltetVeraltet:

Dieser Parameter wird ignoriert, da alle systemfremden Felder in die Ausgabetabelle übertragen werden.

Field
output_coordinate_system
(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_coordinate_system
(optional)

Raumbezug der Eingabe-Daten. Wenn der Eingabe-Raumbezug nicht aus der Eingabetabelle abgerufen werden kann, wird die Standardeinstellung GCS_WGS_1984 verwendet.

Spatial Reference

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"""
try:
    # DDLon field contains longitudes in a string field
    arcpy.CalculateField_management(in_table,"DDLonDbl","convertToDouble(!DDLon!)","PYTHON_9.3",expr)
except:
    print arcpy.GetMessages()

    
# 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"""

try:
    # DDLat field contains latitudes in a string field
    arcpy.CalculateField_management(in_table,"DDLatDbl","convertToDouble(!DDLat!)","PYTHON_9.3",expr)
except:
    print arcpy.GetMessages()

Umgebung

Verwandte Themen

Lizenzierungsinformationen

ArcGIS for Desktop Basic: Ja
ArcGIS for Desktop Standard: Ja
ArcGIS for Desktop Advanced: Ja
5/9/2014