Skip to content

4️⃣ 繪製形狀與區域劃分

🎯 在地圖上繪製形狀

Folium 允許我們在地圖上繪製不同的幾何形狀,如 圓圈、矩形、多邊形,適用於標示範圍或區域分析。


✅ 繪製圓形(Circle)

import folium

# 建立地圖
m = folium.Map(location=[25.0330, 121.5654], zoom_start=12)

# 添加圓形標記
folium.Circle(
    location=[25.0330, 121.5654],
    radius=500,  # 圓形半徑(單位:公尺)
    color="blue",
    fill=True,
    fill_color="lightblue"
).add_to(m)

# 儲存地圖
m.save("map_with_circle.html")

效果:標記一個 半徑 500 公尺的圓,用於表示影響範圍。


✅ 繪製矩形(Rectangle)

folium.Rectangle(
    bounds=[[25.0300, 121.5600], [25.0360, 121.5700]],  # 左下角 & 右上角座標
    color="green",
    fill=True,
    fill_opacity=0.4
).add_to(m)

效果:在指定範圍內 畫出一個矩形區域


✅ 繪製多邊形(Polygon)

folium.Polygon(
    locations=[
        [25.0330, 121.5600],
        [25.0345, 121.5650],
        [25.0360, 121.5700],
        [25.0320, 121.5720]
    ],
    color="red",
    fill=True,
    fill_color="pink"
).add_to(m)

效果:可用於標記 不規則範圍,如學校、社區、公園。


✅ 使用 GeoJSON 或 Shapefile 來顯示區域

Folium 支援 GeoJSON 或 Shapefile 來載入大型地理區域數據。

import json

# 載入 GeoJSON 檔案
with open("taipei_districts.json", "r", encoding="utf-8") as f:
    geojson_data = json.load(f)

folium.GeoJson(geojson_data, name="Taipei Districts").add_to(m)

效果

  • 可用於顯示 行政區劃分(如城市區域)
  • 適合視覺化 人口、疫情、經濟數據

📝 總結

功能 語法
繪製圓形 folium.Circle(location, radius, color, fill)
繪製矩形 folium.Rectangle(bounds, color, fill)
繪製多邊形 folium.Polygon(locations, color, fill)
使用 GeoJSON folium.GeoJson(geojson_data, name)

🚀 現在你已經學會如何在 Folium 地圖上繪製形狀與區域!接下來,我們將學習如何使用熱力圖與點群集來顯示數據密度! 😊