下载WMS图层(例如图块)以供离线使用

时间:2019-12-05 13:58:50

标签: javascript dictionary download leaflet offline

我想创建一个离线地图。 我创建的地图的基本图层是小城市的openstreetmap(下载所有图块并保存在文件夹中即可使用)。

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

在此link 中,您可以看到openstreetmap,它的基本层是通过板块图层创建的openstreetmap,而上层是WMS Tile

此网址下载适用于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,但我不知道如何使用。

1 个答案:

答案 0 :(得分:0)

我找到了答案。 我使用商品库python和mercantile.xy_bounds(x_tile_number,y_tile_number,zoom)转换为bbox并下载名称为数字x tile且文件名为Y tile 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

.
.
.