1. 准备工作

有朋友可能没用过folium,它其实就是python的一个专业绘制地图的第三方库,所以在使用之前需要先安装它。

在安装完成之后,我们可以在jupyterlab进行演示如下:

默认

对于上面的输出,其实是一个可交互的地图,支持放大缩写拖拽等等。

如果你想将输出存在本地,可以这样来:

可以看到本地就存了这个一个文件,浏览器打开就可以进行交互式操作了。

map文件

以上就是一个平平淡淡的过程……

2. 关于folium.map()

在上一部分我们可以看到这个map玩意直接就是一个地图啦,这里我们就介绍一下它常用的几个参数。

参数可真多啊!!

没有参数的folium.map()将得到一张世界地图。

  • location:地图中心,[40.002694, 116.322373]是清华大学校区;
  • zoom_start:比例尺,默认为10级,大约是一个城市的范围;

其他常用参数包括:

  • widthheight:地图的长宽,如果是int则表示像素值,如果是str则表示百分比;
  • max_zoom:地图可以手动调节的最大比例,默认为18级;
  • control_scale:是否在地图上添加比例尺,默认为false;
  • no_touch:是否禁止手动操作,默认为false;
  • tiles:地图样式,默认为openstreetmap
  • attr:如果设置非内建地图样式,则需要传入这个值,可以理解为你选择的地图样式名称

以上是常用的一些参数,而最常用的莫过于 locationzoom_starttiles等。

内建地图样式还有一下几种:

我们简单试下locationzoo_start参数:

可以看到清华大学校区

清华大学校区

以上对map的参数进行了简单的介绍,接下来,我们就来看看地图底图样式的选取情况吧~

3. 内建地图底图样式

我们看到folium其实有好几种内建地图底图样式,其中部分需要去申请key,由于我这边没有申请成功就不做演示了。

  • “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)

地势地形底图

黑白无标记底图

水墨画底图

以上就是内建地图底图样式的一些展示,部分需要key的大家可以去这个网站申请:http://openwhatevermap.xyz/

另外,在这里也可以找到一些地图底图 http://leaflet-extras.github.io/leaflet-providers/preview/

我后续也会去研究这些地图底图样式,试着分享更多有趣的地图分享给大家。

当然了,国内咱们用的较多的地图是高德、百度和腾讯地图等,接下来我们就来玩玩!

4. 多种第三方地图底图样式

这里我将演示高德地图、智图geoq和腾讯地图等

4.1. 高德地图

高德地图的 中英文地图、卫星影像图、街道图与常规图

中英文地图

纯英文地图

卫星影像图

街道图

常规图

4.2. 智图geoq

反正我觉得这个蛮好的,用起来简单

多种风格地图,即拿即用

彩色版

暖色版

灰色版

蓝黑版

英文版

中国行政区划边界

水系专题

街道网图

暖色街道网图

4.3. 腾讯地图

4.4. 天地图

https://www.tianditu.gov.cn/

需要注册一个key

天地图影像

天地图影像注记

天地图矢量

天地图矢量注记

天地图地形

天地图地形注记

百度地图我这边测试失败了,暂时没有找到合适的替换方案。

5. 补充

其实,我们还可以找更多的地图底图瓦片url来进行替换,多样化我们的地图绘制。

另外,大家在用经纬度坐标点进行地图绘制的时候,比如标记点、绘制区域、热力图绘制等等,需要考虑经纬度坐标是哪个地图系下面的,然后再用对应地图系的相关底图进行绘制才准确!

以上就是python+folium绘制精美地图的示例详解的详细内容,更多关于python folium绘制地图的资料请关注www.887551.com其它相关文章!