離島フラグつきのポリゴンを作成

離島フラグつきのポリゴンを作成 | Tableau-id Press -タブロイド-

1.はじめに

初めまして。今年4月からtruestarでインターン生として勤務している修士1年の小河原です!

このブログでは、データ分析初心者である私がAlteryxやTableauなどといった分析ツールについて解説していこうと思います。是非ともこのブログを読んで、私と一緒に頑張ろうと思っていただけると嬉しいです!

2.問題

今回はt.fujiさんから与えられた問題に挑戦したいと思います。今回挑戦する問題はこちらの続きとなっております。こちらのブログでは都道府県ポリゴンを作成して離島を除外しています。そして、私は以下の課題に挑戦します。

ー問題ー
市区町村レベルのポリゴンに離島フラグを付ける
カラム名:『離島』
コード:0or1 ※1が離島

とても難しそうですね・・・(笑) 私は相当時間がかかってしまいました。

最終形は以下のようになります。

3.解説

そもそもなぜこのようなことをするのでしょうか。

この手順で加工されたデータは最終的に商圏分析などに使われます。商圏分析とは簡単に言うと、地理情報を用いてマーケティングを行うことです。詳しくはr.itoさんのこちらのブログで詳しく説明しているので是非読んでみてください。

ですが、商圏分析をする際に、全く収益が見込めなさそうな島を表示してしまっても意味がないですよね。無人島に新しく新店舗を出店しても意味ないですから(笑)

今回は本土に加え、離島のデータも使用することで、離島と本土を離島フラグで判別できるように工夫します!

今回の問題は以下の3つのステップに分けて進めていきます。

1.ローデータの前処理

2.都道府県ポリゴンの作成

3.市区町村レベルのポリゴンを離島と本土に分類

しかし、t.fujiさんのブログで「ローデータの前処理」と「都道府県ポリゴンの作成」は行われているので、「市区町村レベルのポリゴンを離島と本土に分類」から進めていきます。「ローデータの前処理」と「都道府県ポリゴンの作成」に関してはこちらを参照してください。

ーポリゴンとはー

解説に入る前に、ポリゴンについて説明します。

空間分析を行う際には、空間オブジェクトを使用しますが、空間オブジェクトの種類には「点」や「線」などがあります。ポリゴンもそのうちの1つです。

ポリゴンとは、「面」に関する空間情報を持つ空間オブジェクトです。つまり「都道府県ポリゴンの作成」では、都道府県ごとにどのような「面」になっているのかを示しています。

では早速解説に入りたいと思います。

まず、市区町村レベルのポリゴンを離島と本土に分類するためには、2つのポリゴンを使用します。1つ目は「離島を含んだ市区町村レベルのポリゴン」です。

こちらのポリゴンは離島を含んだすべてのポリゴンが市区町村レベルの粒度で保存されているものになります。

そしてもう1つは「離島除外の都道府県ポリゴン」です。

こちらのポリゴンは離島を除外したポリゴンが都道府県レベルの粒度で保存されているものになります。

この2つのポリゴンを重ねることで重なるところが本土、重ならないところが離島になります。ポリゴンを重ねるためには空間マッチツールを使用します。

空間マッチツールとは

「ターゲット(T)入力からの空間オブジェクトのセットと、ユニバース(U)入力からの空間オブジェクトのセットを受け入れ、一致(M)と不一致(U)を出力する」ツールです。

空間ツールを初めて使う私にとってはここが一番難しかったです・・・。

今回重要なことは「離島除外都道府県ポリゴンにマッチングする市区町村レベルのポリゴンの行を返すこと」です。

つまり、出力したいものは「市区町村レベルのポリゴンの行」です。

空間マッチツールではU 入力からのポイントにマッチするT 入力からの行を表示するため、今回は

①市区町村レベルのポリゴン→T入力

②離島除外都道府県ポリゴン→U入力

でつなぎます。

データ量が膨大なので香川県のみ抽出して出力結果を見てみましょう。

ちゃんと市区町村レベルのポリゴンが離島と本土で分かれていますね。ここまで出来たら、離島の列を新しく作成して離島の場合は1、本土の場合は0をつけてユニオン結合を行います(初心者なりに考えた方法になります(笑))。

今回はフォーミュラツールを使ってフラグを付けていきます。

フォーミュラツールとは

「1つまたは複数の式を使用して列を作成または更新する」ツールです。

フォーミュラツールでは他にも文字列データの変換や空間データ分析など様々な計算を行うことができます。

フォーミュラツールを使用して新しく「離島」と名付けた列を作成し、0または1のフラグを付けていきます。

続いてユニオンツールを使用して①本土の市区町村レベルのポリゴン②離島の市区町村レベルのポリゴンを結合させます。

ユニオンツールとは

「フィールド名または位置に基づいて2つ以上のデータを結合する」ツールです。

今回フィールド名に基づいて結合します。

これでほぼ終了ですが、都道府県別に並び替えると後々見やすいかもしれませんね。ソートツールを使用して都道府県別に並び替えておきます。

正しくフラグがつけられていますね。しかしよく見てみるとレコード数が増加しているような気がします・・・

150個くらい増加してますね(笑)本来ならユニオン結合後も118899個出なけらばなりません。これは1つの市区町村レベルのポリゴンが2つ以上の都道府県ポリゴンとマッチし、重複していることが原因であると考えられます。

なので、重複列を削除するツールを使用しましょう!今回はユニークツールと使用します。

ユニークツールは

「選択された列に基づいて固有データと重複データを分ける」ツールです。

今回は重複する「ポリゴン」を削除していきます。

ちゃんと118899個でレコード数が一致しましたね。

4.おわりに

いかがでしたでしょうか。

今回は初投稿でしたが、様々なツールが出てきました。フォーミュラツールやソートツールなどはexcelよりも分かりやすく活用することができました。

特にexcelしか使っていなかった私としては空間オブジェクトに触れるのは初めての経験でした!空間マッチツールを使用すれば特定の地域の店舗などの抽出も行えそうですね。

このような形で分析ツールについて学んでいき、その過程をお伝えしていきたいと思います。最後まで読んでいただきありがとうございました!