下载 WMS 图层,如磁贴,供离线使用

download WMS layer like tile for offline uses

我想创建离线地图。 我创建的地图是 baselayer 是小城市的 openstreetmap(下载所有图块并保存在文件夹中,它可以工作)。

L.tileLayer('file://Drivef /.../{z}/{x}/{y}.png'}).addTo(map);
我想在上面放一个 wmslayer 但是 wmslayer 没有像 osm tile 一样下载它们的自由。 我有 URL 个拼贴,但就像 TileBounds 一样。

在这个 link 中你可以看到 openstreetmap,基础层是 openstreetmap,里面有 tile layer 但 overlayer 是 WMS Tile

此 Url 下载是针对 openstreetmap 的:https://stamen-tiles-c.a.ssl.fastly.net/toner-lite/5/6/11.png 我知道 zoom=11 ,x=5,y=6.

此 url 适用于 WMS 磁贴:https://idpgis.ncep.noaa.gov/arcgis/rest/services/NWS_Observations/radar_base_reflectivity/MapServer/export?transparent=true&format=png32&bbox=-12523442.714243278%2C5009377.085697311%2C-11271098.442818949%2C6261721.357121639&bboxSR=3857&imageSR=3857&size=256%2C256&layers=show%3A3&f=image 我不知道如何保存它以供离线使用,因为我没有 x,y,z。

我找到这个:https://github.com/Luqqk/wms-tiles-downloader 但我不知道如何使用它。

我找到了答案。 我使用商业库 python 和 mercantile.xy_bounds(x_tile_number, y_tile_number, zoom) 转换为 bbox 并下载 tile 保存在名称为数字 x tile 的文件夹中,文件名是Y 瓦片 number.jpg

zoom 1:
-------1:
-----------1.jpg
-----------2.jpg
----------- ...
------- 2:
-----------1.jpg
-----------2.jpg
-----------3.jpg

zoom 2:
-------1:
-----------1.jpg
-----------2.jpg
----------- ...
------- 2:
-----------1.jpg
-----------2.jpg
-----------3.jpg

.
.
.