缓存的 WMTS 请求

问题描述 投票:0回答:1

Cartopy

add_wmts
方法在底层使用
WMTSRasterSource
。它的文档字符串说它使用缓存来重复检索,并且快速、不知情地浏览一下表明它在发出请求之前确实检查了某种本地缓存。

但是,如果我在 Matplotlib 中使用 Cartopy 设置了一个简单的图形,则重复调用代码会生成网络流量,建议从 WMTS 源重复下载。很多时候,我会对与图像无关的地图进行一些小调整,并且不想每次都下载图像(或者被限制或禁止)。

cartopy.config['data_dir']
设置为默认位置并包含其他类型的缓存数据(SRTM 高程数据、自然地球数据等)

import cartopy.crs as ccrs
import matplotlib.pyplot as plt

plt.figure()
ax = plt.subplot(1,1,1,projection=ccrs.Mercator())
ax.set_extent([-122.55, -122, 37.4, 37.85], crs=ccrs.PlateCarree())
ax.add_wmts('https://basemap.nationalmap.gov/arcgis/rest/services/USGSImageryOnly/MapServer/WMTS/1.0.0/WMTSCapabilities.xml', layer_name='USGSImageryOnly')
plt.show()

在这种情况下如何让 Cartopy 使用本地缓存?

python matplotlib cartopy
1个回答
0
投票

事实证明这是预期的行为,并且文档中提到的缓存是按图计算的,以提高交互式绘图的速度。 WMTSRasterSource 尚未实现本地缓存。

© www.soinside.com 2019 - 2024. All rights reserved.