1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Pythonで地図可視化 ― foliumの概要・インストール・基本的な使い方

Posted at

はじめに

地理情報を分かりやすく可視化したい、データ分析や業務レポートに地図を活用したい――そんなニーズに応えるPythonライブラリ「folium」に関して、本記事ではfoliumの概要、インストール方法、基本的な使い方を解説します。

foliumの概要

  • foliumは、JavaScriptの地図描画ライブラリ「Leaflet.js」をPythonから利用できるラッパーライブラリです
  • Pythonコードからインタラクティブな地図を生成し、HTMLファイルとして出力できます
  • デフォルトの地図タイルは「OpenStreetMap」です
  • カスタムタイル(XYZタイル)など、さまざまな地図スタイルに対応しています
  • マーカー、ライン、ポリゴン、ヒートマップ、GeoJSONデータの可視化など、多彩な地図表現が可能です

インストール

pipの場合

pip install folium

condaの場合

conda install -c conda-forge folium
  • Google Colaboratoryなどクラウド環境でも!pip install foliumで利用可能
  • 依存パッケージ(branca, jinja2, numpy, requests等)は自動的にインストールされる

動作確認

Jupyter Notebookの場合

インタラクティブに地図を表示することができます

import folium

fm = folium.Map(location=[35.681236, 139.767125], zoom_start=12)
fm

VSCode+git-bashの場合

インタラクティブに地図を表示することができないので、地図をHTMLファイルとして保存しWebブラウザで開きます。
VSCodeの拡張機能「Live Server」などを使えば、HTMLファイルを自動でブラウザ表示・リロードできます。

import folium

fm = folium.Map(location=[35.681236, 139.767125], zoom_start=12)
fm.save("map.html")

cfcfd6cb20dcb7598be8-1.png

簡単な使い方と活用シーン

1. 地図の作成

import folium

# 地図オブジェクトの作成(東京駅を中心に表示)
fm = folium.Map(location=[35.681236, 139.767125], zoom_start=12)

# 地図をHTMLファイルとして保存
fm.save("sample_1.html")

cfcfd6cb20dcb7598be8-2.png

利用目的・効果

  • 地理情報の可視化の土台
  • 以降のデータ(マーカーやライン、ヒートマップ等)を重ねて活用するための基盤

2. マーカーの追加

import folium

fm = folium.Map(location=[35.6895, 139.6917], zoom_start=12)
folium.Marker(
    location=[35.6895, 139.6917],
    popup="東京タワー",
    icon=folium.Icon(icon="star", color="red")
).add_to(fm)
fm.save("sample_2.html")

cfcfd6cb20dcb7598be8-3.png

利用目的・効果

  • 地図上へのマーカー配置による特定地点や拠点の位置の直感的な可視化
  • CSVなどで管理している緯度・経度リストをもとにした複数地点へのマーカー一括設置

3. カスタムタイルの利用

import folium

fm = folium.Map(
    location=[35.6804, 139.7670],
    zoom_start=15,
    tiles="https://cyberjapandata.gsi.go.jp/xyz/std/{z}/{x}/{y}.png",
    attr="地理院地図"
)
fm.save("sample_3.html")

cfcfd6cb20dcb7598be8-4.png

利用目的・効果

  • 標準のOpenStreetMap以外の任意地図タイルの指定表示
  • たとえば、国土地理院の地図タイル利用による地形・地勢・行政界などの詳細情報の地図上表示
  • 用途に応じた最適地図タイル選択による専門的な地図表現

4. ヒートマップやルート表示

from folium.plugins import HeatMap
import folium

fm = folium.Map(location=[35.681236, 139.767125], zoom_start=12)
heat_data = [
    [35.681236, 139.767125],
    [35.6895, 139.6917],
    [35.6938, 139.7034]
]
HeatMap(heat_data).add_to(fm)
fm.save("sample_4.html")

cfcfd6cb20dcb7598be8-5.png

利用目的・効果

  • ヒートマップ活用による地理的な「密度」や「集中度」の色濃淡表現
  • たとえば、顧客やイベント参加者などの位置データをもとにした集中エリアの直感的把握

まとめ

foliumは、Pythonで地理情報を可視化するための有力な選択肢です。手軽に地図作成・可視化ができるツールです。
地図の作成、マーカーやヒートマップの追加、カスタムタイルの利用など、業務や分析の現場で求められる多様な地図表現に対応しています。
地理情報の可視化や業務効率化を検討している方は、ぜひお試しください。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?