座標表記の変換 (Convert Coordinate Notation) (データ管理)

サマリー

1 つまたは 2 つのフィールドに含まれている座標表記の形式を変換します。

サポートされている表記形式の詳細

使用法

  • [X フィールド (経度)] および [Y フィールド (緯度)] の値に格納される値の座標系は、[入力データの座標系] パラメーターで指定されます。 入力テーブルがフィーチャクラスでない限り、デフォルトは GCS_WGS_1984 です。入力テーブルがフィーチャクラスである場合、デフォルトは入力フィーチャの座標系です。

  • 以下の形式がサポートされています。

    • 度 (10 進) (DD)
    • 度分 (10 進) (DDM)
    • 度分秒 (DMS)
    • GARS (Global Area Reference System)
    • GEOREF (World Geographic ReferenceSystem) および GEOREF 16
    • ユニバーサル横メルカトル図法 (UTM)
    • USNG (United States National Grid) および USNG 16
    • MGRS (Military Grid Reference System) および MGRS 16

  • [入力座標の形式] パラメーターのオプション [DD 1][DDM 1]、および [DMS 1] の場合、緯度と経度の値は、連結されて単一のフィールドに格納される位置を表す必要があります。

    [DD 2][DDM 2][DMS 2] オプションの場合、緯度と経度の値は 2 つの異なるフィールドによって表されます。

    [DD 数値] オプションの場合、緯度と経度の値は double タイプの 2 つの異なるフィールドに格納されます。

    [GARS][GEOREF][GEOREF 16][UTM ゾーン][UTM バンド][USNG][USNG 16][MGRS]、および [MGRS 16] オプションの場合、値は単一文字列の座標形式です。これは、1 つのフィールドだけに座標が格納されることを意味しています。

  • [入力座標の形式] および [出力座標の形式] パラメーターでは、[MGRS 16] (例: 11SLT7858811533670379)、[USNG 16]、および [Georef 16] オプションの精度 (16 桁) の方が、対応する [MGRS] (例: 11SLT78588115)、[USNG]、および [GEOREF] オプション (8 桁) よりも高くなります。

  • OID フィールドや入力形式フィールドを含め、入力テーブルのすべてのフィールドは、出力ポイント フィーチャクラスに移行されます。 OID フィールド値を使用すると、[表記が無効なレコードを除外] パラメーターをオンにした場合に変換される有効な表記を区別できます。

    出力フィールド名は、出力の座標表記の名前に一致します。 たとえば、出力形式が [MGRS] の場合、新しい出力フィールド名は MGRS になります。

    入力フィールドと同じ名前のフィールドが出力にすでに存在する場合、コピーされたフィールドの名前には一意の数字が追加されます。

  • [表記が無効なレコードを除外] パラメーターをオフにすると、すべての入力レコードに関する情報が維持されます。 [ジオメトリのチェック (Check Geometry)] ツールを使用して、表記が無効なレコードを識別できます。

    表記が無効なレコードが存在する場合、ツールのメッセージに、すべての無効なレコードの ID が出力されたログ ファイルのパスが含まれます。

  • [XY 座標の追加 (Add XY Coordinates)] ツールを使用すると、POINT_XPOINT_Y という 2 つのフィールドを出力ポイント フィーチャクラスに追加できます。 これらのフィールドには、ポイントの座標が、フィーチャクラスの座標系の単位で入ります。

  • このツールは、DD、DMS、および DDM 形式の入力値に文字が含まれていない限り、数値表記 DD、DMS、および DDM を他の出力形式に変換することができます。

パラメーター

ラベル説明データ タイプ
入力テーブル

入力テーブルまたはテキスト ファイル。 ポイント フィーチャも有効です。

Table View
出力フィーチャクラス

出力ポイント フィーチャクラス。 属性テーブルには、出力形式に変換された値を含むフィールドに加えて、入力テーブルのすべてのフィールドが含まれます。

Feature Class
X フィールド (経度)

経度の値を含む入力テーブルからのフィールド。

[入力座標の形式] パラメーターの [DD 2][DD 数値][DDM 2]、および [DMS 2] オプションの場合、これは経度フィールドになります。

[DD 1][DDM 1]、および [DMS 1] オプションの場合、このフィールドには、緯度と経度の両方の値が単一の文字列形式で含まれます。

[GARS][GEOREF][GEOREF 16][UTM ゾーン][UTM バンド][USNG][USNG 16][MGRS]、および [MGRS 16] オプションの場合、このフィールドでは、1 つのテキスト フィールドに英数字表記が含まれます。

Field
Y フィールド (緯度)

緯度の値を含む入力テーブルからのフィールド。

[入力座標の形式] パラメーターの [DD 2][DD 数値][DDM 2]、および [DMS 2] オプションの場合、これは緯度フィールドになります。

1 列フォーマットの 1 つを選択すると、このパラメーターは非アクティブになります。

Field
入力座標の形式

入力フィールドの座標形式を指定します。

DD、DDM、DMS、UTM も有効なキーワードです。これらを使用するには、(ダイアログで) 入力したり、スクリプトから値を渡したりします。アンダースコアおよび修飾子のあるキーワードは、フィールド値の詳細を示しています。

  • DD 1経度と緯度の値が 1 つのフィールドに入っています。2 つの値は、スペース、カンマ、またはスラッシュで区切られます。
  • DD 2経度と緯度の値が 2 つのフィールドに入っています。これがデフォルトです。
  • DDM 1経度と緯度の値が 1 つのフィールドに入っています。2 つの値は、スペース、カンマ、またはスラッシュで区切られます。
  • DDM 2 経度と緯度の値が 2 つのフィールドに入っています。
  • DMS 1経度と緯度の値が 1 つのフィールドに入っています。2 つの値は、スペース、カンマ、またはスラッシュで区切られます。
  • DMS 2経度と緯度の値が 2 つのフィールドに入っています。
  • GARSGlobal Area Reference System。緯度と経度に基づき、世界をセルに分割します。
  • GEOREFWorld Geographic Reference System。グリッドベースの参照系で、世界を 15 度の地図に分割してから、さらに小さな地図に分割します。
  • GEOREF 16World Geographic Reference System (16 桁の精度)
  • UTM ゾーンUTM ゾーン番号の後ろの文字「N」または「S」で、北半球または南半球が指定されます。
  • UTM バンドUTM ゾーン番号の後ろの文字で、20 の緯度バンドのうちの 1 つが指定されます。「N」または「S」で半球が指定されます。
  • USNGUnited States National Grid。MGRS とほぼ同じですが、測地基準系として NAD83 (North American Datum 1983) を使用します。
  • USNG 16United States National Grid (16 桁の高精度)
  • MGRSMilitary Grid Reference System。UTM 座標に従い、6 度の経度バンドと 20 の緯度バンドに分割しますが、MGRS ではグリッド ゾーンをさらに小さな 100,000 メートルのグリッドに分割します。これら 100,000 メートルのグリッドは、10,000 メートル、1,000 メートル、100 メートル、10 メートル、1 メートルのグリッドに分割されます。
  • MGRS 16Military Grid Reference System (16 桁の精度)
  • シェープ入力としてポイント フィーチャ レイヤーが選択された場合のみ使用できます。各ポイントの座標は、出力形式を定義するために使用されます。
String
出力座標の形式

入力表記が変換される座標形式を指定します。

DD、DDM、DMS、UTM も有効なキーワードです。これらを使用するには、(ダイアログで) 入力したり、スクリプトから値を渡したりします。アンダースコアおよび修飾子のあるキーワードは、フィールド値の詳細を示しています。

  • DD 1経度と緯度の値が 1 つのフィールドに入っています。2 つの値は、スペース、カンマ、またはスラッシュで区切られます。
  • DD 2経度と緯度の値が 2 つのフィールドに入っています。
  • DD 数値経度と緯度の値が double タイプの 2 つのフィールドに入っています。 西と南の値はマイナス記号で示されます。
  • DDM 1経度と緯度の値が 1 つのフィールドに入っています。2 つの値は、スペース、カンマ、またはスラッシュで区切られます。
  • DDM 2 経度と緯度の値が 2 つのフィールドに入っています。
  • DMS 1経度と緯度の値が 1 つのフィールドに入っています。2 つの値は、スペース、カンマ、またはスラッシュで区切られます。
  • DMS 2経度と緯度の値が 2 つのフィールドに入っています。
  • GARSGlobal Area Reference System。緯度と経度に基づき、世界をセルに分割します。
  • GEOREFWorld Geographic Reference System。グリッドベースの参照系で、世界を 15 度の地図に分割してから、さらに小さな地図に分割します。
  • GEOREF 16World Geographic Reference System (16 桁の精度)
  • UTM ゾーンUTM ゾーン番号の後ろの文字「N」または「S」で、北半球または南半球が指定されます。
  • UTM バンドUTM ゾーン番号の後ろの文字で、20 の緯度バンドのうちの 1 つが指定されます。「N」または「S」で半球が指定されます。
  • USNGUnited States National Grid。MGRS とほぼ同じですが、測地基準系として NAD83 (North American Datum 1983) を使用します。
  • USNG 16United States National Grid (16 桁の高精度)
  • MGRSMilitary Grid Reference System。UTM 座標に従い、6 度の経度バンドと 20 の緯度バンドに分割しますが、MGRS ではグリッド ゾーンをさらに小さな 100,000 メートルのグリッドに分割します。これら 100,000 メートルのグリッドは、10,000 メートル、1,000 メートル、100 メートル、10 メートル、1 メートルのグリッドに分割されます。
  • MGRS 16Military Grid Reference System (16 桁の精度)
String
ID
(オプション)

すべてのフィールドが出力テーブルに転送されるため、このパラメーターは現在使用されていません。

Field
出力座標系
(オプション)

出力フィーチャクラスの空間参照。 デフォルトは GCS_WGS_1984 です。

このツールは、指定された空間参照に出力を投影します。 入力および出力座標系の測地基準系が異なる場合、入力および出力の座標系とデータの範囲に基づいて、デフォルトの変換が使用されます。

Spatial Reference
入力データの座標系
(オプション)

入力データの空間参照。 入力テーブルから入力空間参照を取得できない場合は、デフォルトの GCS_WGS_1984 が使用されます。

Coordinate System
表記が無効なレコードを除外
(オプション)

表記が無効なレコードを除外するかどうかを指定します。

  • オフ - 無効なレコードが除外され、有効なレコードのみが出力でポイントに変換されます。 これがデフォルトです。
  • オン - 有効なレコードが出力でポイントに変換され、無効なレコードは NULL ジオメトリとして含まれます。

Boolean

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})
名前説明データ タイプ
in_table

入力テーブルまたはテキスト ファイル。 ポイント フィーチャも有効です。

Table View
out_featureclass

出力ポイント フィーチャクラス。 属性テーブルには、出力形式に変換された値を含むフィールドに加えて、入力テーブルのすべてのフィールドが含まれます。

Feature Class
x_field

経度の値を含む入力テーブルからのフィールド。

input_coordinate_format パラメーターの DD_2DD_NUMERICDDM_2、および DMS_2 オプションの場合、これは経度フィールドになります。

DD_1DDM_1、および DMS_1 オプションの場合、このフィールドには、緯度と経度の両方の値が単一の文字列形式で含まれます。

GARSGEOREFGEOREF16UTM_ZONESUTM_BANDSUSNGUSNG16MGRSMGRS16 の各オプションでは、このフィールドでは、1 つのテキスト フィールドに英数字表記が含まれます。

Field
y_field

緯度の値を含む入力テーブルからのフィールド。

input_coordinate_format パラメーターの DD_2DD_NUMERICDDM_2、および DMS_2 オプションの場合、これは経度フィールドになります。

1 列フォーマットの 1 つを選択すると、このパラメーターは無視されます。

Field
input_coordinate_format

入力フィールドの座標形式を指定します。

  • DD_1経度と緯度の値が 1 つのフィールドに入っています。2 つの値は、スペース、カンマ、またはスラッシュで区切られます。
  • DD_2経度と緯度の値が 2 つのフィールドに入っています。これがデフォルトです。
  • DDM_1経度と緯度の値が 1 つのフィールドに入っています。2 つの値は、スペース、カンマ、またはスラッシュで区切られます。
  • DDM_2 経度と緯度の値が 2 つのフィールドに入っています。
  • DMS_1経度と緯度の値が 1 つのフィールドに入っています。2 つの値は、スペース、カンマ、またはスラッシュで区切られます。
  • DMS_2経度と緯度の値が 2 つのフィールドに入っています。
  • GARSGlobal Area Reference System。緯度と経度に基づき、世界をセルに分割します。
  • GEOREFWorld Geographic Reference System。グリッドベースの参照系で、世界を 15 度の地図に分割してから、さらに小さな地図に分割します。
  • GEOREF16World Geographic Reference System (16 桁の精度)
  • UTM_ZONESUTM ゾーン番号の後ろの文字「N」または「S」で、北半球または南半球が指定されます。
  • UTM_BANDSUTM ゾーン番号の後ろの文字で、20 の緯度バンドのうちの 1 つが指定されます。「N」または「S」で半球が指定されます。
  • USNGUnited States National Grid。MGRS とほぼ同じですが、測地基準系として NAD83 (North American Datum 1983) を使用します。
  • USNG16United States National Grid (16 桁の高精度)
  • MGRSMilitary Grid Reference System。UTM 座標に従い、6 度の経度バンドと 20 の緯度バンドに分割しますが、MGRS ではグリッド ゾーンをさらに小さな 100,000 メートルのグリッドに分割します。これら 100,000 メートルのグリッドは、10,000 メートル、1,000 メートル、100 メートル、10 メートル、1 メートルのグリッドに分割されます。
  • MGRS16Military Grid Reference System (16 桁の精度)
  • SHAPE入力としてポイント フィーチャ レイヤーが選択された場合のみ使用できます。各ポイントの座標は、出力形式を定義するために使用されます。

DD、DDM、DMS、UTM も有効なキーワードです。これらを使用するには、(ダイアログで) 入力したり、スクリプトから値を渡したりします。アンダースコアおよび修飾子のあるキーワードは、フィールド値の詳細を示しています。

String
output_coordinate_format

入力表記が変換される座標形式を指定します。

  • DD_1経度と緯度の値が 1 つのフィールドに入っています。2 つの値は、スペース、カンマ、またはスラッシュで区切られます。
  • DD_2経度と緯度の値が 2 つのフィールドに入っています。
  • DD_NUMERIC経度と緯度の値が double タイプの 2 つのフィールドに入っています。 西と南の値はマイナス記号で示されます。
  • DDM_1経度と緯度の値が 1 つのフィールドに入っています。2 つの値は、スペース、カンマ、またはスラッシュで区切られます。
  • DDM_2 経度と緯度の値が 2 つのフィールドに入っています。
  • DMS_1経度と緯度の値が 1 つのフィールドに入っています。2 つの値は、スペース、カンマ、またはスラッシュで区切られます。
  • DMS_2経度と緯度の値が 2 つのフィールドに入っています。
  • GARSGlobal Area Reference System。緯度と経度に基づき、世界をセルに分割します。
  • GEOREFWorld Geographic Reference System。グリッドベースの参照系で、世界を 15 度の地図に分割してから、さらに小さな地図に分割します。
  • GEOREF16World Geographic Reference System (16 桁の精度)
  • UTM_ZONESUTM ゾーン番号の後ろの文字「N」または「S」で、北半球または南半球が指定されます。
  • UTM_BANDSUTM ゾーン番号の後ろの文字で、20 の緯度バンドのうちの 1 つが指定されます。「N」または「S」で半球が指定されます。
  • USNGUnited States National Grid。MGRS とほぼ同じですが、測地基準系として NAD83 (North American Datum 1983) を使用します。
  • USNG16United States National Grid (16 桁の高精度)
  • MGRSMilitary Grid Reference System。UTM 座標に従い、6 度の経度バンドと 20 の緯度バンドに分割しますが、MGRS ではグリッド ゾーンをさらに小さな 100,000 メートルのグリッドに分割します。これら 100,000 メートルのグリッドは、10,000 メートル、1,000 メートル、100 メートル、10 メートル、1 メートルのグリッドに分割されます。
  • MGRS16Military Grid Reference System (16 桁の精度)

DD、DDM、DMS、UTM も有効なキーワードです。これらを使用するには、(ダイアログで) 入力したり、スクリプトから値を渡したりします。アンダースコアおよび修飾子のあるキーワードは、フィールド値の詳細を示しています。

String
id_field
(オプション)

すべてのフィールドが出力テーブルに転送されるため、このパラメーターは無視されます。

Field
spatial_reference
(オプション)

出力フィーチャクラスの空間参照。 デフォルトは GCS_WGS_1984 です。

このツールは、指定された空間参照に出力を投影します。 入力および出力座標系の測地基準系が異なる場合、入力および出力の座標系とデータの範囲に基づいて、デフォルトの変換が使用されます。

Spatial Reference
in_coor_system
(オプション)

入力データの空間参照。 入力テーブルから入力空間参照を取得できない場合は、デフォルトの GCS_WGS_1984 が使用されます。

Coordinate System
exclude_invalid_records
(オプション)

表記が無効なレコードを除外するかどうかを指定します。

  • EXCLUDE_INVALID無効なレコードが除外され、有効なレコードのみが出力でポイントに変換されます。 これがデフォルトです。
  • INCLUDE_INVALID有効なレコードが出力でポイントに変換され、無効なレコードは NULL ジオメトリとして含まれます。
Boolean

コードのサンプル

ConvertCoordinateNotation の例 1 (スタンドアロン スクリプト)

次のスタンドアロン スクリプトは、1 つの入力形式フィールドを含む ConvertCoordinateNotation 関数の使用方法を示しています。

# 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 の例 2 (スタンドアロン スクリプト)

次のスタンドアロン スクリプトは、2 つの入力形式フィールドを含む ConvertCoordinateNotation 関数の使用方法を示しています。

# 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 の例 3 (スタンドアロン スクリプト)

次のスタンドアロン スクリプトは、UTM_ZONES 形式と UTM_BANDS 形式を含む ConvertCoordinateNotation 関数の使用方法を示しています。

# 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 の例 4 (スタンドアロン スクリプト)

次のスタンドアロン スクリプトは、出力テキストの 10 進度値を浮動小数点値に変換するための ConvertCoordinateNotation 関数の使用方法を示しています。 S および W の代わりに、マイナス記号が使用されることに注意してください。

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

関連トピック