地理数据和 Folium
Folium 库,用于创建交互式地图,它为用户提供了简单的接口来生成各种类型的地图以及在地图上绘制数据,从而将将地理空间数据(例如坐标、形状、路径、热力图等)可视化。
Folium 是基于开源 JavaScript 库 Leaflet.js
创建的,经常会被在 Jupyter Notebook 中使用,非常适合进行可视化和展示地理数据。
以下是 Folium 的主要功能和使用方法:
安装
Folium 是个第三方包,如果还没有安装,可以通过以下命令安装:
pip install folium
创建基本地图
创建一个基本地图非常 简单。可以使用 folium.Map
类来生成一个基于某个中心点和缩放级别的地图。
import folium
# 创建一个地图对象,中心点为 (纬度, 经度),默认缩放级别为 10
mymap = folium.Map(location=[37.7749, -122.4194], zoom_start=10)
# 显示地图
mymap
添加标记(Marker)
我们可以在地图的特定位置添加标记或注释。folium.Marker
是最常用的添加标记的方法。
# 添加一个标记到地图
folium.Marker(
location=[37.7749, -122.4194], # 标记的位置
popup="San Francisco", # 弹出信息
icon=folium.Icon(icon="cloud"), # 标记图标
).add_to(mymap)
# 显示地图
mymap
不同的图层和 tiles
Folium 支持不同的瓦片图层,可以通过改变 tiles
参数来使用不同风格的地图。
# 使用不同的地图图层
mymap = folium.Map(location=[37.7749, -122.4194], zoom_start=10, tiles='Stamen Terrain')
mymap
常见的 tiles
选项包括:
"OpenStreetMap"
(默认)"Stamen Terrain"
"Stamen Toner"
"Stamen Watercolor"
"CartoDB positron"
"CartoDB dark_matter"
圆形标记(Circle 和 CircleMarker)
除了普通的标记,Folium 还允许绘制圆形标记或圆。
# 绘制一个圆形区域
folium.Circle(
location=[37.7749, -122.4194],
radius=500, # 半径(米)
popup="圆形标记",
color="blue",
fill=True,
fill_color="blue"
).add_to(mymap)
# 显示地图
mymap