座標表記の変換 (データ管理)
使用法
入力テーブルはテキスト ファイルまたは ArcGIS がサポートする任意のテーブルを使用できます。
出力は、有効な表記を持つ各入力位置がポイントとして表現されたポイント フィーチャクラスです。表記が無効なレコードはジオメトリを持たず、新たに追加された出力フィールドは空になります。
変換されない無効な表記を持つレコードの ID は、ConvertCoordinateNotation<x>.log(<x> は任意の数字)という名前のテキスト ファイルにリストされます。ファイルは、ユーザの Temp フォルダに保存されます。たとえば Windows 7 の場合、ディレクトリは Users\<ユーザ>\AppData\Local\Temp になります。UNIX システムの場合、ファイルは、ユーザのホーム ディレクトリにある $TMP の下にあります。
以下の形式がサポートされています。
- 度(10 進)(DD)
- 度分(10進)(DDM)
- 度分秒(DMS)
- GARS(Global Area Reference System)
- GEOREF(World Geographic ReferenceSystem)
- ユニバーサル横メルカトル図法(UTM)
- USNG(United States National Grid)
- MGRS(Military Grid Reference System)
入力または出力の形式として、任意の形式を使用できます。たとえば、値を変換するために入力および出力形式として DMS を使用し、位置のポイント フィーチャクラスを取得できます。
DD_1、DDM_1、DMS_1 の場合、位置を表すのに緯度と経度の 2 つの値が必要です。これらの 2 つの値は 1 つの文字列に連結されて、1 つのフィールドに格納されます。
DD_2、DDM_2、DMS_2 の場合、緯度と経度の値は別々の 2 つのフィールドによって表されます。
GARS、GEOREF、UTM、USNG、および MGRS は単一文字列の座標形式です。これは、1 つのフィールドだけに座標が格納されることを意味しています。
詳細については、後述する [入力座標の形式] パラメータの説明をご参照ください。
入力形式フィールドなどの、入力テーブルのシステム フィールド以外のすべてのフィールドは、出力ポイント フィーチャクラスに変換されます。
出力フィールドの名前は、出力座標表記の名前と一致します。たとえば、出力形式が MGRS の場合、新しい出力フィールド名は MGRS になります。
入力フィールドと同じ名前のフィールドが出力にすでに存在する場合、コピーされたフィールドの名前には一意の数字が追加されます。
[XY 座標の追加(Add XY Coordinates)] ツールを使用すると、POINT_X フィールドおよび POINT_Y フィールドという 2 つのフィールドを出力ポイント フィーチャクラスに追加できます。これらのフィールドには、ポイントの座標が、フィーチャクラスの座標系の単位で入ります。
構文
パラメータ | 説明 | データ タイプ |
in_table |
変換する座標表記を持つフィールドを含むテーブル。 | Table View |
out_featureclass |
ポイントの出力フィーチャクラス。属性テーブルには、出力形式に変換された値を含むフィールドに加えて、入力テーブルのすべてのフィールドが含まれます。 | Feature Class |
x_field |
経度の値を含む入力テーブルからのフィールド。DD_2、DDM_2、DMS_2 の場合、これは経度フィールドです。 DD_1、DDM_1、DMS_1、GARS、GEOREF、UTM、USNG、および MGRS の場合、これは、緯度と経度を含むフィールドです。 | Field |
y_field |
緯度の値を含む入力テーブルからのフィールド。DD_2、DDM_2、DMS_2 の場合、これは緯度フィールドです。このパラメータは、DD_1、DDM_1、DMS_1、GARS、GEOREF、UTM、USNG、および MGRS では無視されます。 | Field |
input_coordinate_format |
入力フィールドの座標形式。デフォルトは DD_2 です。
DD、DDM、DMS も有効なキーワードです。これらを使用するには、(ダイアログで)入力したり、スクリプトから値を渡したりします。ただし、アンダースコアと数字付きのキーワードは、値が 1 つのフィールドと 2 つのフィールドのどちらから取得されたのかを示します。 | String |
output_coordinate_format |
入力表記が変換される座標形式。デフォルトは DD_2 です。
DD、DDM、DMS も有効なキーワードです。これらを使用するには、(ダイアログで)入力したり、スクリプトから値を渡したりします。ただし、アンダースコアと数字付きのキーワードは、値が 1 つのフィールドと 2 つのフィールドのどちらから取得されたのかを示します。 | String |
id_field (オプション) |
入力テーブルの任意のフィールド。選択されたフィールドは、出力テーブルにコピーされます。このフィールドの値が一意である場合、これを使用して出力レコードを入力テーブルと結合することができます。 | Field |
spatial_reference (オプション) |
出力ポイント フィーチャクラスの空間参照。デフォルトは GCS_WGS_1984 です。 出力と入力の座標系が異なる場合、ツールはデータを投影変換します。入力と出力の測地基準系が異なる場合、入力および出力の座標系とデータの範囲に基づいて、デフォルトの変換が計算されます。 | Spatial Reference |
コードのサンプル
1 つの入力形式のフィールドによる ConvertCoordinateNotation(座標表記の変換)の使用例。
#Imports
import arcpy
#Locals
in_tab = r"c:\workspace\inmed.gdb\loc_mgrs"
out_pts = r"c:\workspace\inmed.gdb\loc_final"
#Convert Coordinate Notation with MGRS as input field.
arcpy.ConvertCoordinateNotation_management(in_tab,out_pts,"m10d","#","MGRS","DD_1")
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])