今天跟大家介绍一下如何使用folium
更换地图底图样式
1. 准备工作
有朋友可能没用过folium
,它其实就是python
的一个专业绘制地图的第三方库,所以在使用之前需要先安装它。
pip install folium
在安装完成之后,我们可以在jupyterlab
进行演示如下:
import folium
m = folium.Map()
m
默认
对于上面的输出,其实是一个可交互
的地图,支持放大缩写拖拽等等。
如果你想将输出存在本地,可以这样来:
m.save('map.html')
可以看到本地就存了这个一个文件,浏览器打开就可以进行交互式操作了。
map文件
以上就是一个平平淡淡的过程......
2. 关于folium.Map()
在上一部分我们可以看到这个map
玩意直接就是一个地图啦,这里我们就介绍一下它常用的几个参数。
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,
)
参数可真多啊!!
没有参数的
folium.Map()
将得到一张世界地图。
location:地图中心,[40.002694, 116.322373]是清华大学校区;
zoom_start:比例尺,默认为10级,大约是一个城市的范围;
其他常用参数包括:
width
和height
:地图的长宽,如果是int则表示像素值,如果是str则表示百分比;
max_zoom
:地图可以手动调节的最大比例,默认为18级;
control_scale
:是否在地图上添加比例尺,默认为False;
no_touch
:是否禁止手动操作,默认为False;tiles:地图样式,默认为OpenStreetMap
attr
:如果设置非内建地图样式,则需要传入这个值,可以理解为你选择的地图样式名称
以上是常用的一些参数,而最常用的莫过于 location
、zoom_start
和tiles
等。
内建地图样式还有一下几种:
- "OpenStreetMap"
- "Mapbox Bright" (Limited levels of zoom for free tiles)
- "Mapbox Control Room" (Limited levels of zoom for free tiles)
- "Stamen" (Terrain, Toner, and Watercolor)
- "Cloudmade" (Must pass API key)
- "Mapbox" (Must pass API key)
- "CartoDB" (positron and dark_matter)
我们简单试下location
和zoo_start
参数:
import folium
m = folium.Map([40.002694, 116.322373],
zoom_start=15,
control_scale=True
)
m