課題

現在の Google マップは、Excel データをインポートして、地図上にマッピングすることが出来ます。

しかし、「路線駅ごとに半径1km圏内に該当する施設を自動でマッピングする」ためには、以下の課題を解決する必要があることがわかりました。

  • 全データをインポートしてしまうと、半径1km圏外にある施設は一つ一つ削除しなければならない。
  • ターゲット駅の半径1km圏内にある施設は、隣駅の1km圏内に入っていることもある。
  • ターゲット駅の所在する区や市でデータを抽出しただけでは、隣接する区や市の施設情報が抜けてしまう。
  • マッピングされた地図の施設名データを作成する

これらの条件をクリアするために、ターゲット駅毎に、1km圏内の存在する施設をExcel住所録から抽出、そのデータをGoogle マップへインポートすることにしました。

方法

1. 住所情報から、緯度と経度を収集

いろいろ探して検証した結果、使い勝手の良いたいへん優れたツールに巡りあうことができました。

ジオコーディングと地図化
※ジオコードできる数は、1 つの IP アドレスから 24 時間以内2,500 件に制限されています。

★Excelから緯度経度を求める方法
・excelのの住所録から緯度経度を求めたい
VBAのお勉強 住所の文字列→緯度・経度を求める
※web.archive.org のアーカイブへリンク

2. 緯度と経度の情報を、Excelに追加

一般的な Excel の処理を行いました。

3. ターゲット駅の半径1km圏内の条件で抽出

1kmの経度/緯度±値を使って、抽出条件の関数で抽出しました。

※経度や緯度の概念を覚えていないので、以下のような難しいことは出来ませんでした。
2地点間の距離と方位角 – 高精度計算サイト
緯度、経度の違いから距離を求めるエクセルシート

4. ターゲット駅の半径1km圏内の目安となる図形を作成

ターゲット駅毎にkmlを作成しました。

地図に円を描く (Google Maps API V3版)

5. Google マップへ抽出したデータをインポート

6. 目視で、1km圏外のデータの有無を確認

まとめ

所在地の地名や番地あっていても、建物名に正確さが欠けていると、必ずしも正しい場所へマッピングされないことがわかりました。

この確認のためには目視作業が必須でした。