使用Mapbox添加ArcGIS切片服务(WMTS ,注意:不是矢量切片)小结。
map.addLayer({
'id': 'ArcGIS_WMTS',
'type': 'raster',//这里要用raster ,因为切片得到的是图片
'source': {
'type': 'raster',//切片地图使用png 所以这里设置为raster
'tiles': [
//切片服务的地址,这里可以使用数组的形式,最终呈现效果是各个服务的叠加,z是切片的层级、x是切片的列,y是切片的行
//模板
//http://地图服务地址/WMTS/tile/1.0.0/sfsd/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png
// kvp 方式//"http://地图服务地址/WMTS
?REQUEST=GetTile&SERVICE=WMTS&VERSION=1.0.0&LAYER=tttyt&STYLE=default
&TILEMATRIXSET=GoogleMapsCompatible&TILEMATRIX=z&TILEROW=y&TILECOL=x"
//restfull方式
// "http://地图服务地址WMTS/tile/1.0.0/MyM/default/default028mm/{z}/{y}/{x}.png"
],//切片的图片大小
'tileSize': 256,
//切片请求的范围,不在这个范围的话 就不进行切片请求
"bounds": [106.61304, -85, 120, 85]
},
});
注意;
1、在使用ArcGIS Sercer进行切片的时候,切片方案要选ArcGIS Online的一项,因为如果选择其他项有可能会导致切图分辨率不一样,还有切出来切片的行列号索引不一样,导致在使用Mapbox进行调用的时候找不到相应的切片。
2、切片的存储格式应该为EXPLODED,这样最后就是图片文件,可以进行展示
3、要使用ArcGIS Online的切片方案,数据框的投影应该是 墨卡托投影,即WKID是3857或者102100
根据以上的方法,应该可以正确的在Mapbox里面调用ArcGIS 的切片服务