目次
必要なライブラリのインストール(Colab用)
# Colab環境では必要に応じてインストール
!pip install folium geopy plotly
foliumで緯度・経度をプロットする
import folium
from IPython.display import HTML
# 東京駅を中心に地図を作成
map_tokyo = folium.Map(location=[35.681236, 139.767125], zoom_start=14)
# マーカーを追加
folium.Marker(
location=[35.681236, 139.767125],
popup="東京駅",
tooltip="クリックで詳細表示"
).add_to(map_tokyo)
# Colab上で地図を表示
HTML(map_tokyo._repr_html_())
複数の位置情報をプロットする(リスト → 地図)
locations = [
{"name": "東京駅", "lat": 35.681236, "lon": 139.767125},
{"name": "渋谷駅", "lat": 35.658034, "lon": 139.701636},
{"name": "新宿駅", "lat": 35.690921, "lon": 139.700257}
]
# 地図を初期化
map_tokyo = folium.Map(location=[35.68, 139.76], zoom_start=13)
# 各地点にマーカーを追加
for loc in locations:
folium.Marker(
location=[loc["lat"], loc["lon"]],
popup=loc["name"]
).add_to(map_tokyo)
HTML(map_tokyo._repr_html_())
geopyで住所から緯度・経度を取得(ジオコーディング)
from geopy.geocoders import Nominatim
# User Agent を設定(必須)
geolocator = Nominatim(user_agent="colab_map_demo")
location = geolocator.geocode("東京タワー")
print(f"住所: 東京タワー")
print(f"緯度: {location.latitude}, 経度: {location.longitude}")
geopy + foliumで住所を地図上に表示
# 地図を初期化
map_tokyo = folium.Map(location=[location.latitude, location.longitude], zoom_start=16)
# マーカー追加
folium.Marker(
location=[location.latitude, location.longitude],
popup="東京タワー"
).add_to(map_tokyo)
HTML(map_tokyo._repr_html_())
Plotly Expressで位置情報をプロット(Colabでも動作)
import plotly.express as px
import pandas as pd
# データフレームに都市名・緯度・経度を格納
df = pd.DataFrame({
'都市': ['東京', '大阪', '福岡'],
'lat': [35.681236, 34.693738, 33.590355],
'lon': [139.767125, 135.502165, 130.401716]
})
# 地図上にマーカーをプロット
fig = px.scatter_mapbox(df,
lat="lat",
lon="lon",
hover_name="都市",
zoom=4,
height=500)
# 地図スタイルの指定(OpenStreetMapを使用)
fig.update_layout(mapbox_style="open-street-map")
# Colabで表示
fig.show()
Colabでの地図可視化の注意点
項目 | 内容 |
---|---|
folium表示 | HTML(map._repr_html_()) を使う(Jupyterでの .save() は不要) |
geopy制限 | 無料APIのため、アクセス頻度に注意(1秒に1回以下) |
plotly表示 | Colabに対応済(.show() で表示可) |
HTML保存 | map.save("map.html") でダウンロードも可能 |
まとめ

やりたいこと | 使用ライブラリ |
---|---|
緯度経度を地図で表示 | folium |
住所から緯度経度に変換 | geopy |
複数地点を視覚的にプロット | folium / plotly.express |
Webアプリや分析レポートに埋め込みたい | folium(HTML保存)または Plotly |
以上、Pythonで地図上に位置情報をプロットする方法についてでした。
最後までお読みいただき、ありがとうございました。