如何解决ValueError:应提供非空的图块列表以进行合并
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid.inset_locator import inset_axes
import cartopy.crs as ccrs
import cartopy.io.img_tiles as cimgt
import windrose
ws = np.random.random(500) * 6
wd = np.random.random(500) * 360
minlon,maxlon,minlat,maxlat = (6.5,7.0,45.85,46.05)
proj = ccrs.PlateCarree()
fig = plt.figure(figsize=(12,6))
# Draw main ax on top of which we will add windroses
main_ax = fig.add_subplot(1,1,projection=proj)
main_ax.set_extent([minlon,maxlat],crs=proj)
main_ax.gridlines(draw_labels=True)
main_ax.coastlines()
request = cimgt.OSM()
main_ax.add_image(request,12)
我收到的错误是 ValueError: A non-empty list of tiles should be provided to merge.
并且似乎无法弄清楚是什么问题。
解决方法
您的请求被 OSM 服务器拒绝。要绕过它,您需要使用 image_spoof()
作为演示
在这个link中。
使用 image_spoof()
后,您的相关代码应该是:-
# reformat web request for street map spoofing
cimgt.OSM.get_image = image_spoof
# continued with your code
request = cimgt.OSM() # spoofed
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。