Spatial Analyst のライセンスで利用可能。
[コスト距離 (Cost Distance)] ツールおよび [パスの距離 (Path Distance)] ツールでは、移動物のソース特性を定義することで、次のことを制御できます。
- さまざまなソースからのさまざまな移動モード (たとえば、車による移動や徒歩での移動)
- ソースでの大きさ (たとえば、各場所における軍隊のさまざまな数)
- コスト減衰関数 (たとえば、ハイカーの疲労)
- ソースからの開始コスト (たとえば、トラックが道路に出るまでの時間)
- ソースのキャパシティ (たとえば、車両が燃料切れになるまでに走行できる距離)
ソース特性によって解決される いくつかの問題の例
ソース特性を使用すると、さらに次のようなコスト距離やパス距離の用途に対応できます。
- 移動モードが異なる 2 つの本部 (1 つの本部では ATV、もう 1 つでは徒歩) から道に迷ったハイカーを捜索できるエリアを特定します。
- 勤務する消防士の人数が施設ごとに異なることを考慮しながら、3 つの施設から消防士が到達できる場所を調べます。最初の施設には 25 人、2 番目の施設には 15 人、3 番目の施設には 10 人の消防士がいます。
- ハイカーの疲労に伴ってハイカーのエネルギーが消耗することを考慮して、最適なキャンプ地を特定します。
- 消防士が機材を積み込むまでに 16 分かかることを考慮しながら、遠方の山火事に到達する時間を解析します。
- 軍事作戦で長距離移動によって遠方の目的地に到達する必要がある戦車のために、燃料補給所をどこに配置するかを定義します。
ソース特性を考慮したコスト距離計算式
ソース特性を考慮するために使用されるコスト距離計算式について、次の各セクションで詳しく説明します。
基本的なコスト距離計算式
隣接セルをどのように通過するかに応じて適用できる、2 つの基本的なコスト距離計算式があります。
垂直セル
垂直セルに対するコスト距離計算式は、次のようになります。
accum_cost = a1 + (cost2 + cost3)/2
- 各要素は次のとおりです。
a1 - セル 1 からセル 2 への累積コスト
cost2 - セル 2 の移動コスト
cost3 - セル 3 の移動コスト
accum_cost - セル 1 からセル 3 への累積移動コスト
対角セル
対角セルに対するコスト距離計算式は、次のようになります。
accum_cost = a1 + (1.4142 * ((cost2 + cost3)/2))
パス距離計算式
隣接セルをどのように通過するかに応じて適用できる、2 つの基本的なパス距離計算式があります。
垂直セル
accum_cost = a1 + ((((cost2 * HF(2)) + (cost3 * HF(3)))/2) * Surface_distance(23) * VF(23))
各要素は次のとおりです。
cost2 - セル 2 の移動コスト
cost3 - セル 3 の移動コスト
HF(2) - セル 2 の水平方向ファクター
HF(3) - セル 3 の水平方向ファクター
Surface_distance(23) - セル 2 からセル 3 へのサーフェス距離
VF(23) - セル 2 からセル 3 への垂直方向ファクター
対角セル
accum_cost = a1 + ((((cost2 * HF(2)) + (cost3 * HF(3)))/2) * 1.414214 * Surface_distance(23) * VF(23))
ソース特性を考慮したコスト距離とパス距離の計算式
ソースからの移動物の特性を考慮するために、次の計算式が適用されます。
垂直セルに対するコスト距離
accum_cost = (a1 * (1.0 + resistance_rate) + (((cost2 + cost3) / 2) * cost_multiplier))
各要素は次のとおりです。
resistance_rate - 累積コストに対するダイナミック調整。ハイカーの疲労など、累積コストが増加する中で、変化する対応をシミュレートしてコスト単位を解決します。
cost_multiplier - コスト単位に対する乗数。この値が大きいほど、移動コストが高くなります (徒歩対 ATV への乗車など)
垂直セルに対するパス距離
accum_cost = (a1 * (1 + resistance_rate)) + ((((cost2 * HF(2)) + (cost3 * HF(3)))/2) * Surface_distance(23) * VF(23) * cost_multiplier)
ソース特性は、すべてのソースに適用される単一の値か、ソースに関連付けられている属性テーブル内のフィールドによって特定されます。フィールドの場合は、各値が対応するソースに適用されます。
コストの乗数
使用例: 各ソースからのさまざまな移動モード (ATV 対徒歩など)。
使用例: 各ソースにおけるリソースのさまざまな大きさ (各本部における消防士のさまざまな数など)。
移動モードまたはソースでの大きさの違いによって、コスト サーフェス上の移動速度またはカバレッジを増減できます。これらの特性によって、セルを通じた移動コストが増減されます。
モードまたは大きさは、コストの乗数によって実装できます。ATV は高速でコストを解決できるため、徒歩よりも小さい乗数を持ちます。また、勤務する消防士が多いソースは、消防士が少ないソースよりも小さい乗数を持つことができます。これは、消防士が多いほうがより広いエリアをカバーできる (コストをより速く解決できる) ためです。
乗数が単一の値の場合は、その乗数がすべてのソースに適用されます。モードまたは大きさ (乗数) がソースによって異なる場合は、ソースに関連付けられているフィールドで乗数を指定できます。
開始コスト
使用例: ソースを離れる前の準備にかかる時間。
開始コストは、各ソースに追加される単一の値か、ソースに関連付けられているフィールドによって特定できます。開始コストがソースによって異なる場合は、フィールドを使用します。これらは、ソースに関連付けられている固定コストです。
最初のセルに到達するには、0 でソース計算を開始するのではなく、次の方法を使用します。
a1 = (((cost1 + cost2) / 2) * cost_multiplier)
starting_cost と共に累積式が使用され、ソースに関連付けられている開始コストとなります。
a1 = starting_cost + (((cost1 + cost2) / 2) * cost_multiplier)
耐性率
使用例: 私はエネルギーを消耗しているハイカーです。
動的に変化するソース特性はこれだけです。累積コストが増えるにつれて、耐性率の影響も大きくなります。後続セルに移動するためのコストを決める場合は、概念的に、そのセルに到達するための累積コストが耐性率で乗算され、その積が実行中の累積コスト計算に追加されます。その結果、耐性率の影響が移動者と複合されます。そのため、耐性率が大きいほど、後続の各コスト単位を解決するためにかかる労力が大きくなり、移動者がより早く疲れることになります。
耐性率は複合率と似ており、通常は累積コスト値が非常に大きいため、小さな堆積率がお勧めです (たとえば、0.005)。
キャパシティ
使用例: 軍用戦車の燃料補給所の候補地を特定します。
単一の値またはフィールドによって、各ソース (またはソースからの移動モード) のコスト キャパシティが定義されます。各ソースのキャパシティに到達するまで、動的なコスト距離アルゴリズムが増大し続けます。キャパシティ パラメーターが設定されている場合は、設定されていない場合とは違って、出力コストの割り当てが異なることがあります。つまり、低キャパシティの領域が高キャパシティの領域の近くにある場合、キャパシティ未設定時に低キャパシティの領域に本来割り当てられていた一部のセルを、高キャパシティの領域がキャプチャできます (ただし、低キャパシティの領域の定義済みキャパシティより大きな累積コストを持つセルのみ)。