【Cartopy】库的安装和瓦片加载(天地图、高德等)

原文作者:我辈李想
版权声明:文章原创,转载时请务必加上原文超链接、作者信息和本声明。

Cartopy基础入门

【Cartopy】库的安装和天地图瓦片加载
【Cartopy】【Cartopy】如何更好的确定边界显示
【Cartopy】【Cartopy】如何丝滑的加载Geojson数据


文章目录

  • Cartopy基础入门
  • 前言
  • 一、python版本
  • 二、环境依赖
  • 三、库依赖
  • 四、下载Cartopy的whl文件
  • 五、天地图瓦片加载
  • 六、保存io图片
  • 七、保存多图效率问题


前言

Cartopy的官方文档还是太难读了,来来回回找了很多资料,还是有很多东西无法使用,网络上教程大多比较官方。作为程序员,很多时候还是根据源码来使用各种库来的实在。官网链接可参考:https://scitools.org.uk/cartopy/docs/latest/installing.html#required-dependencies。
现在是2023年8月11日,在python3.8环境下,安装Cartopy==0.20.2


一、python版本

在这里插入图片描述

二、环境依赖

在windows系统,可通过安装OSGeo4W,完成gdal、geos、proj的安装。
在linux可以参考链接:https://blog.csdn.net/qq_15028721/article/details/129244588

下载GDAL文件,地址

百度的网盘链接: https://pan.baidu.com/s/1mvls3DA9-_41j52CkuT0wQ?pwd=vied 提取码: vied
在这里插入图片描述

安装命令如下

pip install .\GDAL-3.4.3-cp38-cp38-win_amd64.whl

三、库依赖

官网一直在更新版本,我们这里是以python3.8来安装,需要的库依赖包括Matplotlib 、Shapely 、pyshp 、pyproj 。安装命令如下:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyproj==3.3.1 pyshp==2.3.1 Shapely==1.8.2 matplotlib==3.
5.2

在这里插入图片描述

四、下载Cartopy的whl文件

百度网盘链接: https://pan.baidu.com/s/1cJyRL6KzoyPLWyITLNtZIA?pwd=7i86 提取码: 7i86

在这里插入图片描述

pip install .\Cartopy-0.20.2-cp38-cp38-win_amd64.whl

五、天地图瓦片加载

import datetime
import random
import os
import json
import zipfile
import shutil
from xml.etree import ElementTree
from pathlib import Pathfrom docxtpl import DocxTemplate, InlineImage
from docx.shared import Mmimport cartopy.crs as ccrs
import matplotlib.pyplot as plt
import cartopy.io.img_tiles as cimgt# 高德地图底图
class GaodeMap(cimgt.GoogleWTS):def _image_url(self, tile):x, y, z = tileurl = 'http://webrd02.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=8&x=%s&y=%s&z=%s' % (x, y, z)return url# 天地图底图
class TDT(cimgt.GoogleWTS):def _image_url(self, tile):x, y, z = tileurl = 'http://t%s.tianditu.gov.cn/DataServer?T=vec_w&x=%s&y=%s&l=%s&tk=dbf3e0f3ac8d0162ae0a4bbd0fcbd09b'% (random.randint(1, 7),x, y, z)return url
class TDT_ter(cimgt.GoogleWTS):def _image_url(self, tile):x, y, z = tileurl = 'http://t3.tianditu.gov.cn/DataServer?T=ter_w&x=%s&y=%s&l=%s&tk=dbf3e0f3ac8d0162ae0a4bbd0fcbd09b'% (x, y, z)return url
class TDT_img(cimgt.GoogleWTS):def _image_url(self, tile):x, y, z = tileurl = 'http://t3.tianditu.gov.cn/DataServer?T=img_w&x=%s&y=%s&l=%s&tk=dbf3e0f3ac8d0162ae0a4bbd0fcbd09b'% (x, y, z)return url
# 谷歌底图
class GuGeMap(cimgt.GoogleWTS):def _image_url(self, tile):x, y, z = tileurl =  f'http://mt2.google.com/vt/lyrs=m&scale=2&hl=zh-CN&gl=cn&x={x}&y={y}&z={z}'return url# openstreetmap底图
class OpenStreetMap(cimgt.GoogleWTS):def _image_url(self, tile):x, y, z = tileurl =  f'https://tile.openstreetmap.org/{z}/{x}/{y}.png'return url# 地图
proj = ccrs.PlateCarree()
plt.figure(figsize=[10, 10], dpi=300, edgecolor='coral')
geo_axes = plt.axes(projection=proj)
# 网格线
geo_axes.gridlines(draw_labels=True, x_inline=False, y_inline=False)# 底图:天地图
geo_axes.add_image(TDT(), 8)# 正方形图片
plt.axis('square')plt.savefig(plt_img, dpi=300)

六、保存io图片

img_buf = io.BytesIO()
plt.savefig(img_buf, dpi=300)
img_buf.seek(0)

七、保存多图效率问题

plt.savefig(plt_img, dpi=300)
plt.clf()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/85131.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

100G光模块的应用案例分析:电信、云计算和大数据领域

100G光模块是一种高速光模块,由于其高速率和低延迟的特性,在电信、云计算和大数据领域得到了广泛的应用。在本文中,我们将深入探讨100G光模块在这三个领域的应用案例。 一、电信领域 在电信领域,100G光模块被广泛用于构建高速通…

机器学习深度学习——卷积的多输入多输出通道

👨‍🎓作者简介:一位即将上大四,正专攻机器学习的保研er 🌌上期文章:机器学习&&深度学习——从全连接层到卷积 📚订阅专栏:机器学习&&深度学习 希望文章对你们有所帮…

4用opencv玩转图像2

opencv绘制文字和几何图形 黑色底图 显示是一张黑色图片 使用opencv画圆形 #画一个圆 cv2.circle(imgblack_img,center(400,400),radius100,color(0,0,255),thickness10) 画实心圆 只需要把thickness-1。 cv2.circle(imgblack_img,center(500,600),radius50,color(0,0,255),t…

Spark(39):Streaming DataFrame 和 Streaming DataSet 输出

目录 0. 相关文章链接 1. 输出的选项 2. 输出模式(output mode) 2.1. Append 模式(默认) 2.2. Complete 模式 2.3. Update 模式 2.4. 输出模式总结 3. 输出接收器(output sink) 3.1. file sink 3.2. kafka sink 3.2.1. 以 Streaming 方式输出数据 3.2.2. 以 batch …

R语言4_安装BayesSpace

环境Ubuntu22/20, R4.1 你可能会报错说你的R语言版本没有这个库,但其实不然。这是一个在Bioconductor上的库。 同时我也碰到了这个问题,ERROR: configuration failed for package systemfonts’等诸多类似问题,下面的方法可以一并解决。 第…

数据结构刷题训练——链表篇(二)

目录 前言 1.题目一:链表分割 1.1 思路 1.2 分析 1.3 题解 2. 题目二:相交链表 2.1 思路 2.2 分析 2.3 题解 3. 题目三:环形链表 3.1 思路 3.2 分析 3.3 题解 总结 前言 本期继续分享链表相关的OJ题目,在这个专栏博客…

elasticsearch简单入门语法

基本操作 创建不同的分词器 ik_smart: 极简分词 ; ik_max_word: 最细力再度分词 基本的rest命令 methodurl地址描述PUTlocalhost:9200/索引名称/类型名称/文档id创建文档(指定文档id)POSTlocalhost:9200/索引名称/类型名称创建文…

蝉妈妈:2023年抖音电商半年报(附下载)

关于报告的所有内容,公众【营销人星球】获取下载查看 核心观点 平台流量竞争从愈发激烈变为趋于愈加缓和商家直攝总时长与观众君播总时长的总体趋势并没有愈加激烈,从23年上半年各自流量的同比增速来看,观众看摄总时长增速高于商家直攝总时…

电脑合上盖子无线网络不会断开

控制面板\硬件和声音\电源选项\系统设置 最终选择不会采取任何操作 选择不会采取任何操作

Cocos Creator的 Cannot read property ‘applyForce‘ of undefined报错

序: 1、博主是看了这个教程操作的时候出的bug>游戏开发 | 17节课学会如何用Cocos Creator制作3D跑酷游戏 | P9 代码控制对象移动_哔哩哔哩_bilibili 2、其实问题不是出在代码上,但是发现物体就是不平移 3、node全栈的资料》node全栈框架 正文…

逆向破解学习-雷电星海战歌

apk 雷电星海战歌 https://download.csdn.net/download/AdrianAndroid/88200826 安装apk,并试玩 # 通过关键字搜索jad 找到统一支付接口 找到匿名内部类的名称 Hook代码 public class HookComAstPlane extends HookImpl {Overridepublic String packageNam…

竞赛项目 深度学习手势识别算法实现 - opencv python

文章目录 1 前言2 项目背景3 任务描述4 环境搭配5 项目实现5.1 准备数据5.2 构建网络5.3 开始训练5.4 模型评估 6 识别效果7 最后 1 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 深度学习手势识别算法实现 - opencv python 该项目较为新颖…

LeetCode 31题:下一个排列

目录 题目 思路 代码 题目 整数数组的一个 排列 就是将其所有成员以序列或线性顺序排列。 例如,arr [1,2,3] ,以下这些都可以视作 arr 的排列:[1,2,3]、[1,3,2]、[3,1,2]、[2,3,1] 。 整数数组的 下一个排列 是指其整数的下一个字典序…

Jenkins 中 shell 脚本执行失败却不自行退出

Jenkins 中 执行 shell 脚本时,有时候 shell 执行失败了,或者判断结果是错误的,但是 Jenkins 执行完成后确提示成功 success 。 此时,可以通过条件判断来解决这个问题,让 Jenkins 强制退出并提示执行失败 failed 。 …

Nginx使用proxy_cache指令设置反向代理缓存静态资源

场景 CentOS7中解压tar包的方式安装Nginx: CentOS7中解压tar包的方式安装Nginx_centos7 tar文件 怎么load_霸道流氓气质的博客-CSDN博客 参考上面流程实现搭建Nginx的基础上,实现静态资源的缓存设置。 注意上面安装时的目录是在/opt/nginx目录下&…

win10 + VS2022 安装opencv C++

最近需要用到C opencv,看了很多帖子都需要自己编译opencv源码。为避免源码编译,可以使用VS来配置opencv C。下面是主要过程: 目录 1. 从官网下载 opencv - Get Started - OpenCV 2. 点击这个exe文件进行安装 3. 配置环境变量 4. VS中的项…

java spring cloud 企业电子招标采购系统源码:营造全面规范安全的电子招投标环境,促进招投标市场健康可持续发展 tbms

​ 项目说明 随着公司的快速发展,企业人员和经营规模不断壮大,公司对内部招采管理的提升提出了更高的要求。在企业里建立一个公平、公开、公正的采购环境,最大限度控制采购成本至关重要。符合国家电子招投标法律法规及相关规范,以…

Word转PDF工具哪家安全?推荐好用的文件格式转换工具

Word文档是我们最常见也是最常用的办公软件,想必大家都知道了Word操作起来十分的简单,而且功能也是比较齐全的。随着科技的不断进步,如今也是有越来越多类型的办公文档,PDF就是其中之一,那么word转pdf怎么转?Word转PD…

DSP学习笔记

TI公司提供的c/c编译器,可以将其变成dsp语言。char类型本来是8位,在dsp里面是16位,int也是16位,long才是32位,float也是32位,enum是16位,double32位,long double是32位,p…

客户端脚本安全

客户端脚本安全 白帽子讲web安全 ———— a.了解web安全测试的基本知识 b.掌握前端的脚本安全知识,了解基本的前端安全测试条目,如同源策略、xss攻击测试、CSRF测试、点击劫持测试 c.webinsepct nessus 绿盟扫描 数据流 输入输出 浏览器安全 同源…