Challenge #67: Calculate Spatial Angles ~角度の計算~ – Alteryx Weekly Challenge

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

当エントリは『Alteryx Weekly Challenge:Intermediate Level Advent Calendar 2018』の21日目です。

『Alteryx Weekly Challenge:Intermediate Level Advent Calendar 2018』では、Alteryx Communityで公開されているWeekly ChallengeのIntermediate Levelにひたすら1人で挑戦していきます。

今回は角度の計算に挑戦します。

動作環境

当エントリの執筆には、以下の環境を利用しています。

  • Windows 10 Pro
  • Alteryx Designer 2018.4.4.54346 英語版

Challenge #67: Calculate Spatial Angles

お題

今回挑戦するお題はこちら。

「Input」側のデータはこちら。

「Output」側のデータはこちら。AとBの2つの位置情報から距離と角度を出力しています。

解答の概要

今回作成するワーフクローは以下の通りです。

  1. 斜辺の出力
  2. 高さの出力
  3. 角度の出力

斜辺の出力

Poly-Buildツール(Spatial -> Poly-Build)を使用して、AとBの2つPointデータからLineデータを作成します。Build Method には Sequence Polyline を選択します。

Spatial Infoツール(Spatial -> Spatial Info)を使用して、2つの地点の緯度経度の情報と距離をマイル単位で出力します。Spatial Object Field には先ほど作成したLineデータを選択し、Item To Output には End Points as X and Y Fields (エンドポイントの緯度経度の出力)と Length (Miles) (マイルの出力)を選択します。

これで斜辺を出力できました。

高さの出力

Create Pointsツール(Spatial -> Create Points)を使用して、A地点の経度とB地点の緯度でPointデータを作成します。

Filterツール(Preparation -> Filter)を追加し、「Input」側に用意されているデータと接続します。Filterツールで「Label」列が「B」のデータ(B地点のデータ)のみ抽出します。

Unionツール(Join -> Union)を追加し、Create Pointsツールの出力とFilterツールの T の出力のデータを結合します。「Centroid」列にPointデータが出力されるように設定します。

斜辺の出力と同様に、Poly-BuildツールとSpatial Infoツールを使用して、2つの地点の距離をマイル単位で出力します。これで高さを出力できました。

角度の出力

Joinツール(Join -> Join)を使用して、Create Pointsツールの出力とSpatial Infoツールの出力のデータを接続します。データの結合には Join by Record Position を使用します。

Formulaツール(Prepalation -> Formula)を使用して、「Angle」列をDouble型で作成し、角度を出力します。

式には以下の通り設定しています。

ASIN([Right_LengthMi] / [LengthMi]) * 180 / PI()

Selectツールを使用して、不要な列の削除と名前の編集を行います。

結果を確認して完成です。

最後に

今回はWeekly ChallengeのChallenge #67: Calculate Spatial Anglesに挑戦しました。

明日もお楽しみに!

サンプルワークフローのご案内

クラスメソッドでご契約のユーザー様向けに、当ブログでご紹介したワークフローを専用ポータルにて公開しております。当エントリでご紹介したワークフローも公開予定ですので、ご参考にしていただきますと幸いです。

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

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

alteryx_960x400