【问题标题】:ValueError: A non-empty list of tiles should be provided to mergeValueError:应提供一个非空的瓦片列表来合并
【发布时间】:2021-09-28 17:51:39
【问题描述】:

有人可以帮我找出使用 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. 并且似乎无法弄清楚问题所在。

【问题讨论】:

    标签: python openstreetmap cartopy


    【解决方案1】:

    您的请求被 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
    

    【讨论】:

    • 谢谢!您分享的链接很有帮助!
    猜你喜欢
    • 1970-01-01
    • 2020-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-10
    相关资源
    最近更新 更多