Alteryxで特定の場所から各地への距離を出力する

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは。Alteryxサポートエンジニアとして勉強中のスズです。

今回はAlteryxで特定の場所から各地への距離を出力する方法についてご紹介します。

特定の場所から各地への距離を出力する

ワークフローの概要

弊社の秋葉原オフィスを出発地点、国内の各オフィスを到着地点として、距離を出力してみます。作成するワークフローは以下の通りです。

  1. Text Inputツールで各地点の緯度経度を入力
  2. Create Pointsツールで位置情報を出力
  3. Selectツールで不要な列を削除
  4. Filterツールで出発地点と到着地点のデータを振り分け
  5. RecordIDツールで到着地点のデータにIDを割り当て
  6. Append Fieldツールで出発地点と到着地点のデータの結合
  7. Transposeツールで出発地点と到着地点の位置情報を一列に表示
  8. Poly-Buildツールで出発地点と到着地点を直線で結ぶ
  9. Spatial Infoツールで距離を出力
  10. Joinツールで距離のデータと到着地点の名前を結合
  11. Browseツールで結果の確認

ワークフローの詳細

In/Out -> Text Input を使用して、各地点の緯度経度を入力します。「Location」に場所、「Latitude」に緯度、「Longitude」に経度を入力しています。

Spatial -> Create Points で各地点の緯度経度のデータからPointという位置情報を出力します。[X Field (Longitude)]に経度、[Y Field (Latitude)]に緯度を設定しています。

Pointデータを作成しましたので、緯度経度のデータは不要となります。Preparation -> Select で不要な列を削除します。

Preparation -> Fileter で出発地点と到着地点のデータを振り分けます。今回は「秋葉原 本社」が出発地点、それ以外が到着地点となりますので、Basic filter で「Location」「Equals」「秋葉原 本社」を設定します。

True (T) には出発地点のデータが出力されています。

False (F) には到着地点のデータが出力されています。

到着地点のデータに対して、Preparation -> RecordID を使用してIDを割り当てます。

Join -> Append Field を使用して、出発地点と到着地点のデータを結合し、各行に出発地点と到着地点が出力されるようにします。「Centroid」列には出発地点のPointデータ、「Source_Centroid」には到着地点のPointデータが出力されています。

Transform -> Transpose を使用してPointデータを一列に表示します。Key Fields には「Location」「RecordID」「Source_Location」、Data Fields には「Centroid」「Source_Centroid」を選択します。

出発地点(「Centroid」)と到着地点(「Source_Centroid」)のPointデータの組み合わせが、「RecordID」列で同じ数字が割り当てられています。

Spatial -> Poly-Build を使用して、出発地点と到着地点を直線で結びます。Build Method に「Convex Hull」、Source Field に「Value」、Group Field に「RecordID」を選択します。

結果を確認すると、「RecordID」列のIDと、「SpatialObj_Build」のLineデータが出力されています。

Spatial -> Spatial Info を使用して、Lineデータから距離を出力します。Spatial Object Field にはLineデータのある列を選択し、Items To Output には「Length (Kilometers)」を選択してキロメートル単位で出力します。

距離を出力することはできましたが、到着地点が表示されていません。Join -> Join を使用して、到着地点を出力します。RecordID ツールで出力したデータ(ワークフローの概要の5番)とSpatial Infoツールで出力したデータ(ワークフローの概要の9番)を結合、Join by Specific Fields を選択して「RecordID」列でデータを結合します。あわせて、不要な列の削除と並べ替えを行っています。

Join (J) の出力を確認すると、到着地点の名前、Lineデータ、距離が出力されています。

In/Out -> Browse で Catro (Positron) -Most Recent Vintage の地図を表示すると、以下のように表示されています。

東京方面を拡大すると、以下のように表示されます。

最後に

今回は特定の場所から各地への距離を出力する方法についてご紹介しました。今後もAlteryxの機能をご紹介していきます。

Alteryxの導入なら、クラスメソッドにおまかせください

日本初のAlteryxビジネスパートナーであるクラスメソッドが、Alteryxの導入から活用方法までサポートします。14日間の無料トライアルも実施中ですので、お気軽にご相談ください。

alteryx_960x400