11 Cesium—影像服务-4

文章中所有操作均是在 Cesium 1.91 版本下进行的,其它版本差异请自行适配

影像服务 4

相关介绍请移步影像服务介绍,这里介绍学习的影像服务,包括 GoogleEarthEnterpriseImageryProvider、GoogleEarthEnterpriseMapsProvider、GridImageryProvider、TileCoordinatesImageryProvider、IonImageryProvider 的使用。

GoogleEarthEnterpriseImageryProvider

使用谷 Google Earth Enterprise REST API 提供瓦片图像在线服务,可与 Google Earth Enterprise的 3D Earth API 一起使用。

代码片段:

const viewer = new Cesium.Viewer("cesiumContainer");

var geeMetadata = new Cesium.GoogleEarthEnterpriseMetadata(
    "http://www.earthenterprise.org/3d"
);

var googleEarthProvider = new Cesium.GoogleEarthEnterpriseImageryProvider({
    metadata: geeMetadata
});

viewer.imageryLayers.addImageryProvider(googleEarthProvider);

加载谷歌服务,需要翻墙才行,这里不展示效果了。

GoogleEarthEnterpriseMapsProvider

使用 Google Earth Imagery API 提供瓦片图像在线服务,应该与 2D Maps API 一起使用。

代码片段:

const viewer = new Cesium.Viewer("cesiumContainer");

var googleEarthProvider = new Cesium.GoogleEarthEnterpriseMapsProvider({
    url: "https://earth.localdomain",
    channel: 1008
});

viewer.imageryLayers.addImageryProvider(googleEarthProvider);

加载谷歌服务,需要翻墙才行,这里不展示效果了。

GridImageryProvider

展示内部渲染网格划分情况,了解每个瓦片的精细度,便于调试地形和图像渲染问题。

代码片段:

const viewer = new Cesium.Viewer("cesiumContainer");

var arggisProvider = new Cesium.ArcGisMapServerImageryProvider({
    url: "https://map.geoq.cn/ArcGIS/rest/services/ChinaOnlineStreetPurplishBlue/MapServer"
});

viewer.imageryLayers.addImageryProvider(arggisProvider);

var gridImagery = new Cesium.GridImageryProvider();

var gridImageryLayer = viewer.imageryLayers.addImageryProvider(gridImagery);

//将图层置顶
viewer.imageryLayers.raiseToTop(gridImageryLayer);

效果如下:

TileCoordinatesImageryProvider

展示内部渲染网格瓦片划分情况,包括网格瓦片等级、X、Y序号,便于调试地形和图像渲染问题,也可以和 GridImageryProvider 一起叠加使用。

代码片段:

const viewer = new Cesium.Viewer("cesiumContainer");

var arggisProvider = new Cesium.ArcGisMapServerImageryProvider({
    url: "https://map.geoq.cn/ArcGIS/rest/services/ChinaOnlineStreetPurplishBlue/MapServer"
});

viewer.imageryLayers.addImageryProvider(arggisProvider);

var tilecoordinates = new Cesium.TileCoordinatesImageryProvider();

var tilecoordinatesLayer = viewer.imageryLayers.addImageryProvider(tilecoordinates);

//将图层置顶
viewer.imageryLayers.raiseToTop(tilecoordinatesLayer);

效果如下:

IonImageryProvider

cesium Ion 在线服务,这里不做过多阐述了,各位可以移步作者相关博文进行参考:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WorkLee

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值