Tableau-id Press編集部 / About Author
Tableau-ID AlteryxPODBの「日本の駅データ」でボロノイ図を作ってみた
こんにちは。インターン生として勤務しているk.ogawaraです。
株式会社TRUESTARではSnowflake データマーケットプレイスにてPrepper Open Data Bank(詳細はこちら)として様々なデータを共有していきます!そして、新たに「日本の駅データ」が追加されましたので、こちらを活用して「ボロノイ図」を作成したいと思います。
ボロノイ図とは、「平面上に設定された点の座標をもとに、どの点に最も近いかによって平面上の座標空間を分割した図」のことで葉脈や蜘蛛の巣などに見られます。新しく追加された駅データには駅の座標を示すポイントデータが含まれているため、今回はこちらを利用してボロノイ図を作成していきます。
ボロノイ図を作成することでどのようなメリットがあるのでしょうか。例えば自分が中学・高校受験向けの学習塾を運営する立場で、新しく駅前に塾を展開したいと考えていたとします。その場合「どの駅近くだとアクセスが良いか」「最寄り駅が遠くなってしまう地点は避けたい」ということを考えると思います。そこで今回作成するボロノイ図を指標にすることで、新店舗立地の指標とすることができます。
では早速説明に入りたいと思います。
AlteryxのWFの最終形は以下のようになります。
まずはじめにデータがどのような内容なのか確認します。今回は①日本の駅データ②市区町村基礎データの2つを使用します。
日本の駅データには駅名・駅ポリライン・駅ポイント・事業者種・運営会社・路線名などに加え、駅の属する市区町村名などが含まれています。
市区町村基礎データには、市区町村名・市区町村コード・男女別の人口・市区町村ポリゴンなどが含まれています。今回は主に市区町村名と市区町村ポリゴンを使用していきます。
また、snowflakeの空間データをAlteryxで読み込むと文字列として読み込まれます。spatialobj型への変更が必要になることに注意しましょう。
ではWFの解説をしていきます。今回は範囲を限定して、ボロノイ図を作成したいと思います。私が横浜市出身なので、今回は横浜市内に限定します。そのため、市区町村基礎データを横浜市に絞り、横浜市のポリゴンを作成します。
フィルターツールを使用して、CITY_NAMEが横浜市のレコードのみを抽出します。
横浜市内の市区町村は様々な区で分類されていることが分かります。ですのでこれらの分類された区を結合する必要があります。
今回は集計ツールを使用して、横浜市内にある市区町村ポリゴンをグルーピングすることで「横浜市」のポリゴンを作成していきます。
しっかり横浜市のみのポリゴンが完成してますね。
次に、駅データから横浜市内にある駅のみを抽出します。今回は空間マッチングツールを使用して「駅のポイントデータ」と「横浜市のポリゴンデータ」をマッチさせることで、横浜市内にある駅のみを抽出します。
次にいよいよボロノイで分割します。ボロノイで分割するためには商圏分析ツールを使用して、円商圏を作成する必要があります
商圏分析ツールとは
「ポイントオブジェクトを中心として、設定した半径に基づいたポリゴンを作成する」ツールです。
駅のポイントデータを指定することで、駅の周りの領域を、指定した半径で作成することができます。
ボロノイで分割した後、横浜市内に、どこの駅の領域にも属さない隙間が生成されないように、半径は5kmにしておきます。
ここで重要なことは「オーバーラップを除外する」にチェックを入れることです。このようにすることで各ポイント間で重複しない半径を描くことができます。
いい感じに分割できてますね。
最後に横浜市から外れる領域をカットします。空間プロセスツールを使用することでカットが可能です。
空間プロセスツールは
「2つの空間オブジェクトの結合や重なる部分の切り取りを実行する」ツールです。
空間プロセスツールでは入力された2つの空間オブジェクトの重なる部分を取得することができます。こちらのツールを使用して、①円ボロノイと②横浜市ポリゴンの重なる部分を取得します。
横浜市内のボロノイ図が完成しました!少し見ずらいのでtableauで簡単に可視化してみました。
いかがでしたでしょうか。今回は新しく追加された「日本の駅データ」を使用しましたが、過去には、都道府県ポリゴンの作成していますので、興味のある方はぜひそちらも閲覧してみてください!(詳細はこちら) 次回は今回作成したボロノイポリゴンに、様々な統計量を紐づけていきたいと思います。
株式会社TRUESTARではこのようなデータ加工作業を引き受け、データ分析者がすぐに分析できるような形で共有しています。少しでも興味を持っていただけたら幸いです!