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 地圖上繪製形狀與區域!接下來,我們將學習如何使用熱力圖與點群集來顯示數據密度! 😊