SpatialReference クラスを使用する

フィーチャクラス、カバレッジ、ラスタなどのジオグラフィック データセットは、データセットの座標系、x,y ドメイン、M ドメイン、および Z ドメインを定義する空間参照を含んでいます。空間参照の各部分には、座標系をはじめとするいくつかのプロパティがあります。座標系は、水平座標の定義に使用されるマップ投影オプションを定義します。この情報はすべて空間参照プロパティから取得できます。空間参照プロパティは、実際にはいくつかのプロパティを含む別個のオブジェクトです。

import arcpy

# Describe a feature class
#
fc = "D:/St_Johns/data.gdb/roads"
desc = arcpy.Describe(fc)

# Get the spatial reference 
#
sr = desc.spatialReference

# Check if the feature class is in projected space
#
if sr.type == "Projected":
    arcpy.Copy_management(fc,"D:/St_Johns/data.gdb/roads_UTM")

投影(.prj)ファイルを使用した空間参照の作成

空間参照の詳細すべてを Python スクリプトに記述することは実際には難しい場合もあります。SpatialReference クラスの引数として投影ファイルを使用すれば、空間参照のプロパティを簡単に作成でき、オブジェクトをジオプロセシング ツールへの入力として使用できます。次の例では、空間参照は入力引数として指定された投影ファイルを使用して作成されます。

import arcpy

inputWorkspace = "c:/temp"
outputName =  "rivers.shp"

# Get the input workspace, the output name for the new feature class
#  and path to an input projection file
#
inputWorkspace = arcpy.GetParameterAsText(0)
outputName     = arcpy.GetParameterAsText(1)
prjFile        = arcpy.GetParameterAsText(2)

# Use the the projection file as input to the SpatialReference class
#
spatialRef = arcpy.SpatialReference(prjFile)

# Use the SpatialReference object to create a new feature class with a 
#  specific coordinate system
#
arcpy.CreateFeatureClass_management(inputWorkspace, outputName, 
                                    "POLYLINE", "", "", "", spatialRef)
注意注意:

プロパティとメソッドの詳細なリストについては、SpatialReference クラスをご参照ください。

注意注意:

空間参照は、投影エンジン文字列と呼ばれることもあります。投影エンジン(PE)は、地図投影の定義と投影の変換のために ArcGIS 全体で使用されるコードのライブラリです。

関連項目


7/10/2012