我需要用 python 绘制高分辨率地图。底图和
basemap-data-hires
均已安装,但底图未找到basemap-data-hires
。
两者均已安装,如您从此 conda 列表中看到的:
packages in environment at /home/paloma/anaconda3/envs/PAG2019:
Name Version Build Channel
basemap 1.2.0 py36h705c2d8_0 anaconda
basemap-data-hires 1.2.0 0 conda-forge
gst-plugins-base 1.14.0 hbbd80ab_1 anaconda
怀疑安装有冲突/错误,我尝试从 anaconda 和 conda-forge 重新安装
basemap-data-hires
,但无济于事。
这是我使用的导入:
from mpl_toolkits.basemap import Basemap
这是我收到的错误消息:
Traceback (most recent call last):
File "./MakeGraphs.py", line 89, in <module>
lat_ts=0.5*(lats[0,0]+lats[-1,-1]),lat_0=0.5*(lats[0,0]+lats[-1,-1]),lon_0=0.5*(lons[0,0]+lons[-1,-1]))
File "/home/paloma/anaconda3/lib/python3.7/site-packages/mpl_toolkits/basemap/__init__.py", line 1122, in __init__
self._readboundarydata('gshhs',as_polygons=True)
File "/home/paloma/anaconda3/lib/python3.7/site-packages/mpl_toolkits/basemap/__init__.py", line 1236, in _readboundarydata
raise IOError(msg)
OSError: Unable to open boundary dataset file. Only the 'crude' and 'low',
resolution datasets are installed by default.
If you are requesting an, 'intermediate', 'high' or 'full'
resolution dataset, you may need to download and install those
files separately with
`conda install basemap-data-hires`.
有人知道吗?
仔细一看,环境的CONDA_PREFIX之间可能存在冲突:
$CONDA_PREFIX=/home/paloma/anaconda3/envs/PAG2019
以及底图的basemap_datadir:
basemap_datadir=/home/paloma/anaconda3/
有人知道如何解决这个问题吗?
要安装“中级”、“高”或“完整”,请使用以下命令:
conda install -c conda-forge basemap-data-hires
否则你将只有“粗略”和“低级”,默认安装。
由于底图去寻找基础环境目录中的文件,因此在base中安装basemap-data-hires对我有用。
快速而肮脏,但有效。
有同样的问题,本页面建议尝试以下三个选项之一:
https://anaconda.org/conda-forge/basemap-data-hires
> conda install -c conda-forge basemap-data-hires conda install -c
> conda-forge/label/cf201901" basemap-data-hires conda install -c
> conda-forge/label/cf202003" basemap-data-hires
第三行对我有用,第一行没有。
它必须安装在其他地方(安装了 2 个底图,一张位于 Local 文件夹中,另一张位于 Roaming 文件夹中)。当我找到该位置并替换整个文件夹(或添加所有缺少的文件,gshhs_h.dat,gshhs_f.dat等)时,它对我有用。