サマリー
このツールは、データセットとともに格納されている座標系情報 (マップの投影法と測地基準) を上書きします。このツールを使用するのは、不明または不正な座標系が定義されたデータセットに対してだけです。
すべての地理データセットには座標系があり、地理データの表示、計測、変換のために ArcGIS で常に使用されます。データセットの座標系が不明または不正の場合、このツールを使用して、正しい座標系を指定できます。このツールを使用する前に、データセットの正しい座標系を知る必要があります。
使用法
このツールは、既存の座標系情報の更新だけを行います。ジオメトリは変更しません。ジオメトリを別の座標系に変換するには、[投影変換 (Project)] ツールを使用します。
このツールが最もよく使用されるのは、既知の座標系を座標系が不明なデータセット (つまり、データセット プロパティの座標系が「不明」) に割り当てることです。別の用途としては、正しい座標系を不正な座標系が定義されたデータセットに割り当てることです (たとえば、座標が UTM メートルである一方で、地理座標系に定義されている場合など)。
既知の座標系を持つデータセットをこのツールに入力すると、ツールは警告を発行しますが、正常に実行します。
フィーチャ データセット内のフィーチャクラスはすべて、同じ座標系になります。ジオデータベース データセットの座標系は、作成時に決定されます。データセットがフィーチャクラスを含むと、その座標系は変更できません。
構文
DefineProjection_management (in_dataset, coor_system)
パラメーター | 説明 | データ タイプ |
in_dataset | 投影法を定義するデータセットまたはフィーチャクラス。 | Feature Layer;Geodataset |
coor_system | 有効な値は、空間参照オブジェクト、拡張子が「.prj」のファイル、または座標系の文字列表現です。 | Coordinate System |
コードのサンプル
DefineProjection (投影法の定義) の例 (Python ウィンドウ)
次の 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 (投影法の定義) の例 (スタンドアロン スクリプト)
次のスタンドアロン スクリプトは、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])
環境
ライセンス情報
- ArcGIS Desktop Basic: はい
- ArcGIS Desktop Standard: はい
- ArcGIS Desktop Advanced: はい