1.21 jigowatts

Great Scott!

Python フリーWiFiスポットを地図にプロットしてみる

概要

printとリストとfor文あたりを触ってみたので、それっぽいことをしてみたくなりまして。オープンデータで検索していたら、FREE Wi-Fi & TOKYO スポット情報というのがあったので、この情報を使わせてもらってJupyter Notebookで地図にプロットしてみます。

環境

macOS High Sierra バージョン 10.13.6
Python 3.7.0

準備

都が提供しているフリーWiFiなんすかね。

【東京都産業労働局】 外国人旅行者等が多く訪れる都立施設などにおいて無料で利用できる公衆無線LANWi-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()

f:id:sh_yoshida:20180809070645p:plain

え?これだけ?

地図にプロット

すべて上手く行っていますね。あとは地図にピンを刺すだけです。

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)で地図の中心地を指定できるっぽいので、東京駅の座標を設定。
拠点名と住所を改行したい場合、改行コードではダメだったのでタグで。

f:id:sh_yoshida:20180809070719p:plain
f:id:sh_yoshida:20180809070827p:plain

ちょっとやってる感が出てきましたね!