GP サービス サンプル:河川ネットワーク
フォルダ |
StreamNet |
目的 |
流量データと累積データから河川ネットワークを作成します。 |
サービス |
|
ジオプロセシング タスク |
Create Stream Network |
入力 |
ヘクタール単位の最小上流域 |
出力 |
河川ネットワーク |
データ |
デジタル標高データ(ラスタ)と Spatial Analyst チュートリアル内の他のデータ |
エクステンション |
Spatial Analyst |
備考 |
結果マップ サービスを使ってネットワークを描画します。 |
対応するフォルダ
C:\arcgis\ArcTutor\GP Service Examples\StreamNet に完全なモデルとデータが含まれています。
Create Stream Network タスクについて
Create Stream Network タスクの主な目的は、カートグラフィック表示のための河川ネットワークを作成することです。次に示すのは、調査地域(バーモント州ストウ)の陰影起伏をベースマップとして使用した 2 つの結果です。このサービスは、ユーザにさまざまなネットワークを作成してもらい、それぞれのカートグラフィックのニーズに合ったものを選択できるようにします。
![]() |
タスクは最小面積によって定義された河川ネットワークを作成します。面積が小さければ小さいほど、作成される河道部分が増えます。各河道部分には、上流河道部分の数に基づいて河川次数値が割り当てられ、この値を使用して、各河道部分を表示するためのラインの太さが決定されます。
作成される河道部分の数は、使用される最小面積によって決まります。1 ヘクタールの入力を使用すると、約 32,000 の河道部分が作成されます。45 ヘクタールの場合、約 600 の河道部分が作成されます。
ジオプロセシング サービスの作成時には、サービスからクライアントに返すことができるレコードとフィーチャの最大数を決定する必要があります。デフォルトは 1,000 ですが、この数は数十億まで増やすことができます。ただし、Web 経由で大量のフィーチャを転送すると、コストと時間がかかります。大量のフィーチャを出力する可能性があるサービスの場合は、結果マップ サービスを使用して結果のマップを作成し、フィーチャではなくそのマップを ArcGIS Server を利用して Web 経由で転送することを検討してください。Create Stream Network タスクによって作成される河道部分の数は、最小流域、カスタム データに置き換えるかどうか、調査地域の面積と地形によって決まります。そこで、このサンプルでは、Web 経由でクライアントにフィーチャを転送するのでなく、結果マップ サービスを使って結果を描画します。
データ
データ
このサンプルのデータは、C:\arcgis\ArcTutor\GP Service Examples\Watershed にあります。このデータは、C:\arcgis\ArcTutor\Spatial Analyst から取得したものです。Watershed フォルダ内のデータがどのようにして作成されたかについては、「GP サービス: 集水域ラスタの作成(Watershed)」をご参照ください。
ベースマップ
このサンプルのベースマップである StoweHillshade.mxd には、Hillshade というレイヤが 1 つ含まれています。hillshade レイヤは 55% の透過率で描画されます。
![]() |
ストウの Hillshade ベースマップ |
StoweHillshade.mxd はマップ サービスとして公開されます。
ツールボックスとマップ ドキュメント
ジオプロセシング サービスのツールボックスは StoweStreamNet であり、サービスのソース マップ ドキュメントは StoweStreamNet.mxd です。StoweStreamNet.mxd には、Flow Direction(flowdir ラスタ)と Flow Accumulation(accumulation ラスタ)の 2 つのソース データ レイヤが含まれています。
モデル
モデルの概要
以下に、Create Stream Network モデルを示します。入力変数は 1 つであり、ヘクタール単位の最小上流域 です。この変数は double であり、河道部分を作成するために必要な最小流域です。面積が小さければ小さいほど、作成される河道部分が増えます。
このモデルは入力面積のラスタ セルの数を計算し、次に [Con] ツールを使用して Flow Accumulation ラスタ内の入力セルごとに if/else 条件評価を実行します。Flow Accumulation ラスタ内のセル値はセルに流れ込む上流セルの数なので、上流域が境界点よりも大きいセルが選択されます。選択されたセルは河道部分を形成し、出力ラスタで 1 が割り当てられます。
[河川次数ラスタの作成(Stream Order)] ツールは、[Con] ツールの出力など、線形ネットワークの分岐を表すラスタに順序を表す数値(次数)を割り当てます。一般に、次数が高い河川は流水量が多いため、次数を河川幅の代わりとして使用することができます。モデルの出力は、次数の高い部分ほど太いラインで描画されるようにシンボル表示されます。
[河川ラスタをフィーチャに変換(Stream to Feature)] ツールは Stream Order Raster を出力ライン フィーチャクラスに変換します。このフィーチャクラスは、結果マップ サービスで定義されたシンボルを使用して、結果マップ サービスによって描画されます。
![]() |
次は、モデルについて詳しく説明します。
投影データ
Flow Accumulation 変数と Flow Direction 変数は、ソース マップ ドキュメント StoweStreamNet.mxd のレイヤです。これらの変数はパラメータを持たない入力データなので、投影データと呼ばれます。
最小面積のセル数の計算
Flow Accumulation ラスタと Flow Direction ラスタは、メートル単位の Vermont State Plane 投影座標です。セル サイズは 30 x 30 メートルです。ラスタの空間参照とセル サイズを決定するには、次のいずれかの手順を実行します。
- [カタログ] ウィンドウで、ラスタを右クリックしてから [プロパティ] をクリックします。
- ArcMap のコンテンツ ウィンドウでラスタ レイヤを右クリックして [プロパティ] をクリックし、[ソース] タブをクリックします。
[値の計算(Calculate Value)] ツールは、入力ヘクタールをヘクタール単位のセル サイズで割り(30 x 30 メートル = 900 平方メートル = 0.09 ヘクタール)、最小上流域のセル数を算出します。[値の計算(Calculate Value)] ツールのパラメータには変数置換を利用します。変数名をパーセント記号(%)で囲むことにより、変数の内容が値と置き換えられます。
Minimum upstream area in hectares は、次の手順で作成される Double データ タイプの変数です。
- ModelBuilder キャンバスを右クリックして [変数の作成] をクリックします。
- [変数の作成] ダイアログ ボックスで、データ タイプとして [Double] を選択します。
- [OK] をクリックします。
- 新規作成した変数に Minimum upstream area in hectares という名前を付けます。
- 変数をダブルクリックしてデフォルト値を入力します。ストウの面積には、45 がデフォルトとして適切です。
Minimum upstream area in hectares 変数は [値の計算(Calculate Value)] の実行の前提条件です。前提条件は、[値の計算(Calculate Value)] を実行する前に変数に値が含まれていなければならないことを意味します。前提条件は次のように設定することができます。
- [値の計算(Calculate Value)] を右クリックします。
- [プロパティ] をクリックします。
- [前提条件] タブをクリックします。
- [Minimum upstream area in hectares] をオンにします。
Con プロセス
[Con] ツールを使用して、Flow Accumulation ラスタ内の入力セルごとに if/else 条件評価を実行します。
![]() |
[Con] ツールのパラメータ |
条件式で変数置換を利用することに注意してください。条件式では、最小セル数よりも値が大きいセルがすべて選択されます(Flow Accumulation ラスタ内のセルの値は個々のセルに流れ込むセルの数です)。
[条件式が TRUE のときの入力ラスタ、または定数値] パラメータは、選択された各セルに割り当てられる値であり、1 に設定されます。このモデルを一から作成する場合は、次のように行います。
- [Con] ツールをダブルクリックします。
- [条件式が TRUE のときの入力ラスタ、または定数値] パラメータに 1 を入力します。
- [OK] をクリックします。
[条件式が TRUE のときの入力ラスタ、または定数値] モデル変数が自動的に作成され、[Con] ツールに接続されます。
河川次数ラスタの作成プロセス
[河川次数ラスタの作成(Stream Order)] ツールは、河川ネットワークの分岐を表すセルの数値を計算します。[河川次数ラスタの作成(Stream Order)] のパラメータ値は次のようになります。
![]() |
[河川次数ラスタの作成(Stream Order)] のパラメータ |
出力ラスタには、河川を表すセルごとにシュリーブ河川次数が含まれます。
河川ラスタをフィーチャに変換プロセス
[河川ラスタをフィーチャに変換(Stream to Feature)] ツールは、Stream Order Raster に含まれる河道部分のシェープファイルを作成します。
![]() |
[河川ラスタをフィーチャに変換(Stream to Feature)] のパラメータ |
出力が %scratchworkspace% に書き出されることに注意してください。この場所は、ArcGIS Server で設定および使用されるテンポラリ ワークスペース環境です。
ツール レイヤ
StoweStreamNet.mxd 内のツール レイヤは結果マップ シンボルを定義します。ここでは、ツール レイヤと適切なシンボルを作成する方法を示します。
- ArcMap で、StoweStreamNet ツールボックスから ArcMap のコンテンツ ウィンドウに [Create Stream Network] ツールをドラッグして、[Create Stream Network] ツール レイヤを作成します。
- [Create Stream Network] ツール レイヤを右クリックし、[開く] をクリックしてツールのダイアログ ボックスを開きます。
- 最小面積として 45(デフォルト)を使用します。
- [OK] をクリックしてツールを実行します。河川ネットワークのデフォルト シンボルが単線であることに注意してください。
次に、シンボルを等級ライン シンボルに変更します。[Stream Network] サブレイヤを右クリックして [プロパティ] をクリックし、[シンボル] タブをクリックします。
- [数値分類] カテゴリの下にある [等級シンボル] をクリックします。
- 値フィールドとして [GRID_CODE] を選択します。
- [分類] をクリックします。
- [分類手法] ダイアログ ボックスで、分類方式として [手動] を選択します。
- 100、250、500、750、および 10000 の区切りで手動分類を設定します。[閾値] パネルで、リストの最後の値をクリックします。この方法で、値を編集することができます。10000 など、区切り値の 1 つを入力します。リストが更新され、値が格納されます。
リストが次のようになるまで、区切り値の編集と設定を繰り返します。
- [OK] をクリックします。
[シンボル] タブは次のようになります。[テンプレート] をクリックし、河川を思わせる青を選択する必要があるかもしれません。
- [OK] をクリックします。
[Stream Network] サブレイヤの凡例には、GRID_CODE が分類フィールドとして表示されますが、これはサービスのユーザにとってあまり意味をなしません。これを変更するには、凡例で [GRID_CODE] をクリックして F2 キーを押し、Shreve Order や Stream Order といったわかりやすいテキストに変更します。
![]() |
公開
StoweHillshade.mxd はマップ サービスとして公開されます。
StoweStreamNet.mxd を結果マップ サービスに基づくジオプロセシング サービスとして公開するには、次の手順を実行します。
- カタログ ウィンドウで、StoweStreamNet.mxd を右クリックし、[ArcGIS Server で公開] をクリックします。
- すべてデフォルト設定を使用します。
使用
サービスを使用するには、ArcMap を開始し、StoweHillshade マップ サービスと StoweStreamNet ジオプロセシング サービスを追加します。StoweStreamNet マップ サービスは結果マップ サービスであり、結果とは関係のない Flow Accumulation レイヤと Flow Direction レイヤを含んでいるため、このマップ サービスは追加しないでください。
![]() |
サービスを実行する前の ArcMap |
![]() |
Create Steam Network タスクを実行した後の ArcMap |