見出し画像

python:CSVファイルの住所で地図にピン止め(プロット)する

以下にバージョンアップ版がありますので、現在の記事を値下げします。


注意
2024/6/30現在、国土地理院のAPIの仕様が変わったらしく、住所から緯度経度が算出できなくなっています。(一時的なのかどうかわかりません)
駅名からは算出出来ることは確認しています。
そのため、以下のソースを購入しても使用できない可能性が高いです。
2024/07/06現在、国土地理院のAPIの仕様が戻ったみたいです。無料のAPIはこういうのがあるから商用には向きませんね。

「住所情報を含むCSVファイル」を以降「住所CSVファイル」と呼びます。

この「住所CSVファイル」が

こうなります。


pythonを使用して、Web、サーバー、自端末の「住所CSVファイル」の住所情報を読み込んで地図にピン止め(プロット)する方法です。
※pythonの開発環境を持っていない方は購入をしないように気を付けてください。


1.tk、pandas、requests、foliumをインストールします。
※この意味がわからない方はおそらく実行できないので購入をしないように気を付けてください。

pip install tk
pip install pandas
pip install requests
pip install folium

2.pythonで任意のファイル名(例:mapplot.py)に有料部分のソースコードを貼り付けてください。


3.実行するとファイル選択ダイアログ選択画面が起動します。

ここでWeb、サーバー、自端末の「住所CSVファイル」を選択してください。
※1行目は「データ」ではなく、「項目名」が有る事が前提です。
※Shift-JISの場合、UTF-8に自動変換します。
※TAB区切りはカンマ区切りに自動判別して変換します。

以下でWebの「住所CSVファイル」を使用する例の説明をします。
(サーバー、自端末の「住所CSVファイル」は説明を省略します。)

例:「警視庁」の「犯罪発生情報(年計)」の
  「令和4年 ひったくり(CSVファイル:13KB)」

以下の「住所CSVファイル」へのURLをクリップボードにコピーしてください。
※ダウンロードする必要はありません。

https://www.keishicho.metro.tokyo.lg.jp/about_mpd/jokyo_tokei/jokyo/hanzaihasseijyouhou.files/tokyo_2022hittakuri.csv

「ファイル名」にURLを貼り付けてください。


4.通常はCSVファイルごとに住所の列(位置)はバラバラです。
  
  また「都道府県」「市町村」「マンション名」など
  住所が複数列に分かれている場合がありますので、
  このケースも対応しています。

  4-1.住所が1つの列の場合は、
      対象列の数字を1つ入力して
      「OK」をクリックしてください。
      以下の例では7番目に住所が有るCSVファイルのため
     「7」と入力して「OK」をクリックしてください。

  4-2.住所が複数列に分かれている場合は、
      以下の例のように「6,7,8」のように半角カンマ区切りで
      入力して「OK」をクリックしてください。

   上記メッセージボックスには「番号/1行目の項目名/2行目のデータ」
   のように表示され、住所列を特定しやすくなっています。


5.国土地理院APIを使用して、住所から緯度経度を自動で取得します。
  緯度経度を取得したデータが画面に出力されます。
  結構処理に時間がかかるので我慢して待ってください。
  ※テストの場合は10件程度のデータをお勧めします。


6.緯度経度の取得処理が終わりましたら
  1つ目のファイル出力のダイアログが開きます。
  こちらは末尾の列に緯度経度を追加したCSVファイルを出力します。
  ※緯度経度付きのCSVを出力する理由を説明します。
   緯度経度付きのCSVファイルを読み込んだ場合、
   緯度経度の取得処理が行われないので処理がかなり早くなります。


7.次に2つ目のファイル出力のダイアログが開きます。
  こちらは地図にピン止め(プロット)した
  HTMLファイルを出力し、デフォルトブラウザで自動起動します。


以上です。
以下の有料部分にソースコードを記載します。


ここから先は

6,942字

¥ 300

この記事が気に入ったらサポートをしてみませんか?