ラベル | 説明 | データ タイプ |
入力データセット、またはフィーチャクラス | 投影法を定義するデータセットまたはフィーチャクラス。 | Feature Layer;Geodataset |
座標系 | 入力に適用される座標系。デフォルト値は、[出力データの座標系] 環境設定に基づいて設定されます。 | Coordinate System |
派生した出力
ラベル | 説明 | データ タイプ |
入力データセットまたはフィーチャクラスの更新 | 更新された入力ジオデータセット。 | ジオデータセット |
データセットとともに格納されている座標系情報 (マップの投影法と測地基準) を上書きします。このツールは、不明または無効な座標系が定義されているデータセットを対象にしています。
すべての地理データセットには座標系があり、地理データの表示、計測、変換のために ArcGIS で常に使用されます。データセットの座標系が不明または不正の場合、このツールを使用して、正しい座標系を指定できます。このツールを使用する前に、データセットの正しい座標系を知る必要があります。
このツールは、既存の座標系情報の更新だけを行います。ジオメトリは変更しません。ジオメトリを別の座標系に変換するには、[投影変換 (Project)] ツールを使用します。
このツールが最もよく使用されるのは、既知の座標系を座標系が不明なデータセット (つまり、データセット プロパティの座標系が「不明」) に割り当てることです。別の用途としては、正しい座標系を不正な座標系が定義されたデータセットに割り当てることです (たとえば、座標が UTM メートルである一方で、地理座標系に定義されている場合など)。
既知の座標系を持つデータセットをこのツールに入力すると、ツールは警告を発行しますが、正常に実行します。
フィーチャ データセット内のフィーチャクラスはすべて、同じ座標系になります。ジオデータベース データセットの座標系は、作成時に決定されます。データセットがフィーチャクラスを含むと、その座標系は変更できません。
ラベル | 説明 | データ タイプ |
入力データセット、またはフィーチャクラス | 投影法を定義するデータセットまたはフィーチャクラス。 | Feature Layer;Geodataset |
座標系 | 入力に適用される座標系。デフォルト値は、[出力データの座標系] 環境設定に基づいて設定されます。 | Coordinate System |
ラベル | 説明 | データ タイプ |
入力データセットまたはフィーチャクラスの更新 | 更新された入力ジオデータセット。 | ジオデータセット |
arcpy.management.DefineProjection(in_dataset, coor_system)
名前 | 説明 | データ タイプ |
in_dataset | 投影法を定義するデータセットまたはフィーチャクラス。 | Feature Layer;Geodataset |
coor_system | 入力に適用される座標系。デフォルト値は、[出力データの座標系] 環境設定に基づいて設定されます。 有効な値は、SpatialReferenceオブジェクト、拡張子が .prj のファイル、または座標系の文字列表現です。 | Coordinate System |
名前 | 説明 | データ タイプ |
out_dataset | 更新された入力ジオデータセット。 | ジオデータセット |
次の Python ウィンドウ スクリプトは、イミディエイト モードで DefineProjection 関数を使用する方法を示しています。
import arcpy
infc = r"C:\data\citylim_unk.shp"
sr = arcpy.SpatialReference("NAD 1983 UTM Zone 11N")
arcpy.DefineProjection_management(infc, sr)
次のスタンドアロン スクリプトは、DefineProjection 関数を使用して、入力データセットの座標系情報を記録します。
# Name: DefineProjection.py
# Description: Records the coordinate system information for the specified input dataset or feature class
# import system modules
import arcpy
# set workspace environment
arcpy.env.workspace = "C:/data"
try:
# set local variables
in_dataset = "citylim_unk.shp" #"forest.shp"
# get the coordinate system by describing a feature class
dsc = arcpy.Describe("citylim_utm11.shp")
coord_sys = dsc.spatialReference
# run the tool
arcpy.DefineProjection_management(in_dataset, coord_sys)
# print messages when the tool runs successfully
print(arcpy.GetMessages(0))
except arcpy.ExecuteError:
print(arcpy.GetMessages(2))
except Exception as ex:
print(ex.args[0])