Python フリーWiFiスポットを地図にプロットしてみる
概要
print
とリストとfor文あたりを触ってみたので、それっぽいことをしてみたくなりまして。オープンデータで検索していたら、FREE Wi-Fi & TOKYO スポット情報というのがあったので、この情報を使わせてもらってJupyter Notebookで地図にプロットしてみます。
準備
都が提供しているフリーWiFiなんすかね。
【東京都産業労働局】 外国人旅行者等が多く訪れる都立施設などにおいて無料で利用できる公衆無線LAN(Wi-Fi)サービス「FREE Wi-Fi & TOKYO」のスポット一覧です。
opendata-catalogue.metro.tokyo.jp
緯度・経度と住所などの情報が欲しいのでCSVをダウンロードして、Jupyter Notebookのディレクトリに配置しておきます。
CSVと地図にプロットするために以下のライブラリをインストールしました。
$ pip install pandas $ pip install folium
CSVファイルの読み込み
まずはデータを読み込んでみましょう。
import pandas as pd wifi_spots = pd.read_csv("FREE_WiFi_and_TOKYO.csv", encoding="shift-jis") wifi_spots.head()
え?これだけ?
地図にプロット
すべて上手く行っていますね。あとは地図にピンを刺すだけです。
import folium import pandas as pd wifi_spots = pd.read_csv("FREE_WiFi_and_TOKYO.csv", encoding="shift-jis") map = folium.Map(location=[35.6811673,139.7648629], zoom_start=11) for i, spot in wifi_spots.iterrows(): latitude = spot['緯度'] longitude = spot['経度'] popup = spot['拠点名']+ '<br />' + spot['住所'] folium.Marker(location=[latitude, longitude], popup=popup).add_to(map) map
folium.Map(location=[35.6811673,139.7648629], zoom_start=11)
で地図の中心地を指定できるっぽいので、東京駅の座標を設定。
拠点名と住所を改行したい場合、改行コードではダメだったのでタグで。
ちょっとやってる感が出てきましたね!