空間参照とジオプロセシング
ジオデータセットの空間参照を構成するものを以下に示します。
- マップ投影法および測地基準系で構成される座標系
- XY 解像度、および必要に応じて M 値と Z 値の解像度とドメイン
- XY 許容値、および必要に応じて M 許容値と Z 許容値
これらの空間参照プロパティは、ジオプロセシング ツールによって生成されるパフォーマンスと結果に、大きな影響をおよぼす可能性があります。
- ジオプロセシング ツールが出力データを作成する場合、その新しく作成されたデータセットに空間参照を割り当てる必要があります。
- ジオプロセシング ツールが 1 つ以上のフィーチャクラス([インターセクト(Intersect)] ツールなど)、または 1 つ以上のラスタ([加重オーバーレイ(Weighted Overlay)] ツールなど)からフィーチャを処理する場合、データは共通の空間参照に取り込まれ、2 つのデータセットのコンテンツ間の関連性を計算する必要があります。
出力データセットの空間参照、および処理が実行される空間参照は、同一です。このことを示すもう 1 つの方法は、ツールが常に出力データセットの空間参照内でデータ処理を行うことです。
デフォルトの出力空間参照とは
ジオプロセシング ツールは、次のロジックを使用して出力空間参照を決定します。
- 出力がフィーチャ データセット内にある場合、フィーチャ データセットの空間参照プロパティが使用されます。
- 出力が(フィーチャ データセットの内部にはない)スタンドアロン ジオデータセットの場合、空間参照プロパティは、入力ジオデータセットの空間参照プロパティと同一になります。
- 入力が表示されたレイヤの場合、そのレイヤのデータ ソースの空間参照が使用されます。
- 入力がデータセットのリスト([インターセクト(Intersect)] ツールなど)の場合、最初の入力データセットの空間参照が使用されます。
- ツールに入力データセット([フィーチャクラスの作成]、[フィーチャ データセットの作成]、[ラスタ カタログの作成]など)がない場合、座標系を選択することが特に重要です。そうすれば残りの空間参照プロパティ(XY 解像度や XY 許容値など)をツールで計算することができます。
デフォルトの空間参照プロパティを上書きする方法
以下に示すジオプロセシング環境を使用して、次のデフォルトの出力空間参照プロパティを上書きすることができます。出力がフィーチャ データセットの内部にある場合、座標系、および XY プロパティと Z プロパティ(Z 認識を除く)は、常にフィーチャ データセットに含まれます。
出力がスタンドアロンであるか、またはフィーチャ データセット内にあるかにかかわらず、次の環境を使用することができます。
シェープファイル出力に関しては、「ジオプロセシングでのシェープファイル出力の注意事項」をご参照ください。
複数の入力があるツール - ツールのパフォーマンスに影響をおよぼす座標系
[解析] ツールボックス または [Spatial Analyst] ツールボックス 内のツールのように、複数の入力があるジオプロセシングツールは、空間的関連性を計算するために、すべてのフィーチャまたはラスタが共通の座標系でなければなりません。複数のフィーチャクラスの幾何学的な交差を計算する [インターセクト(Intersect)] ツールについて考えてみましょう。5 つのフィーチャクラスが入力として指定されると仮定すると、最初のフィーチャクラス入力の座標系は UTM で、残りの 4 つのフィーチャクラスの座標系はアルベルスです。最初のフィーチャクラスは UTM 形式なので、他の 4 つのフィーチャクラス内のフィーチャは、[インターセクト(Intersect)] ツールがそれらの処理を開始する前に、このツールによってまずアルベルスから UTM に投影変換されます。これらのデータセットを投影変換することは、パフォーマンスを著しく低下させる可能性があります。1 つのフィーチャクラスを UTM からアルベルスに変換するほうが、4 つのフィーチャクラスをアルベルスから UTM に変換するよりもはるかに効率的です。逆に、UTM 内のフィーチャクラスに、他の 4 つのフィーチャクラス内のフィーチャの総数と比較して、より多くのフィーチャが存在する場合、他のフィーチャクラスをアルベルスから UTM に変換する方が効率的です。
上のような状況のパフォーマンスを改善するために、次のどちらかを実行することができます。
ArcGIS Server ジオプロセシング サービスの座標系
ArcGIS Server ジオプロセシング サービスのクライアントであるアプリケーションは、処理に使用する座標系を設定することができます。この方法は推奨されていません。処理に使用する座標系を実際に設定するクライアントはほとんどありませんが、その可能性は否定できません。クライアントが処理に使用する座標系を設定する場合、ジオプロセシング サービス内のツールは、最初にすべてのデータをこの座標系に投影します。これはサービスのパフォーマンスに多大な影響をおよぼします。たとえば、クライアントは座標系を WGS84(地理座標系)に設定することができます。[インターセクト(Intersect)] ツールに関する先の例に戻ると、[インターセクト(Intersect)] ツールが交差の計算を開始する前に、5 つのデータセットがすべて WGS84 に変換されます。出力データの座標系環境変数を、公開前にモデルまたはスクリプトに明示的に設定することによって、サービスの処理に使用する座標系をロックすることができます。
未知の座標系の回避
適切な座標系でデータの処理を行うと、許容値、解像度、およびドメインのより良いデフォルト値を得ることができます。
未知の座標系を使用してのデータ処理は避ける必要があります。デフォルトの許容値がツールには適切でないかもしれないからです。未知の座標系に対するデフォルトの XY 許容値は 0.001 単位で、これはデータの座標が、(1 単位(10 進表記の度単位)が地表上の距離の 110 km までを表す)地理座標系である場合、非常に大きな値ですが、処理に使用する許容値が最大で 110 km になることを意味します。
データの座標系が不明の場合の作業の続行方法に関しては、「未知の座標系の識別」をご参照ください。
ツールの結果に影響をおよぼす座標系
1 つの座標系で 2 つのジオメトリに共有される空間的またはトポロジ的な関連性は、異なる座標系に投影されると変化する可能性があります。たとえば以下の図では、ジャカルタとウェリントンを結ぶ青い線を示しています。データが投影され処理される座標系によって、2 都市を結ぶ青線は、アリススプリングスの町を交差する場合と交差しない場合があります。データに適した座標系を選択することが重要です。
座標系環境の ModelBuilder への設定
出力データの座標系環境は、プロセスごとに(プロセスとは、ツールとその入力および出力データ)、またはモデル全体に対して設定することができます。プロセス レベルで環境を設定すると、個々のプロセスの実行にのみ設定が適用されます。モデル レベルで環境を設定すると、モデル内のすべてのプロセスに設定が適用されます。
プロセス レベルで座標系を設定するための手順は次のとおりです。
- ModelBuilder でツール エレメントを右クリックします。
- [変数の作成] → [環境から] → [出力座標] → [出力データの座標系] の順にクリックします。[出力データの座標系] という名前の新しい変数が作成され、ツールに接続されます。
- [出力データの座標系] をダブルクリックし、適切な座標系を入力します。通常は、ツールに対する最も大きいジオデータセット入力の座標系になります。
モデル レベルで座標系を設定するための手順は次のとおりです。
- ModelBuilder で、[モデル] → [モデル プロパティ] の順にクリックします。あるいは [カタログ] または [ArcToolbox] ウィンドウで、モデルを右クリックして、[プロパティ] をクリックします。
- [環境] タブをクリックします。
- [出力座標] を展開します。
- [出力データの座標系] をオンにします。
- [値] ボタンをクリックします。
- [環境設定] ダイアログ ボックスで、[出力座標系の設定] を展開します。
- [出力データの座標系] リストで、[以下の指定に一致] をクリックします。
- 参照ボタンをクリックして既存の座標系を選択するか、またはドロップダウン リストからモデル変数を選択します。
座標系を使用する例については、「GP サービス サンプル:クリップと送信」をご参照ください。このモデルはファイル ジオデータベースが含まれた *.zip ファイルを出力します。出力ファイルジオデータベース内のジオデータセットが指定された座標系を使用するようにモデルを変更することができます。
モデルにおける環境管理の詳細