无法将WMS源添加到Mapbox style.json

时间:2019-05-31 16:13:43

标签: json mapbox

我正在尝试自定义style.json以使用文档为mapbox添加WMS:

https://docs.mapbox.com/mapbox-gl-js/style-spec/

特别是这部分:

通过提供指向支持EPSG:3857(或EPSG:900913)作为切片数据源的WMS服务器的URL。服务器网址应包含一个“ {bbox-epsg-3857}”替换令牌,以提供bbox参数。

"wms-imagery": {
    "type": "raster",
    "tiles": [
    'http://a.example.com/wms?bbox={bbox-epsg-3857}&format=image/png&service=WMS&version=1.1.1&request=GetMap&srs=EPSG:3857&width=256&height=256&layers=example'
    ],
    "tileSize": 256
}

我尝试了各种代码迭代,但似乎无法弄清楚。我认为我的结构正确。我对编码(python)并不陌生,但是对使用此工具并不陌生,因此我确信它很简单。

这是导致错误的json的Sources部分:

    "sources": {
        "composite": {
            "url": "mapbox://mapbox.mapbox-streets-v8,mapbox.mapbox-terrain-v2,<hiddenmapboxid>",
            "type": "vector"
        },
        "fires_viirs_24": {
            "type": "raster",
            "tiles":[
            "https://firms.modaps.eosdis.nasa.gov/wms/?REQUEST=GetMap&layers=fires_viirs_24&WIDTH=512&HEIGHT=512&BBOX={bbox-espg-3857}&SRS=EPSG:3857&MAP_KEY=<hiddenAPIKey>"
            ],
            "tileSize": 512
            }
           }

这将导致“样式必须包含源url”错误。但是据我所知,它的格式完全符合文档所说的格式。

我尝试围绕“”这样的“ tiles” URL抛出“意外令牌”错误。然后尝试“”并得到“样式必须包含源url”。还尝试使用“ url”代替“ tiles”,并得到“ invalid url”。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

mapbox.com上有一个示例,在运行时adds a WMS as a layer可能适用于您的用例。

如果没有,它至少可以帮助您弄清楚如何构造查询