AlteryxのSpatial Object入門

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

こんにちは、小澤です。

Alteryxには地理空間の分析を行う際に便利なツールが多数取り揃えられています。 今回は、これらのツールや地理空間を扱うためのSpatial Objectについて解説していきます。

Spatial Objectとは

Spatial ObjectはAlteryx内部で空間情報を扱うための特殊な変数です。 空間情報を扱うといえば、緯度経度を使った位置情報を思い浮かべる方も多いかもしれません。 Alteryxでは、緯度経度からSpatial Objectを生成できます。 また、Spatial Objectは特定の点での位置情報だけでなく、線や面での領域の情報も扱うことが可能です。

Spatial Objectを含むデータをBrowseツールで表示させると、以下のように地図上にプロットしたものを表示してくれます。

スクリーンショット 2017-08-31 12.44.08

緯度経度をSpatial Objectに変換

さて、では実際にSpatial Objectをどのように作成して、どのように利用するのか見ていきましょう。 まずは、緯度経度として与えられたデータをSpatial Objectに変換します。

以下のように4つ地点の位置情報を持つデータがあるとします。

スクリーンショット 2017-08-31 12.48.24

これをSpatial Objectに変換するにはCreate Pointsツールを利用します。

image75

このツールの設定は以下のようになっており、緯度経度それぞれの値を保持する列を選択しています。

スクリーンショット 2017-08-31 12.51.35

データを確認すると、Create PointsツールによってCentroidという列名でSpatial Objectが作成されていることが確認できます。

スクリーンショット 2017-08-31 12.52.44

このデータをBrowseツールで確認すると、最初に示したような地図が表示されます。

地図上からSpatial Objectを入力する

続いて、Alteryx上で直接Spatial Objectを入力する方法を見てみましょう。 これには、Map Inputツールを利用します。

image20

Map Inputツールは設定画面で以下のように地図が表示されます。

スクリーンショット 2017-08-31 13.03.35

上部にあるメニューでそれぞれ点・線・面での指定が行えます。 例えば面での指定を行うと、以下のように角となる点を順に選択していくことで特定の領域を選ぶことが可能になっています。

スクリーンショット 2017-08-31 13.06.11

左上のチェックマークを選択して領域のしていを終えると、以下のようにこの領域に対するラベル名を入れる状態になりますので、名前を入れて「Save」を選択します。

スクリーンショット 2017-08-31 13.08.08

ラベル名とともにSpatial Objectが作成されているのが確認できます。

スクリーンショット 2017-08-31 13.15.50

商圏エリアの表示

次に、特定の店舗の商圏エリアを表示してみます。 これは、店舗ある位置から半径○km以内がその店舗の利用ユーザであると想定するような場面で活用できます。

以下のように3つ店舗を用意しました。

スクリーンショット 2017-08-31 13.20.29

スクリーンショット 2017-08-31 13.20.40

これにはTrade Areaツールを利用します。

image88

このツールの設定は以下のようになっています。

スクリーンショット 2017-08-31 13.24.55

設定項目としては、

  • 商圏エリアを取得する列名
  • エリアの範囲
  • 距離の単位(km, mileなど)

となっています。 私はあまり歩きたくないので、長距離の移動をして複数店舗の価格比較なんてことはできないため今回は300mとしています。

出力結果は以下のようになります。

スクリーンショット 2017-08-31 13.27.48

札幌駅にいる人はヨドバシカメラとビックカメラかの二択を迫られていることになりますが、ヤマダ電機は離れたところにあるため、大通りあたりにいる人がメインターゲットとなりそうです。 (※ 札幌駅から大通りまではそんなに遠くないので、普通の人ならどちらも歩ける距離と思われます)

Spatial Objectのマッチング

さて、では私はいったいどの店にいくのがいいのでしょうか? それを確認するために、各商圏エリアに入っているかの確認をしてみます。

Spatial Object同士のマッチングにはSpatial Matchツールを利用します。

image86

このツールの設定は以下のようになっています。

スクリーンショット 2017-08-31 14.10.27

これは下側の「U」(Universe)のエリアに入る、上側の「T」(Target)のSpatial Objectのみを取り出します。 上2つの設定では、それぞれの入力ごとに対象とする列を選択しています。 下側はSelectツールなどと同様に列の選択や名前変更ができるようになっています。

今回は、Tの方のデータとして以下のような位置にいる人を対象にしてみました。

スクリーンショット 2017-08-31 14.12.03

マッチしたデータ(「M」の出力)とマッチしなかったデータ(「U」の出力)はそれぞれ以下のようになっています。

スクリーンショット 2017-08-31 14.14.31

スクリーンショット 2017-08-31 14.14.47

この2つをUnionツールで結合すると以下のようになります。

スクリーンショット 2017-08-31 14.16.02

残念ながら、私のように「300mしか歩けない」などという人はなかなか家電量販店にはたどり着けないようです。

終わりに

今回は、Spatial Objectの基本的な部分として、いくつかの扱うツールを紹介しました。 Alteryxの空間情報分析はこの他にも様々なことができます。 ツールの「Spatial」タブに他にもツールがあることが確認できると思いますので、気になるいろいろ使ってみて動きをみてみるといいかと思います。

Alteryxは以下のページから無料トライアルが利用できます。