投影変換のバッチ処理(Batch Project) (データの管理)
サマリ
複数の入力フィーチャクラスまたはフィーチャ データセットの座標系を共通の座標系に変更します。単一のフィーチャクラスまたはデータセットの座標系を変更する場合は、[投影変換 (Project)] ツールを使用してください。
使用法
-
[投影変換 (Project)] ツールに有効な入力であるすべてのフィーチャクラスやフィーチャ データセットが、このツールでも有効な入力になります。
-
[出力データの座標系] と [テンプレートとするデータセット] はどちらもオプションのパラメータですが、どちらか 1 つを入力する必要があります。これら両方のパラメータを空のままにしておくと、ツールの実行が失敗します。
-
このツールでは、変換が必要かどうかの整合チェックは行われないため、初めに入力の 1 つで [投影変換 (Project)] ツールを使用して、変換が必要かどうかを判断してください。[投影変換 (Project)] ツールの [地理座標系変換] パラメータのドロップダウン リストに、有効な変換(存在する場合)が表示されます。
-
フィーチャクラスやデータセットの座標系が定義されていないか、「不明」である場合は、このツールで処理する前に、[投影法の定義(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」拡張子を持つファイル(ArcGIS に付属する「.prj」ファイルは、[座標系] フォルダの ArcGIS インストール ディレクトリに置かれています)、または座標系の文字列表現です。この文字列表現を生成するには、座標系変数を ModelBuilder に追加し、変数の値を適切に設定して、このモデルを Python スクリプトにエクスポートします。これで、文字列を Python スクリプトからコピーできます。 | 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()