我正在用gdal加载WMS地图。
在线访问可以正常工作,包括缓存。缓存看起来很好,我可以看到文件并打开图像。
当我试图在离线模式下加载相同的WMS时,它可以工作,但前提是我使用相同的坐标。
我的问题是在离线模式下打开与缓存区域重叠的不同坐标的映射。(如果我的缓存外的区域是黑色的,没关系)
对于请求的示例Xml,如gdal医生中所述,问题可以重现,将OfflineMode更改为true并更改坐标:
<GDAL_WMS>
<Service name="WMS">
<Version>1.1.1</Version>
<ServerUrl>https://ows.terrestris.de/osm/service?</ServerUrl>
<Layers>OSM-WMS</Layers>
</Service>
<DataWindow>
<SizeX>500</SizeX>
<SizeY>500</SizeY>
<UpperLeftX>9.892920</UpperLeftX>
<UpperLeftY>50.626900</UpperLeftY>
<LowerRightX>13.978200</LowerRightX>
<LowerRightY>47.082800</LowerRightY>
</DataWindow>
<Cache>
<Path>./gdalwmscache</Path>
<Depth>2</Depth>
<Extension>.jpg</Extension>
</Cache>
<OfflineMode>false</OfflineMode>
</GDAL_WMS>发布于 2020-11-15 17:29:22
GDal使用内部生成的请求URL的散列来创建缓存结构。
当为不同区域发出请求时,请求URL与以前不同,因此散列也不同,在大多数情况下没有缓存匹配。
Obs: WMTS有固定的URL,所以即使在请求具有不同边界框的区域时,也可以使用缓存。
https://stackoverflow.com/questions/62149094
复制相似问题