距離解析は、ほとんどの GIS アプリケーションにとって不可欠です。 最も単純な形で捉えるなら、距離は、場所間がどれだけ離れているかを示す尺度です。 直線は、2 つの場所間で考えられる最短の距離の尺度です。 ただし、他にも考慮すべき事項があります。 たとえば、道の途中にバリアがある場合、それを迂回する必要があるため、ある場所から別の場所に到達する際の合計距離は長くなります。 サーフェスのテクスチャも考慮する必要があります。地形が平坦な地表から起伏の多い地形に変化する場合、実際の移動距離が長くなる可能性があります。 始点から終点に到達するまでに必要な労力に影響を与える要因は、他にもたくさんあります。 この要因には、地形の傾き、移動する際の風が追い風か向かい風か、交通モード、通過する土地被覆の種類などがあります。 また、計算で平面方法を使用するか、測地線方法を使用するかによっても、距離の計測に違いが生まれます。
Spatial Analyst エクステンションには、さまざまなシナリオでの距離の計算に使用できるツールが用意されています。 ツールには複数のパラメーターがあり、これらのパラメーターを使用して、操作にさまざまな修正を加えることができます。 その結果、より正確な出力を生成し、この出力を使用してより的確な分析的判断を下せるようになります。
距離解析は、主に 2 つのタスクに分けることができます。
- 最も近いソース、またはコストが最も低いソースまでの距離を計算します。
- 距離サーフェス上で、最適パスによって一連の場所を接続します。
距離の計算
距離を計算する際に考慮すべき 2 つの側面があります。
- 場所がどのくらい離れているかを求めます。
- 距離を求めたら、その距離に移動者がどのように到達するかを定義します。
場所がどのくらい離れているかを求める
場所間がどのくらい離れているかを求めることは、距離を計算する際の基本です。 2 つのポイント間の直線距離またはユークリッド距離のいずれかになります。 詳細については、「直線距離の計算」をご参照ください。
ただし、バリアやサーフェス距離など、直線距離の計算が変化する要因は他にもあります。
河川、崖、高速道路、建物などのバリアは、場所間を直接移動することを妨げます。 バリアを迂回することで移動距離は長くなるため、最短距離を把握する必要があります。 使用例や詳細については、「距離の計算におけるバリアの考慮」をご参照ください。
サーフェス距離は、地形上を移動する際に移動する必要がある実際の地表の距離です。 直線距離と比較して、実際の地表面の上下の起伏を考慮すると、サーフェス距離は長くなります。 使用例や詳細については、「距離の計算におけるサーフェスの考慮」をご参照ください。
移動者が到達する距離
多くの場合、移動者がどのように距離に到達するかは、興味深い相互作用になります。 常に、暗示的な移動者が存在します。 この移動者には、人間や動物などの生命体を設定できます。 抽象的な形で捉えるなら、パイプラインや道路のような無生物を設定することもできます。 つまり、パイプラインや道路を建設する場合、各セル内で平坦な斜面や急斜面、森林、湿地帯など、さまざまな地形フィーチャに到達します。 基本的な直線距離を計算する場合、移動者は、地表の条件に影響を受けることなく、障害物のない空中で地上を低空飛行する鳥や飛行機のように捉えることができます。
移動者がどのように距離に到達するかに影響を与える要因は複数あります。 それぞれの要因が距離を移動する速度に影響を与えます。 次の要因を使用して、距離に到達する速度を制御できます。
- コスト サーフェス
- ソースからの移動者の特性
- 垂直方向ファクター
- 水平方向ファクター
コスト サーフェス
各セルにおいて、コスト サーフェスはその場所にあるフィーチャがセル内の移動に与える影響を特定します。 コスト サーフェスは、移動者がその場所を通過する際のコストを示します。 セルに定義されたコストが低いほど、容易に移動できます。 たとえば、ハイカーは開けた野原であれば、すばやく簡単に移動できますが、密生した森林のぬかるんだ地面では移動速度が遅くなり、より多くのエネルギーを消費することになるため、各距離単位の移動に時間がかかります。 コスト サーフェスが距離の到達方法にどのように影響を与えるかに関する使用例や詳細については、「コスト サーフェスを使用した到達距離の調整」をご参照ください。
距離は、コストの速度として計測されます。 コスト サーフェスの特性上、直線距離の計測結果とは異なり、コスト距離は各ソースから均等な放射状の計測結果にはなりません。
ソースからの移動者の特性
移動者の特性により、距離の到達方法が変化することがあります。 次の移動者の特性により、距離に到達する速度が変化することがあります。
- 移動モード - 乗数として適用され、移動手段を定義することができます。 たとえば、移動者が徒歩で移動しているのか、四輪バギーで移動しているのかを制御できます。 また、移動者の数を考慮することもできます。 いずれの場合も、モードによって距離の到達速度が変化します。
- 開始コスト - たとえば、四輪バギーの準備にかかる時間の制御に使用できます。
- 最大容量 - たとえば、四輪バギーがガス欠になるまでの距離またはコストを特定できます。
- 移動方向 - たとえば、鹿が小川に向かっているのか、小川から遠ざかっているのかを制御できます。
移動者の特性が距離の到達方法にどのように影響を与えるかに関する使用例や詳細については、「ソース特性を使用した到達距離の調整」をご参照ください。
垂直方向ファクター
[鉛直方向ファクター] パラメーターを使用すると、移動者が斜面を上るために要する労力を考慮することができます。 直接坂を上る場合は労力が大きくなり、移動者の速度が遅くなります。 その結果、特定の距離を移動するのに時間がかかります。 坂を下る場合は労力が小さくなり、斜面を横切る場合はその中間程度の労力になります。 前のセクションで説明した移動方向の特性と鉛直方向ファクターとの組み合わせは、斜面の到達方法に影響を与えます。 ソースから遠ざっているのか、ソースに向かっているのかによって、結果が異なる場合があります。
上記のサーフェス距離と鉛直方向ファクターを明確に区別しておいてください。鉛直方向ファクターは、斜面を上るための労力に基づいて距離の到達方法を変更するのに対し、サーフェス距離は、サーフェスの起伏に基づいて実際の移動距離を調整します。 使用例や詳細については、「鉛直方向ファクターを使用した到達距離の調整」をご参照ください。
水平方向ファクター
[水平方向ファクター] パラメーターを使用すると、移動者が風や海流などの水平方向の影響を受けた場合の距離への影響を考慮することができます。 たとえば、移動者がボートで、風や海流に沿って移動する場合、距離を移動する速度は速くなります。 ただし、風や海流に逆らって移動する場合、距離を移動するのに時間がかかります。 ボートが風や海流に対して斜めに移動する場合、影響はあまり大きくありません。 たとえば、飛行機でロサンゼルスからニューヨーク市まで西から東に移動する場合、東から西に移動する場合に比べて、水平方向ファクターは顕著になります。 卓越風の影響により、西から東へ飛行する方が時間はかからず、飛行機は高速で多くの距離を移動できます。 使用例や詳細については、「水平方向ファクターを使用した到達距離の調整」をご参照ください。
平面方法と測地線方法の距離計算への影響
距離は、計算する際の空間参照系が平面か測地線かによって異なることがあります。 平面方法で計算する場合、距離の計算値が計測されている距離、計算が実行されている世界での位置、および指定した投影法に基づいて、距離が異なることがあります。 測地線方法で距離を計算すると、世界での位置、または場所間の距離にかかわらず、常に正しい地表面の距離が計算されます。 詳細については、「測地線距離と平面距離」をご参照ください。
距離累積解析シーケンス
[距離累積 (Distance Accumulation)] ツールは、直線距離の計算値に調整を組み込み、一連の修正パラメーターを通じて距離に到達する速度を定義します。 ツールのパラメーターを順次確認し、解析に関連するパラメーターを設定します。 一連の修正パラメーターを通じて、距離を計算し、その距離の到達速度を求めるためのほとんどのシナリオを制御できます。 これらの修正案について、以下に説明します。
距離の計算
[入力ラスター、またはフィーチャ ソース データ] パラメーターに、距離を求める始点の位置を指定します。
障害物またはバリアを考慮して直線距離を調整するには、これらを [入力バリア ラスターまたはフィーチャ データ] パラメーターに指定します。
実際に移動するサーフェス距離を考慮して直線距離を調整するには、[入力サーフェス ラスター] パラメーターに標高サーフェスを指定します。
距離に到達する速度の定義
地形を移動する移動者をシミュレートするには、移動者が到達する地形を特定します。 [入力コスト ラスター] パラメーターにコスト サーフェスを指定します。
移動者の個別特性を定義するには、[ソースの特性] カテゴリを展開し、使用可能なオプションを確認します。
- 移動する前に発生する開始距離またはコストを設定するには、[初期累積] パラメーターに指定します。
- 許容できる距離またはコストの上限を設定するには、[最大累積] パラメーターに指定します。
- 距離に到達する速度が変化する交通モードを設定するには、[コストに適用する乗数] パラメーターに乗数を指定します。
- 移動者の移動方向を、ソースから離れる方向またはソースに向かう方向に設定するには、[移動方向] パラメーターに方向を指定します。
到達した斜面を上る労力を考慮するには、[垂直方向の移動を基準としたコスト] パラメーターを展開し、[入力鉛直方向ファクター] に標高サーフェスを指定して、鉛直方向ファクターを指定します。
風や海流などの水平方向の影響を考慮するには、[水平方向の移動を基準としたコスト] パラメーターを展開し、[入力水平方向ファクター] にラスターを指定して、水平方向ファクターを指定します。
サーフェス モデルの定義
地球の実際の形状を楕円体として考慮するには、[距離計算の方法] パラメーターを [測地線] に設定します。 デフォルトの [平面] (平面地球) 方法の計算は、2 次元直交座標系を使用して投影された平面で実行されます。 [測地線] 設定の場合、3 次元直交座標系で計算が実行され、より正確な結果が生成されますが、処理時間が増加する可能性があります。
距離アロケーションツール
[距離累積 (Distance Accumulation)] ツールは、距離累積ラスターと、必要に応じてバック方向ラスター、ソース方向ラスター、およびソース位置ラスターを出力します。 [距離アロケーション (Distance Allocation)] ツールには、[距離累積 (Distance Accumulation)] ツールと同じパラメーターが含まれ、同じ出力ラスターを作成できますが、距離アロケーション ラスターも出力されます。
距離累積ラスターは、最も近いソースまたは最小コスト ソースまでの累積距離を計算します。 バック方向ラスターは、各セルから移動して最も近いソースまたは最小コスト ソースに戻る際の方向を示します。 ソース方向ラスターは、最も近いソースまたは最小コスト ソースへの方向を決定します。 ソース位置ラスターは、最も近いソースまたは最小コスト ソースの行と列を特定します。 各セルに対して、距離アロケーション ラスターは、到達するのに最も近いソースまたは最小コスト ソースを特定します。
従来のコスト距離ツール
ArcGIS Pro 2.5 以前は、距離の計算方法の特性上、さまざまな距離修正パラメーターを制御する一連のツールが必要でした。 ユークリッド距離または直線距離は、終点セルの中心とソース セルの中心の間で直接計算されていました。 コスト距離は隣接セル間に構築された一連のエッジに沿ってネットワーク距離を計測するため、コスト距離解析には個別のツールが必要でした。 [距離累積 (Distance Accumulation)] ツールと [距離アロケーション (Distance Allocation)] ツールは、直線距離とコスト距離、およびそれらのすべてのバリエーションを計算できます。 基になるアルゴリズム、および直線距離とコスト距離が単一のツールで実行できるようになった仕組みの詳細については、「距離累積の仕組み」をご参照ください。
距離サーフェス上の場所の接続
場所がどれだけ離れているかを知ることは有益ですが、最短パスまたはコストが最も低いパスで一連の場所を接続する最適な方法を知りたい場合があります。 場所を接続するには、主に 3 つのシナリオがあります。
- 接続したい一連の場所があるとします。 最適な方法 (最短または最小コスト) で場所を接続するパスのネットワークを必要としています。
- 特定の場所と他の特定の場所を最適パスで接続する必要があります。
- 特定の場所と他の特定の場所を最適コリドーで接続する必要があります。
最適な接続を使用した一連の場所の接続
[最適領域接続 (Optimal Region Connections)] ツールを使用して、一連の場所または領域を最短または最小コスト パスのネットワークで接続します。 このツールでは、どの領域同士が接続されているかは重要ではありません。 できるだけ最短または最小コストで接続する必要があります。 これには、接続する場所または領域を指定し、必要に応じてコスト サーフェスを指定します。 出力されるパスのネットワークでは、任意の場所から他の任意の場所に移動できますが、ある場所を経由して離れた場所に移動する必要がある場合もあります。
使用例や詳細については、「最適ネットワークによる領域の接続」をご参照ください。
パスによる特定の場所間の接続
このシナリオでは、特定の場所を他の特定の場所に接続する必要があります。 これは、2 つのステップで完了します。 まず、特定の場所に接続する他の特定の場所を使用して、[距離累積 (Distance Accumulation)] ツールを実行します。 ツールから 2 つの出力 (累積距離ラスターとバック方向ラスター) を生成する必要があります。 2 つ目のステップでは、先ほど作成した 2 つのラスターと、接続したい他の特定の場所を、[最適パス (ライン) (Optimal Path As Line)] ツールまたは [最適パス (ラスター) (Optimal Path As Raster)] ツールの入力として使用します。 ツールはバック方向ラスターを使用して、他の特定の場所から初期の場所までパスをさかのぼります。 2 つのツールの違いは、一方は生成される最適パスをライン フィーチャとして返し、他方はラスターとして返す点です。
使用例や詳細については、「最適パスによる位置の接続」をご参照ください。
コリドーによる特定の場所間の接続
このシナリオは、特定の場所を他の特定の場所に接続するパスのシナリオに似ています。 ただし、今回のシナリオでは、場所を直線パスで接続する代わりに、コリドーで接続します。 すべてのポイントで、コリドーの幅はコストに基づいています。 接続するパスを囲む単純なユークリッド バッファーではありません。 コリドーを作成するには、まず特定の初期の場所で [距離累積 (Distance Accumulation)] を実行します。 その後、接続する他の特定の場所でツールを実行します。 次に、生成される累積距離ラスターとバック方向ラスターを [最小コスト コリドー (Least Cost Corridor)] ツールの入力として使用します。 コリドーの幅を定義するには、合計累積コスト距離ラスターの最小値の割合として閾値を適用するか、指定した累積コストで閾値を適用します。
使用例や詳細については、「位置とコリドーの接続」をご参照ください。