文章目录
一、简介
二、安装方法
三、主要功能
3.1 各级别地图
3.1.1 世界地图
3.1.2 国家地图
3.1.3 市级地图
3.2 地图形式
3.3 在地图上标记
3.3.1 普通标记
3.3.2 点击获取经纬度
3.3.3 动态放置标记
3.4 热力图绘制
3.5 密度地图绘制
3.6 自定义地图区域
3.6.1 只绘制边界,不添加数据
3.6.2 绘制边界,添加数据
四、竞品对比与优劣势
五、参考资料
一、简介
想通过 Python 绘制精美的地图?想在地图上自由的设置各种参数?想获得灵活的交互体验?这里就有一款Python 神包满足你:folium。
folium 建立在 Python 生态系统的数据应用能力和 Leaflet.js 库的映射能力之上,在Python中操作数据,然后通过 folium 在 Leaflet 地图中可视化。
folium 相比较于国内百度的 pyecharts 灵活性更强,能够自定义绘制区域,并且展现形式更加多样化。
附:官方文档,官方示例,本文 notebook ,完整代码及数据。
二、安装方法
按照官方的教程即可,如果安装了 conda ,可以直接
conda install -c conda-forge folium
没有安装的话就使用
python3 -m pip install folium
三、主要功能
3.1 各级别地图
folium 显示地图的类为 folium.Map,类的声明如下
class folium.folium.Map(location=None, width='100%', height='100%', left='0%', top='0%', position='relative', tiles='OpenStreetMap', attr=None, min_zoom=0, max_zoom=18, zoom_start=10, min_lat=-90, max_lat=90, min_lon=-180, max_lon=180, max_bounds=False, crs='EPSG3857', control_scale=False, prefer_canvas=False, no_touch=False, disable_3d=False, png_enabled=False, zoom_control=True, **kwargs)
讲几个重要的参数
location 经纬度,list 或者 tuple 格式,顺序为 latitude, longitude
zoom_start 缩放值,默认为 10,值越大比例尺越小,地图放大级别越大
tiles 显示样式,默认*‘OpenStreetMap’*,也就是开启街道显示
crs 地理坐标参考系统,默认为"EPSG3857"
3.1.1 世界地图
import folium
print(folium.__version__)
# define the world map
world_map = folium.Map()
# display world map
world_map
3.1.2 国家地图
# define the national map
national_map = folium.Map(location=[35.3, 100.6], zoom_start=4)
# display national map
nation