python - ValueError:应提供一个非空的瓦片列表以进行合并
问题描述
有人可以帮我找出使用 cartopy 时的错误消息吗?
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, 1, projection=proj)
main_ax.set_extent([minlon, maxlon, minlat, 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()
按照此链接中的说明使用。
image_spoof()
到位后,您的相关代码应为:-
# reformat web request for street map spoofing
cimgt.OSM.get_image = image_spoof
# continued with your code
request = cimgt.OSM() # spoofed
推荐阅读
- typo3 - 错字3 GIF 无法在 9.5.4 中播放
- javascript - 需要使用 node.js 登录的网页抓取网页
- reinforcement-learning - 我应该实施一个智能奖励代理吗...?
- python - 如何同时发送文本和图像?
- python - 如何将彩色像素更改为白色像素
- php - 在左连接上显示 AVG
- android - resolveUri 在错误的位图 uri 上失败
- spring - 使用 spring AOP 更改 Annotation 参数
- css - 如何在div内画一个正方形
- php - 将 DB 列中的数组与 laravel 中的另一个 DB 表列匹配