Folium 是一个 Python 库,用于地图数据可视化。它构建在 Leaflet.js 的基础上,可以在地图上绘制标记、绘制形状、添加信息弹出窗口,并与地图上的元素进行交互。
以jupyter为例,展示代码和结果。
安装
使用以下命令安装:
pip install folium
如果使用Conda,则使用以下命令
conda install folium -c conda-forge
创建新地图
import folium
# 以(36.15N, 120.47E)为中心创建地图
map = folium.Map(location = (36.15, 120.47))
map
地图显示设置
# 可以设置允许拖动的四至范围
min_lat, max_lat = 35.4, 37.0
min_lon, max_lon = 119.5, 121.0
# Map
map = folium.Map(
location = (36.15,120.47),
control_scale = True, # control_scale比例尺,默认关闭
zoom_control = True, # zoom_control缩放按钮,默认打开
zoom_start = 11, # 初始缩放比例
max_bounds = True, # 通过max_bounds = True 来限制可拖动范围
min_lat = min_lat, # 四至范围
max_lat = max_lat,
min_lon = min_lon,
max_lon = max_lon,
)
#对四至范围角点加一个圆点标记 CircleMarker
folium.CircleMarker([max_lat, min_lon], tooltip = 'Upper Left Corner').add_to(map)
folium.CircleMarker([min_lat, min_lon], tooltio = 'Lower Left Corner').add_to(map)
folium.CircleMarker([max_lat, max_lon], tooltip = 'Upper Right Corner').add_to(map)
folium.CircleMarker([min_lat, max_lon], tooltio = 'Lower Right Corner').add_to(map)
map
地图图层控制
# 加入图层控制
folium.LayerControl().add_to(map)
map
元素组FeatureGroup
fg = folium.FeatureGroup(name = 'Icon collection', control = True, show = True).add_to(map)
folium.Marker(location = (36.16, 120.3)).add_to(fg)
folium.Marker(location = (36.2, 120.5)).add_to(fg)
folium.CircleMarker(location = (36.16, 120.5), tooltip = 'CircleMarker').add_to(fg)
folium.LayerControl().add_to(map)
map