赞
踩
想通过 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
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, longitudezoom_start
缩放值,默认为 10,值越大比例尺越小,地图放大级别越大tiles
显示样式,默认*‘OpenStreetMap’*,也就是开启街道显示crs
地理坐标参考系统,默认为"EPSG3857"import folium
print(folium.__version__)
# define the world map
world_map = folium.Map()
# display world map
world_map
# define the national map
national_map = folium.Map(location=[35.3, 100.6], zoom_start=4)
# display national map
national_map
其实改变地图显示就是改变显示的经纬度和缩放比例,省级、市级、县级用法雷同,这里举一个市级的例子为例,如北京市:
# define the city map
city_map = folium.Map(location=[39.93, 116.40], zoom_start=10)
# display city map
city_map
显示效果确实是不如百度的
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。