GP サービス サンプル: 高度な河川ネットワーク

難易度: 初級 データ要件 ArcGIS チュートリアル データ セットアップ

フォルダ

StreamNet2

目的

事前に計算された河川ネットワークをユーザがダウンロードし、独自の河川ネットワークを作成します。

サービス

StoweStreamNetworksBasemap(マップ サービス)StoweStreamNetworkTasks(ジオプロセシング サービス)

ジオプロセシング タスク

Get Precomputed Stream NetworkCreate Stream Network

入力

Get Precomputed Stream Network タスクではレイヤ名を入力します。Create Stream Network タスクでは最小上流域をヘクタール単位で入力します。

出力

河川ネットワーク

データ

デジタル標高データ(ラスタ)と Spatial Analyst チュートリアル内の他のデータ

エクステンション

Spatial Analyst

備考

レイヤ シンボル ファイル(*.lyr)によって、クライアント アプリケーションでの出力河川ネットワークの描画方法を指定(「GP サービス: 集水域ラスタの作成(Watershed)」をご参照ください)。

このサンプルについて

対応するフォルダ

C:\arcgis\ArcTutor\GP Service Examples\StreamNet2 に完全なモデルとデータが含まれています。

このサンプルについて

このサービス サンプルは、「GP サービス サンプル: 河川ネットワーク」で作成した Create Stream Network タスクをベースにしています。「河川ネットワーク」サンプルで説明したように、このタスクは、カートグラフィック表示のための河川ネットワークを作成し、ユーザにさまざまなネットワークを作成してもらい、それぞれのカートグラフィックのニーズに合ったものを選択できるようにします。Create Stream Network タスクでは、結果マップ サービスを使って結果を表示しました。

このサンプルでは、河川ネットワーク フィーチャをクライアントに転送し、そこで表示します。フィーチャはクライアント アプリケーションに転送されるので、結果マップ サービスは必要ありません。このサービスには、計算済みのネットワークを取得するためのタスクと、新しいネットワークを作成するためのタスクが含まれています。

StoweStreamNetworksBasemap マップ サービスのコンテンツ ウィンドウと StoweStreamNetworkTasks ジオプロセシング サービスのジオプロセシング タスクの最終的な結果は次のようになります。

ベースマップとジオプロセシング サービス

ベースマップ サービスでは、事前に計算された 10 ~ 15 ヘクタールまでの 5 つのネットワークを表示することができます。ジオプロセシング サービスは次の 2 つです。

ベースマップ

次に、StoweStreamNetworksBasemap.mxd のコンテンツ ウィンドウと、カタログ ビューの StoweStreamNetworkTasks ツールボックスを示します。

Stowe Stream Networks マップ ドキュメント

[Precompute a Stream Network] モデルを使用して、河川ネットワーク レイヤが 5 つ作成されています。これはユーティリティ ツールであり、ジオプロセシング サービスの一部ではありません。Precompute a Stream Network は Create Stream Network と似ていますが、次の点が異なります。

Precompute a Stream Network モデル

モデル

次に、StoweStreamNetworkTasks.mxd の内容を示します。

Stowe Stream Network Tasks マップ ドキュメント

コンテンツ ウィンドウには、StoweStreamNetworksBasemap.mxd に含まれているものと同じ、計算済みの河川ネットワーク レイヤがあります。これらのレイヤは次の手順で作成されています。

  1. StoweStreamNetworksBasemap.mxd に含まれている河川ネットワークはそれぞれ ToolData ディレクトリにレイヤ ファイルとして保存されます。
  2. StoweStreamNetworkTasks.mxd[データの追加] データの追加 を使用して、作成した各レイヤ ファイルをコンテンツ ウィンドウに追加します。

Get Precomputed Stream Network モデルは、フィーチャ レイヤの内容をテンポラリ ワークスペースにコピーする単純なモデルです。

Get Precomputed Stream Network モデル

入力変数である Network to download は、フィーチャ レイヤ データ タイプです。タスクを実行すると、フィーチャベースのレイヤがすべて表示され、ユーザがその中の 1 つを選択します(ラスタ レイヤはフィーチャではないので表示されません。ArcGIS Server はツール レイヤとそれらのサブレイヤをフィーチャ レイヤのリストから自動的に除外するため、ツール レイヤ内のサブレイヤも表示されません)。元のフィーチャがテンポラリ ワークスペースにコピーされ、クライアントに返送されるときに、ToolData/Stream Network.lyr で定義されたシンボルを使って描画されます。

Create Stream Network タスクは「GP サービス サンプル: 河川ネットワーク」のものと同じですが、1 つだけ例外があり、出力変数 Stream Network の [レイヤ シンボル] プロパティが Stream Network.lyr に設定されます(下図を参照)。

Create Stream Network モデルの変更

公開

StoweStreamNetworksBasemap.mxd はマップ サービスとして公開されます。

StoweStreamNetworkTasks.mxd はジオプロセシング サービスとして公開されます。

  1. カタログ ウィンドウで、GIS サーバに移動して右クリックし、[新規サービスの追加] を選択します。サービスの名前として StoweStreamNetworkTasks を指定し、タイプとして [Geoprocessing Service] を選択します。
  2. [次へ] をクリックします。
  3. サービスのソースとして StoweStreamNetworkTasks.mxd を選択します。
    • [サーバから返される最大レコード数]10000 に変更します。これを変更する必要があるのは、結果を描画するための結果マップ サービスが存在せず、フィーチャがクライアントに返送されるためです。どのタスクも 1000 個以上のレコードを生成するので、レコードの数をデフォルトの 1,000 のままにしておくと、タスクによって完全なデータセットが返されません。
    • テストのために [メッセージの表示] をオンにします。
  4. [次へ] をクリックします。ここからは、ウィザードによって提供されるデフォルト値を使用することができます。

使用

サービスを使用するには、ArcMap を空のドキュメントで開始し、StoweStreamNetworksBasemap マップ サービスと StoweStreamNetworkTasks ジオプロセシング サービスを追加します。両方のタスクを開いて実行します。どちらか一方のタスクから結果が得られない場合は、[サーバから返される最大レコード数] パラメータが上記のような大きな数に設定されていないことが原因と考えられます。

範囲フィルタの使用

モデル ツール パラメータでは、パラメータ値の整合チェックに使用されるフィルタを設定することができます。[Create Stream Network] タスク の場合は、範囲フィルタを使って [Minimum upstream area in hectares] パラメータの整合チェックを行うことができます。最小面積が 5 ヘクタールに満たない場合は河道部分が無数に作成され、(少なくともカートグラフィック表示には)使用できない出力が生成されます。フィルタを使用して、値が 5 ヘクタール未満の場合は処理を実行できないようにします。

次の手順に従って、範囲フィルタを設定します。

  1. カタログ ウィンドウで、[Create Stream Network] ツールを右クリックして [プロパティ] をクリックします。あるいは、ModelBuilder で [Create Stream Network] を開き、ModelBuilder のメイン メニューで [モデル][モデル プロパティ] の順にクリックします。
  2. [プロパティ] ダイアログ ボックスで、[パラメータ] タブをクリックします。
  3. [Minimum upstream area in hectare] パラメータの [フィルタ] セルをクリックして [範囲] を選択します。[範囲] ダイアログ ボックスが自動的に開きます。
  4. [範囲] ダイアログ ボックスに、最小値と最大値を入力します。
範囲フィルタの適用

[Create Stream Network] モデルでこの変更を行った後、この変更を有効にするには、サービスを再起動する必要があります。

これらの変更により、5 未満の値が入力されると、タスクはエラー メッセージを表示するようになります。ユーザにメッセージが表示されるようにするには、サービスの [メッセージの表示] がオンになっている必要があります。

関連項目


3/6/2012