【发布时间】:2020-05-09 15:32:24
【问题描述】:
我目前在cartopy中使用OSM,python 3.7。
t=OSM()
ax.add_image(t, 10)
OSM(开放街道地图)设置为缩放 10 倍的图像。但不知何故,我得到了这个错误
ValueError: A non-empty list of tiles should be provided to merge.:
这是什么意思,我该如何解决?
【问题讨论】:
我目前在cartopy中使用OSM,python 3.7。
t=OSM()
ax.add_image(t, 10)
OSM(开放街道地图)设置为缩放 10 倍的图像。但不知何故,我得到了这个错误
ValueError: A non-empty list of tiles should be provided to merge.:
这是什么意思,我该如何解决?
【问题讨论】:
我也遇到了这个问题,并且已经设法解决了。
关注https://github.com/SciTools/cartopy/issues/1341的建议
您需要对 img_tiles.py 脚本进行一些更改,该脚本可以在您的 python 库中找到
/python3.x/site-packages/cartopy/io/
要进行的更改是:
添加一行
from urllib.request import Request
在 GoogleWTS 类中,get_image 方法(大约第 158 行)
删除线
fh = urlopen(url)
并用行替换
req = Request(url)
req.add_header('User-agent', 'your bot 0.1')
fh = urlopen(req)
我知道您使用的是 OSM 而不是 GoogleWTS,我也是,所以我不认为这会奏效,但确实奏效了。
我看不到你所有的代码,但也要确保你也有这条中间线:
t=OSM()
ax = plt.axes(projection=t.crs)
ax.add_image(t, 10)
假设您正在尝试将其与 Matplotlib 一起使用
【讨论】: