本文示例文件已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes

1 简介

  国庆期间,抽空给大家分享在geopandas中叠加各种在线瓦片底图的方法,来制作出更多样式的地图作品。话不多说,我们直接进入正题。

图1

2 在geopandas中叠加在线地图

  我们需要配合contextily这个第三方库来辅助geopandas叠加在线地图,在geopandas已经被正确安装的情况下,使用pip install contextilyconda install contextily安装contextily

  从下面这个小例子出发:

import geopandas as gpd
import contextily as ctx
import matplotlib.pyplot as plt cq = gpd.read_file('重庆市.geojson').to_crs('EPSG:3857') fig, ax = plt.subplots(figsize=(10, 10))
ax = cq.plot(ax=ax, alpha=0.1, edgecolor='k') ax.axis('off') ctx.add_basemap(ax,
source='https://{s}.tile.openstreetmap.fr/hot/{z}/{x}/{y}.png',
zoom=8) fig.savefig('图2 叠加在线地图示例.png', pad_inches=0, bbox_inches='tight', dpi=300)

图2 叠加在线地图示例

  下面我们来划重点,在图2所示的例子中,我们前面正常读入矢量数据后绘图,在最后一步时将ax对象传入ctx.add_basemap中,并添加了参数source代表对应在线瓦片地图的url,参数zoom来控制地图缩放精度级别。

  在稍事等待之后(如果没有“特殊”的上网技巧,可能要多等一段时间),我们的底图便自动获取拼接完毕,之后直接导出图像文件即可,是不是非常的方便~

  在掌握了geopandas+contextily相互配合叠加在线底图之后,下面给大家推荐一些有意思的底图url供大家日常选择使用:

  • https://a.tile.thunderforest.com/mobile-atlas/{z}/{x}/{y}.png?apikey=41f4f936f1d148f69cbd100812875c88

图3

  • http://{s}.tile.stamen.com/terrain/{z}/{x}/{y}.jpg

图4

  • http://{s}.tiles.maps.sputnik.ru/{z}/{x}/{y}.png

图5

  • https://c.tile.thunderforest.com/cycle/{z}/{x}/{y}.png?apikey=41f4f936f1d148f69cbd100812875c88

图6

  • http://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png

图7

  • http://{s}.tile.stamen.com/toner/{z}/{x}/{y}.png

图8

  • https://{s}.tile.openstreetmap.fr/hot/{z}/{x}/{y}.png

图9

  • http://{s}.tile.stamen.com/watercolor/{z}/{x}/{y}.jpg

图10

  • https://{s}.tile.openstreetmap.fr/osmfr/{z}/{x}/{y}.png

图11

  • https://stamen-tiles-a.a.ssl.fastly.net/terrain-background/{z}/{x}/{y}.png

  即stamen地形图的无地名标注版本

图12

  • https://d.basemaps.cartocdn.com/light_nolabels/{z}/{x}/{y}.png

  即carto浅色地图的无地图标注版本

图13


  以上就是本文的全部内容,欢迎在评论区与我进行讨论~

(数据科学学习手札96)在geopandas中叠加在线地图的更多相关文章

  1. (数据科学学习手札146)geopandas中拓扑非法问题的发现、诊断与修复

    本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 大家好我是费老师,geopandas作为在Pyt ...

  2. (数据科学学习手札49)Scala中的模式匹配

    一.简介 Scala中的模式匹配类似Java中的switch语句,且更加稳健,本文就将针对Scala中模式匹配的一些基本实例进行介绍: 二.Scala中的模式匹配 2.1 基本格式 Scala中模式匹 ...

  3. (数据科学学习手札32)Python中re模块的详细介绍

    一.简介 关于正则表达式,我在前一篇(数据科学学习手札31)中已经做了详细介绍,本篇将对Python中自带模块re的常用功能进行总结: re作为Python中专为正则表达式相关功能做出支持的模块,提供 ...

  4. (数据科学学习手札89)geopandas&geoplot近期重要更新

    本文示例代码及数据已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 最近一段时间(本文写作于2020-07-1 ...

  5. (数据科学学习手札111)geopandas 0.9.0重要新特性一览

    本文示例文件已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 就在几天前,geopandas释放了其最新正式版 ...

  6. (数据科学学习手札129)geopandas 0.10版本重要新特性一览

    本文示例代码及文件已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 就在前不久,我们非常熟悉的Python地理 ...

  7. (数据科学学习手札25)sklearn中的特征选择相关功能

    一.简介 在现实的机器学习任务中,自变量往往数量众多,且类型可能由连续型(continuou)和离散型(discrete)混杂组成,因此出于节约计算成本.精简模型.增强模型的泛化性能等角度考虑,我们常 ...

  8. (数据科学学习手札19)R中基本统计分析技巧总结

    在获取数据,并且完成数据的清洗之后,首要的事就是对整个数据集进行探索性的研究,这个过程中会利用到各种描述性统计量和推断性统计量来初探变量间和变量内部的基本关系,本篇笔者便基于R,对一些常用的数据探索方 ...

  9. (数据科学学习手札126)Python中JSON结构数据的高效增删改操作

    本文示例代码及文件已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 在上一期文章中我们一起学习了在Python ...

随机推荐

  1. 专为seo新手准备的百度分享工具教程

    http://www.wocaoseo.com/thread-178-1-1.html 百度分享工具是目前seo站长最为常用的工具之一,主要用来让用户分享来提高网站的流量,同时他也有很多实际有效的方式 ...

  2. 【小白学PyTorch】1 搭建一个超简单的网络

    文章目录: 目录 1 任务 2 实现思路 3 实现过程 3.1 引入必要库 3.2 创建训练集 3.3 搭建网络 3.4 设置优化器 3.5 训练网络 3.6 测试 1 任务 首先说下我们要搭建的网络 ...

  3. Shader Graph

    About Shader Graph https://docs.unity3d.com/Packages/com.unity.shadergraph@7.3/manual/index.html uni ...

  4. [BUUOJ记录] [ACTF2020 新生赛]BackupFile、Exec

    两道题都比较简单,所以放到一块记下来吧,不是水博客,师傅们轻点打 BackupFile 题目提示“Try to find out source file!”,访问备份文件/index.php.bak获 ...

  5. java中变量在内存的位置

    package day02; /* * 成员变量:在堆内存中,因为对象的存在,才在内存中存在:作用于整改类中 * 局部变量:在栈内存中:作用于函数中,或者语句中 * */ class car{ //描 ...

  6. 用于测试 SqlAnalyzer1.01 的21个测试用例

    感慨:当年看着 https://www.cnblogs.com/heyang78/p/11451814.html 一文望洋兴叹,如今我也自己做出来了! 21. 原文=select name, cnt ...

  7. pwnable.kr之flag

    拿到文件,先运行一下,输出: I will malloc() and strcpy the flag there. take it. 用python查看文件是否有什么保护, Arch: amd64-- ...

  8. SpringCloud-config分布式配置

    为什么要统一管理微服务配置? 随着微服务不断的增多,每个微服务都有自己对应的配置文件.在研发过程中有测试环境.UAT环境.生产环境,因此每个微服务又对应至少三个不同环境的配置文件.这么多的配置文件,如 ...

  9. Roadblocks(POJ 3255)

    原题如下: Roadblocks Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 19314   Accepted: 6777 ...

  10. Python实现加密压缩成RAR或ZIP文件

    博主在前两篇博文分别介绍了加密RAR文件的解压https://www.cnblogs.com/kangbazi666/p/13646308.html和加密ZIP文件的解压https://www.cnb ...