投影変換のバッチ処理(Batch Project) (データ管理)
サマリ
複数の入力フィーチャクラスまたはフィーチャ データセットの座標系を共通の座標系に変更します。単一のフィーチャクラスまたはデータセットの座標系を変更する場合は、[投影変換(Project)] ツールを使用してください。
使用法
-
[投影変換(Project)] ツールに有効な入力であるすべてのフィーチャクラスやフィーチャ データセットが、このツールでも有効な入力になります。
-
[出力データの座標系] と [テンプレートとするデータセット] はどちらもオプションのパラメータですが、どちらか 1 つを入力する必要があります。これら両方のパラメータを空のままにしておくと、ツールの実行が失敗します。
必要な場合、出力座標系、入力座標系、入力データセットの範囲に基づいて、各入力データセットに対して [地理座標系変換] が計算されます。
-
フィーチャクラスやデータセットの座標系が定義されていないか、「不明」である場合は、このツールで処理する前に、[投影法の定義(Define Projection)] ツールを使用して、座標系を定義する必要があります。
-
出力フィーチャクラスの名前には、入力フィーチャクラスの名前が使用されます。たとえば、入力が「C:\myworkspace\Gondor.shp」である場合、出力フィーチャの名前は「Gondor.shp」になります。同じ名前が出力ワークスペース内にすでに存在している場合は、名前の重複を回避するために、その名前の末尾に「_1」などのような番号が付加されます(Gondor_1.shp)。
構文
パラメータ | 説明 | データ タイプ |
Input_Feature_Class_or_Dataset [Input_Feature_Class_or_Dataset,...] |
座標を変換する対象となる複数の入力フィーチャクラスまたはフィーチャ データセット | Geodataset |
Output_Workspace |
新しい各出力フィーチャクラスまたはフィーチャ データセットを配置する場所 | Feature Dataset; Workspace |
Output_Coordinate_System (オプション) |
入力の投影に使用する座標系 有効な値は、空間参照オブジェクト、拡張子が「.prj」のファイル、または座標系の文字列表現です。 | Coordinate System |
Template_dataset (オプション) |
投影に使用する出力座標系を指定するために使用するフィーチャクラスまたはフィーチャ データセット | Geodataset |
Transformation (オプション) |
2 つの地理座標系(データ)間でデータを変換するために適用する地理座標系変換の名前 | String |
コードのサンプル
次の Python ウィンドウ スクリプトで、BatchProject(投影変換のバッチ処理)関数をイミディエイト モードで使用する方法を示します。
import arcpy
arcpy.env.workspace = "C:/data/input/batchproject"
arcpy.BatchProject_management(["citylim.shp", "flood.shp", "faultzn.shp"], "C:/data/output/batchproject", "", "C:/data/usa.gdb/templatefc")
次の Python スクリプトで、BatchProject(投影変換のバッチ処理)関数をスタンドアロン スクリプトで使用する方法を示します。
# Name: BatchProject.py
# Description: Changes coordinate systems of several datasets in a batch.
import arcpy
from arcpy import env
# Set workspace environment
env.workspace = "C:/data/wgs1972.gdb"
# Input feature classes
input_features = ["cities", "counties", "blocks", "crime"]
# Output workspace
out_workspace = "C:/data/output.gdb"
# Output coordinate system - leave it empty
out_cs = ''
# Template dataset - it has GCS_WGS_1984 coordinate system
template = "C:/data/wgs1984.gdb/stateparks"
# Geographic transformation -
transformation = "WGS_1972_To_WGS_1984_1"
try:
res = arcpy.BatchProject(input_features, out_workspace, out_cs, template, transformation)
if res.maxSeverity == 0:
print "projection of all datasets successful"
else:
print "failed to project one or more datasets"
except:
print res.getMessages()