《Cesium 基础知识点》- ArcGIS MapServer 调用(区分矢量和瓦片)

虽然 ArcGIS MapServer 地址不区分动态图层和瓦片,但还是有差异的,详见《ArcGIS MapServer 区分动态图层(矢量) 和 瓦片

 1. 添加

1.1. 动态图层

全部显示

// 默认显示全部
var layerProvider = new Cesium.ArcGisMapServerImageryProvider({
    url: 'http://localhost:6080/arcgis/rest/services/SampleWorldCities/MapServer'
});
// 添加
var layer = viewer.scene.imageryLayers.addImageryProvider(layerProvider);

 可过滤显示 

// 方式一:显示过滤图层,通过 url 设置。多个图层用英文逗号隔开
var layerProvider = new Cesium.ArcGisMapServerImageryProvider({
    url: 'http://localhost:6080/arcgis/rest/services/SampleWorldCities/MapServer/export?layers=show:0,2',
});

// 方式二:显示过滤图层,使用属性 layers 设置。多个图层用英文逗号隔开
var layerProvider = new Cesium.ArcGisMapServerImageryProvider({
    url: 'http://localhost:6080/arcgis/rest/services/SampleWorldCities/MapServer',
    layers: '0,2'
});
// 添加
var layer = viewer.scene.imageryLayers.addImageryProvider(layerProvider);

 下图为请求的 url 说明:Cesium原生接口仅支持,坐标系有3857、4326。但如 4490 或 4610 等经纬度图层也是可以显示的。注意瓦片不行,会报错。

1.2. 瓦片

其实可以看出这里的 url 和上面的动态图层显示全部是一样的。因为 MapServer 不区分动态图层和瓦片的 url。且属性 layers 过滤图层对瓦片无效,瓦片是已裁剪好的缓存图。

// 瓦片 url
var layerProvider = new Cesium.ArcGisMapServerImageryProvider({
    url: 'http://localhost:6080/arcgis/rest/services/SampleWorldCities/MapServer'
});
// 添加
var layer = viewer.scene.imageryLayers.addImageryProvider(layerProvider);

但请求还是有差异的

投影说明:对非 3857或4326是不可用,会报如下错误。虽然网上已有支持自定义图层,但未验证。 

1.3 混合

也就是 MapServer 即可用动态图层方式,也可用瓦片方式。需要设置,详见 API

动态图层

// false 为动态图层
var layerProvider = new Cesium.ArcGisMapServerImageryProvider({
    usePreCachedTilesIfAvailable: false,
    url: 'http://localhost:6080/arcgis/rest/services/SampleWorldCities/MapServer'
});

瓦片

// true 为瓦片
var layerProvider = new Cesium.ArcGisMapServerImageryProvider({
    usePreCachedTilesIfAvailable: true,
    url: 'http://localhost:6080/arcgis/rest/services/SampleWorldCities/MapServer'
});

如何判断 MapServer 即可当动态图层有可当瓦片使用呢?详见《ArcGIS MapServer 区分动态图层(矢量) 和 瓦片

2. 删除

// 不区分动态图层和瓦片
viewer.imageryLayers.remove(layer);

3. 图层透明度

// 不区分动态图层和瓦片。0 - 1 之间, 0 为全透明、1 为不透明
layer.alpha = 0.5;

4. 隐藏与显示

// 不区分动态图层和瓦片显示
layer.show = true;
// 隐藏
layer.show = false;

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Cesium矢量瓦片是一种地理数据存储和渲染格式,用于呈现三维地理信息。矢量瓦片采用了类似于栅格瓦片的切片技术,但不同的是它存储的是矢量数据而不是图像数据。 Cesium矢量瓦片使用地理坐标系将地理信息分割成小块,每个小块称为一个矢量瓦片。这些矢量瓦片包含了地理要素的几何形状、属性数据以及可视化样式。与传统的矢量数据不同,矢量瓦片使用了基于Web的标准技术来压缩和存储数据,使得数据加载和渲染更加高效。 使用Cesium矢量瓦片可以实现实时的、交互式的三维地理可视化。由于矢量数据相对于栅格数据更为灵活,可以根据用户需求进行动态渲染和分析,因此矢量瓦片在GIS(地理信息系统)、地图服务和虚拟现实等领域有着广泛的应用。它能够支持多种地理数据类型,包括地形地貌、建筑物、航道、路网等,使得用户能够以更直观、更精细的方式来探索地理数据。 Cesium矢量瓦片的优势在于其高效性和可定制性。它能够在网络上快速加载和传输数据,减少了数据传输和渲染的时间成本。同时,用户可以根据自己的需求对数据进行自定义的样式和符号设置,灵活地呈现地理信息。此外,Cesium矢量瓦片还支持多种数据格式的转换和集成,使得用户可以方便地与其他地理数据格式进行互操作。 总之,Cesium矢量瓦片是一种创新的地理数据存储和渲染格式,它将高效性、可定制性和多样化的地理数据类型相结合,为用户提供了实时、交互式的地理信息可视化体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值