距離解析

Spatial Analyst のライセンスで利用可能。

距離解析は大半の GIS アプリケーションに備わっている基本機能です。 最も単純な意味合いにおける距離とは、あるものと別のものがどれだけ離れているかを表す計測値です。 直線とは、2 つの場所間の最短距離を指します。 ただし、考慮すべきことは他にもあります。 たとえば、ルート上にバリアがある場合はそれを迂回する必要があります。その結果、ある場所から別の場所までの合計移動距離が増えます。 サーフェスのテクスチャも考慮に入れる必要があります。平坦な地面から起伏の多い地形に変わった場合、実際の移動距離が増えることがあります。 出発地点から目的地までたどり着くのに必要な労力に影響する可能性のある要素は他にも数多くあります。 地形の険しさ、向かい風か追い風か、交通手段、ルート上の土地被覆のタイプなどが挙げられます。 平面方法と測地線方法のどちらで計算を行うかによって、距離の計測にも差が出てきます。

目的地にたどり着くまでのさまざまな経路を見る移動者

さまざまなシナリオで距離を計算するのに使用できるツールが Spatial Analyst エクステンションには用意されています。 これらのツールには、さまざまな修飾子を操作に適用するのに使用できる複数のパラメーターがあります。 そのため、より適切な解析上の決断に使用できる、精度の高い出力が生成されます。

距離解析は主に次の 2 つのタスクに分けられます。

  • 最も近い、または最も労力がかからないソースまでの距離を計算する。
  • 距離サーフェス上で最適パスを使用し、複数の場所を接続する。

距離の計算

距離を計算するときに考慮するべき次の 2 つの側面があります。

  • 何かからの距離を決定する。
  • その距離が決定された後に、移動者がその距離に達する速度を考慮する。

何かからの距離を決定する

距離を計算するうえで基本的な要素は、あるものと別のものがどれだけ離れているか判断することです。 これを、2 つのポイント間の直線距離、またはユークリッド距離と言います。 詳細については、「直線距離の計算」をご参照ください。

4 つのポイントから計算した直線距離のマップ
各セルから最寄りの変電所 (紫色のポイント) まで、直線距離を計算します。 距離は距離単位で計測されます。

ただし、バリアやサーフェス距離など、直線距離を変える可能性があるその他の要素があります。

河や崖、高速道路、建物などのバリアがあると、ある場所から別の場所まで直線で移動できなくなります。 バリアを迂回すると移動距離が増えるため、最短距離を知る必要があります。 ユース ケースと追加情報については、「距離の計算におけるバリアの考慮」をご参照ください。

地形を移動する際に移動しなければならない、地表面の実際の距離をサーフェス距離と言います。 サーフェス距離は、実際の地表面の上昇と下降の起伏を考慮すると、直線距離よりも遠くなります。 ユース ケースと追加情報については、「距離の計算におけるサーフェスの考慮」をご参照ください。

移動者による距離の移動

多くの場合、移動者が距離をどのように移動するかが関心の的となります。 移動者が存在することが、常に想定されます。 人間や動物などの生物が移動者として扱われます。 あるいは、パイプラインや道路などの、非生物の物体であることもあります。 つまり、パイプラインや道路を建設する際、各セル内に平地や急斜面、森林、湿地などさまざまな地形フィーチャが配置されます。 基本的な直線距離を計算する場合、移動者を無風の状態で低空飛行している鳥や飛行機として考えることができます。このとき、移動者は地表面の条件の影響を受けません。

移動者が距離に達するには、複数の要因の影響を受けます。 それぞれが、距離に達する速度に影響します。 距離に達する速度を制御する要因には、次のようなものがあります。

  • コスト サーフェス
  • ソースからの移動者の特性
  • 垂直方向ファクター
  • 水平方向ファクター

コスト サーフェス

コスト サーフェスとは、場所のフィーチャがセル内の移動に及ぼす影響を、セルごとに特定するものです。 場所を通過する際は、移動者にコストがかかります。 セルで定義したコストが低いほど、移動が楽になります。 たとえば、何もない野原であればハイカーはすばやく簡単に移動できますが、木々が生い茂る泥道の森ではたやすく移動できないため、より多くの労力が必要となり、距離単位の移動にかかる時間も長くなります。 ユース ケースと、コスト サーフェスが距離の到達に及ぼす影響については「コスト サーフェスを使用した到達距離の調整」をご参照ください。

4 つのポイントから計算した累積コスト距離のマップ
累積コスト距離は、コスト サーフェス上で、各セルから最も安い変電所 (紫色のポイント) まで計算されます。

距離はコストの割合として計測されます。 コスト サーフェスにより、コスト距離は直線距離の結果のように各ソースから均等に伸びません。

ソースからの移動者の特性

移動者の特性によって、距離に達する速度が変わることがあります。 次に示す移動者の特性が、距離に達する速度に影響します。

  • 移動手段: これは乗数として適用され、交通手段を定義します。 たとえば、移動者が徒歩で移動しているのか全地形に万能な車で移動しているのかをキャプチャできます。 移動者の数も考慮に入れることができます。 いずれの場合でも、モードによって、どれだけの距離に到達できるかが変わります。
  • 開始コスト: ATV の準備にかかる時間をキャプチャする必要がある場合などに使用します。
  • 最大容量: ATV が燃料切れになるまでの距離やコストなどを特定します。
  • 移動方向: シカが小川に向かって移動しているか、小川から離れているかなどをキャプチャします。

ユース ケースと、移動者の特性が、距離の到達にどのような影響を及ぼすかについては、「ソース特性を使用した到達距離の調整」をご参照ください。

垂直方向ファクター

[垂直方向ファクター] パラメーターを使用し、移動者が上らなければならない傾斜に対する労力を表します。 坂を上る場合はより多くの労力が必要となるため、移動者の速度は低下します。 そのため、その距離に到達するまでには長時間かかります。 同じ距離でも、坂を下る方が労力が少なくなります。斜面に沿って移動する場合は、上り坂と下り坂の移動の中間程度の労力が必要です。 前のセクションで説明した移動距離の特性と、垂直方向ファクターが、傾斜の移動に影響を及ぼします。 ソースから離れたりソースに近づいたりすると、異なる結果が生成される場合があります。

前述のサーフェス距離と垂直方向ファクターの違いを明確にするために、垂直方向ファクターは傾斜を上るために必要な労力に基づいて、移動する距離を修正します。一方で、サーフェス距離は、サーフェスの起伏に基づいて、実際の移動距離を調整します。 ユース ケースと追加情報については、「垂直方向ファクターを使用した到達距離の調整」をご参照ください。

水平方向ファクター

[水平方向ファクター] パラメーターを使用し、移動者が水平方向に影響を及ぼす要因 (風や海流など) に遭遇した場合の距離への影響を表します。 たとえば、移動者が風や水流の力を借りて船で移動している場合は、移動速度は速くなります。 ただし、風や水流に向かって移動している場合は、距離に到達するまでに時間がかかります。 船がある角度を成して風や水流にぶつかる場合は、影響はそれほど大きくはないかもしれません。 たとえば、ロサンゼルスからニューヨーク シティに向かって、飛行機で西から東に移動する方が、東から西への移動よりも水平方向ファクターが大きくなります。 卓越風の影響により、西から東への移動の方が時間が短く、飛行機はより速い速度でより多くの距離を網羅できます。 ユース ケースと追加情報については、「水平方向ファクターを使用した到達距離の調整」をご参照ください。

平面方法と測地線方法による距離計算への影響

距離は、平面空間参照系で計算するか、測地線空間参照系で計算するかによって異なることがあります。 平面方法を使用する場合は、距離計算がどの程度まで計測されるか、世界のどこで計算が行われるか、どの投影法を使用するかによって、距離が異なります。 測地線方法で距離を計算すると、世界のどこにいても、あるいは場所がどれだけ離れていても、常に真の地表面の距離が導き出されます。 詳細については、「測地線距離と平面距離」をご参照ください。

距離累積の解析シーケンス

[距離累積 (Distance Accumulation)] ツールは、直線距離の計算への調整を取り入れ、一連の変更パラメーターによって、距離に到達する速度を定義します。 ツールのパラメーターを順番に表示し、解析において関連性があるものに入力します。 一連の変更パラメーターによって、距離計算と、その距離に到達する速度を決定するためのほとんどのシナリオを網羅できます。 変更の方法を以下に示します。

距離の計算

[入力ラスター、またはフィーチャ ソース データ] パラメーターで、距離を決定する基点となる位置を指定します。

障害物やバリアに対応するために直線距離を調整するには、[距離バリア ラスターまたはフィーチャ データ] パラメーターで特定します。

実際に移動したサーフェス距離を考慮するために直線距離を調整するには、[入力サーフェス ラスター] パラメーターに標高サーフェスを指定します。

距離に達する速度を決定する

移動者による地形の移動をシミュレートするには、移動者がどのような条件で移動するかを特定します。 [入力コスト ラスター] パラメーターでコスト サーフェスを指定します。

移動者の一意の特性を定義するには、[ソース特性] カテゴリを展開し、使用可能なオプションを表示します。

  • 移動する前に発生する開始距離やコストを設定するには、[初期累積] パラメーターで指定します。
  • 許容できる距離またはコストの量に制限を設けるには、[最大累積] パラメーターでそれらを指定します。
  • 距離に達する速度を左右する交通手段を設定するには、[コストに適用する乗数] パラメーターで乗数を指定します。
  • 移動者の移動方向 (ソースからの移動、ソースに向かう移動) を設定するには、[移動方向] パラメーターで方向を指定します。

移動者が傾斜を上る際に必要とする労力を考慮するには、[垂直方向の移動を基準としたコスト] パラメーターを展開し、[入力垂直方向ファクター] で標高サーフェスを指定し、垂直方向ファクターを指定します。

風や水流などの水平方向の影響を考慮するには、[水平方向の移動を基準としたコスト] パラメーターを展開し、[入力水平方向ファクター] でラスターを指定し、水平方向ファクターを指定します。

サーフェス モデルの定義

地球の実際の形状 (楕円体) を考慮に入れるには、[距離計算の方法] パラメーターを [測地線] に設定します。 デフォルトの [平面] 平面地球方法の計算は、2 次元直交座標系を使用して投影された平面で実行されます。 [測地線] 設定の場合、より正確な結果を生成する 3 次元直交座標系で計算が実行されますが、処理時間が長くなる場合があります。

距離アロケーション (Distance Allocation) ツール

[距離累積 (Distance Accumulation)] ツールは距離累積ラスターを出力しますが、それ以外にも必要に応じてバック方向、ソース方向、ソース位置ラスターを出力します。 [距離アロケーション (Distance Allocation)] ツールには、[距離累積 (Distance Accumulation)] ツールと同じパラメーターがあり、同じ出力ラスターを作成しますが、距離アロケーション ラスターも出力します。

距離累積ラスターは、最も近いソースまたは最小コスト ソースまでの累積距離を計算します。 バック方向ラスターは、各セルから移動して最も近いソースまたは最小コスト ソースに戻るための方向を示します。 ソース方向ラスターは、最も近いソースまたは最小コスト ソースへの方向を決定します。 ソース位置ラスターは、最も近いソースまたは最小コスト ソースの行と列を識別します。 距離アロケーション ラスターは、セルごとに、到達する最も近いソースまたは最小コスト ソースを示します。

従来のコスト距離ツール

ArcGIS Pro 2.5 までは、距離の計算方法が原因で、複数のツールを用意してさまざまな距離修飾子をキャプチャする必要がありました。 ユークリッドまたは直線距離は、移動先セルの中心とソース セルの中心との間で、直接計算されます。 コスト距離解析には、別のツールが必要です。それは、コスト距離は、隣接するセル間に構築された一連のエッジに沿ってネットワーク距離を計測するからです。 [距離累積 (Distance Accumulation)] ツールと [距離アロケーション (Distance Allocation)] ツールは直線距離とコスト距離、およびそのすべてのバリエーションを計算できます。 基になるアルゴリズムの詳細と、直線距離とコスト距離を 1 つのツールで計算できるようになったことについては、「距離累積の仕組み」をご参照ください。

距離サーフェス上の位置の接続

何らかのものがどれだけ離れているか知ることは有用ですが、一連の場所を最短パスでつなぐ、あるいは最小コストのパスでつなぐための最善の方法を把握しておきたいこともあります。 位置の接続には主に次の 3 つのシナリオがあります。

  • 接続する位置が複数ある。 パスのネットワークにより、最適な (最短または最小コストの) 方法で接続する。
  • 特定の位置を、最適なパスによって別の位置と接続する。
  • 特定の位置を、最適コリドーによって別の位置と接続する。

最適な接続による位置の接続

[最適リージョン接続 (Optimal Region Connections)] ツールを使用すると、一連の位置や領域を最短パスまたは最小のパスのネットワークを接続できます。 このツールを使用すると、どの領域がどこに接続されていてもかまいません。 最短または最小コストの方法で接続します。 そのためには、接続する位置や領域を指定し、必要であればコスト サーフェスを指定します。 生成されるパスのネットワークでは、どの位置からでもある位置に到達できますが、遠方の位置に到達するためには、位置を通過する必要があるかもしれません。

最小コストのパスで 4 つのポイントを接続
4 つの変電所 (紫色のポイント) は、変電所間の最小コスト パス (青のライン) をたどる電線で接続されています。

ユース ケースと追加情報については、「領域と最適なネットワークとの接続」をご参照ください。

パスによる特定の位置の接続

このシナリオでは、特定の位置を別の特定の位置に接続します。 これは、2 つのステップで完了します。 まず、別の特定の位置に接続するための特定の位置を使用し、[距離累積 (Distance Accumulation)] ツールを実行します。 累積距離ラスターとバック方向ラスターという 2 つの出力をツールから生成する必要があります。 2 つ目の手順では、先ほど作成した 2 つのラスターと、接続する別の特定の位置を、[最適パス (ライン) (Optimum Path As Line)] ツールまたは [最適パス (ラスター) (Optimum Path As Raster)] ツールへの入力として使用します。 これらのツールは、バック方向ラスターを使用し、別の特定の位置から初期位置までのパスを逆方向にトレースします。 2 つのツールの違いとは、1 つは生成された最適パスをライン フィーチャとして返し、もう 1 つはラスターとして返す点です。

ユース ケースと追加情報については、「最適パスを使用した位置の接続」をご参照ください。

コリドーによる特定の位置の接続

このシナリオは、特定の位置を別の特定の位置と接続するパスのシナリオと似ています。 ただし、線形パスで位置を接続する代わりに、このシナリオではコリドーを使用して接続します。 任意のポイントのコリドー幅は、コストに基づきます。 接続パス周辺の、単純なユークリッド バッファーではありません。 コリドーを作成するには、まず特定の初期位置で [距離累積 (Distance Accumulation)] を実行します。 次に、接続する他の特定の位置でツールを実行します。 生成された 2 つの距離ラスターを [コリドー (Corridor)] ツールの入力として使用します。 [Con] ツールなどの条件付きの Spatial Analyst ツールを使用し、生成されるラスターに [コリドー (Corridor)] から閾値を適用します。これによって、コリドーの幅を定義できるようになります。

ユース ケースと追加情報については、「コリドーによる位置の接続」をご参照ください。

関連トピック