Linux --绘制地图投影出现报错:无法成功下载地图背景数据

Linux --绘制地图投影出现报错:无法成功下载地图背景数据

  • 主要原因是由于使用学院集群,该集群无法连接外网,在使用cartopy绘制地图投影时,导致无法成功加载地图背景数据
  • 解决方法也很简单,自己手动下载所需要的地形数据然后放到cartopy存放地图数据的文件夹处即可
import cartopy
cartopy.config

找到地图存放路径:
在这里插入图片描述

进入到该路径下,cd ~/.local/share/cartopy/,你会发现会有一个名称为shapefiles的文件夹,进入该文件夹:

.local/share/cartopy/shapefiles

里面还有一个子文件夹:natural_earth,再次进入后,里面有个physical文件夹,在进入这个文件夹,这个.local/share/cartopy/shapefiles/natural_earth/physical
就是你要手动放置地图数据的地方,下载地图的网址如下:

https://www.naturalearthdata.com/downloads/

在这里插入图片描述
如上图所示,存在三个分辨率,110m、50m、10m,根据自己的需求进行下载,也可以三个都下载,点击Physical,跳转到下载页面:在这里插入图片描述
点击download all 10m physical themes,下载该分辨率下的地图数据,
在这里插入图片描述
下载后是一个压缩包的形式,在这里插入图片描述
将这些压缩包通过scp命令传到你的服务器上,刚刚的找到的路径位置,然后解压缩即可。不会scp命令的话,这里推荐使用一个远程软件 MobaXterm ,使用ssh 远程连接服务器后,这个软件的左侧可以打开服务器上文件夹的目录,直接从本地将下载的压缩文件拖进去,就自动上传了

在这里插入图片描述
然后,解压缩地图数据:

unzip 10m_physical.zip
unzip 50m_physical.zip
unzip 110m_physical.zip

最后,运行测试代码,查看是否存在问题:

import matplotlib.pyplot as plt
import cartopy.crs as ccrs
proj = ccrs.PlateCarree()
fig = plt.figure(figsize=(4, 4), dpi=200)  
ax = plt.axes(projection=ccrs.PlateCarree())
ax.coastlines()
plt.show()
plt.savefig("cartopy_plot_test.png")

复制上述代码,在linux页面使用vi 新建一个python脚本:

vi plot_test.py

然后将代码粘贴进去,保存后运行改脚本,

python plot_test.py

如果顺利保存图片,则运行成功,可以继续画图了

在这里插入图片描述

相关推荐

  1. Linux 静态IP地址修改与处理

    2023-12-13 17:52:02       12 阅读
  2. echarts地图绘制

    2023-12-13 17:52:02       9 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-13 17:52:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-13 17:52:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-13 17:52:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-13 17:52:02       20 阅读

热门阅读

  1. 一文了解web的发展史(从web1到web3)

    2023-12-13 17:52:02       35 阅读
  2. 【力扣100】54.螺旋矩阵

    2023-12-13 17:52:02       41 阅读
  3. 微服务组件Nacos的学习(1)

    2023-12-13 17:52:02       47 阅读
  4. 【密码学】RSA破解方法汇总(PYTHON实现)

    2023-12-13 17:52:02       41 阅读
  5. WebSocket实现数据的实时推送

    2023-12-13 17:52:02       37 阅读