Alteryxではじめる空間分析-距離計算

Alteryx

Alteryxで行う空間分析について解説するシリーズです。

今回は、距離計算について解説していきます。前回は空間的なマッチングについてでしたが、マッチングしなかったものについてはどれくらい離れているのか、といったことが知りたくなります。距離についても一種の空間的な位置関係を図る一つの手法になるかと思います。

空間分析における距離とは?

一口に距離といってもいろいろなものがあります。空間マッチに絡めての話であれば、2つの空間オブジェクトの距離ということになりますが、それ以外にも距離の要素が出てくる場面があります。改めて距離について考えてみると、以下のものが考えられます。

  • 2つの空間オブジェクト間の距離
  • ラインオブジェクトの距離
  • ポリゴン外周の距離

この下2つの距離は、離れているものの距離ではなく、空間オブジェクトの長さのことです。それぞれ詳しく見ていきたいと思います。

2つの空間オブジェクト間の距離

距離を測る対象物がわかっていれば、「距離」ツールで距離を出力することができます。

距離ツール

これは非常に簡単なツールで、2つの空間フィールド間の距離を測るツールです。例えばある2点間の距離を測定してみましょう。

距離ツールは以下のように設定します。2つの空間フィールドを指定して、欲しいパラメータにチェックを入れるだけです。

結果は以下のとおりです。

距離だけではなく、方向も出すことができます。ざっくりとした「基本方位」は「Direction」というカラム名でおおざっぱにNとかEとかNEとかいった感じで出力されます。「方位度数を出力」オプションであればさらに詳しく度単位で方向がわかります。

出発点は必ずポイント(もしくはポリゴン等であれば中心点)になりますが、行き先はポイントだけではなくラインやポリゴンなども指定可能です。この場合、最も近いエッジ(辺)までの距離が計測されます。この時、「ポリゴンの内部に近傍内点を作成」オプションを有効にすれば、近傍ポイントも作成が可能です。

なお、追加の空間データセットを購入すれば、車を使ったルートでどの程度の時間がかかるか、というのも出力することができますが、現在日本ではこのデータは利用できません。

最寄り地点検索ツール

さて、距離を測る際に、そもそも距離を測るものがわかっていない、つまり最寄りはどれなのか?といったときも距離を計測しているにすぎません。そのような場合は、総当たりで距離を算出し、最も距離の小さいものを取得する、ということはせずとも、「最寄り地点検索」ツールを使うことができます。

このツールも空間マッチツールと同様の考え方で、入力がT入力、U入力の2つがあります。T入力のそれぞれのレコードに対してU入力側から最寄り検索が行われるという仕組みになっています。

最寄り地点検索ツールでは、指定の距離以内で指定数までの最寄り地点を検索する形になります。T入力のあるレコードのデータが条件に全く合わなかった場合、U出力側に出力されるようになっています。

オプションとしては多くなく、T入力、U入力に対してそれぞれ検索対象となる空間オブジェクトを指定します。それ以外に、「検索する最寄りポイント数」を1~20の範囲で指定でき、検索する最大距離を1~100(kmもしくはマイル)単位で指定することができます。同じポイントの場合は「0の距離の一致を無視する」オプションにチェックを入れれば不要なポイントは出てきません。追加のデータセットを購入していれば、ドライブタイムでも検索範囲を指定することができます(繰り返しますが、日本ではデータが販売されていません)。

正直、空間マッチツールと比較すると使用頻度は高くないツールになるかと思います(個人の感想ですが)。

例えば、最寄りを2つまで検索した例は以下のとおりです。

距離とざっくりした方向は出力されますが、距離ツールのように方位度数は出ないため、詳しい方位が知りたければ改めて距離ツールを使ってください。

ラインオブジェクトの距離

ラインの長さも一種の距離です。例えば、A地点からB地点への経路がラインデータとしてわかっているような場合、これはラインデータの長さを測れば距離がわかる、ということになります。

例えば、以下のような中目黒駅から目黒駅間の目黒川の散歩コースを考えてみましょう。

すでにラインデータとして持っているので、この長さを取得したい、ということになります。このような場合は、空間情報ツールが利用できます。

空間情報ツールは欲しい情報にチェックを入れるだけです。これにより以下のようにkm単位で距離を取得できます(マイル単位でも取得できます)。

結果は以下の通り。

ポリゴン外周の距離

あまりこのようなことをすることは無いかもしれませんが、ポリゴンの外周の距離を出すにはどうすれば良いでしょうか?ラインデータの用に一発で値が得られるでしょうか?正解です。

ラインデータと同じように空間情報ツールで、「長さ(キロメートル)」にチェックを入れれば、外周の距離が得られます。

まとめ

  • Alteryx Designerを用いて様々な距離に関する処理をご紹介しました
  • 2つの空間オブジェクトの距離を算出する「距離」ツールについてご紹介しました
  • 2つのデータセットから最寄り地点を検索する「最寄り地点検索」ツールをご紹介しました
  • ラインの長さやポリゴンの外周の長さを計算する「空間情報」ツールについてご紹介しました

サンプルワークフローダウンロード

コメント

タイトルとURLをコピーしました