cesium 3dtiles 加载本地数据_Cesium专栏-terrain地形、3dtiles模型、gltf模型 高度采样...

9ebfa0a87a33eb40ba043f9bc4a444d7.png
在Cesium中,对于terrain地形、3dtiles模型、gltf模型的高度采样是一个很基本的功能,基于此,可以做一些深度应用,而Cesium已经帮我们提供了相应的API,在这里,我帮大家总结一下,如果遇到了,可以当做帮助文档随时浏览。

terrain地形 高度采样(API: Cesium.sampleTerrainMostDetailed)

通过两点决定一条直线,求取这条直线在地表高度

var start = Cesium.Cartesian3.fromDegrees(114, 30); 
var end = Cesium.Cartesian3.fromDegrees(115, 30); 
 
var positions = [Cesium.Cartographic.fromCartesian(start)]; 
// 插值100个点(自定义) 
var count = 100; 
for (var i = 1; i < count; i++) { 
 var cart = Cesium.Cartesian3.lerp(start, end, i / count, new Cesium.Cartesian3()); 
    positions.push(Cesium.Cartographic.fromCartesian(cart)); 
} 
positions.push(Cesium.Cartographic.fromCartesian(end)); 
 
var promise = Cesium.sampleTerrainMostDetailed(terrainProvider, positions); 
Cesium.when(promise, function (updatedPositions) { 
 // 每个点的高度         
 var height = []; 
 for (var i = 0; i < updatedPositions.length; i++) { 
       height.push(updatedPositions[i].height); 
    } 
} 

f2a0607568147da9127ab89c7c6bf546.png

3dtiles模型 高度采样(API: Scene.clampToHeightMostDetailed)

var start = new Cesium.Cartesian3(1216467.760147752, -4736154.3567799, 4081478.9167016773); 
var end = new Cesium.Cartesian3(1216183.8039071201, -4736456.592237458, 4081200.6372076278); 
// 插值100个点 
var count = 100; 
var positions = []; 
for (var i = 0; i <= count; i++) { 
    positions.push(Cesium.Cartesian3.lerp(start , end , i / count, new Cesium.Cartesian3())); 
} 
scene.clampToHeightMostDetailed(positions).then(function (clampedCartesians) { 
 // 每个点的高度 
 var height = []; 
 for (var i = 0; i < count; ++i) { 
        height.push(Cesium.Cartographic.fromCartesian(clampedCartesians[i]).height); 
    } 
} 

33208ae850ddefc5aa14925eb4200c0f.png

gltf模型 高度采样(API: Scene.sampleHeightMostDetailed)

更多详情见下面链接

Cesium专栏-terrain地形、3dtiles模型、gltf模型 高度采样 - 小专栏​xiaozhuanlan.com
429bc333ca1f198c9e22377235988b14.png

对本专栏感兴趣的话,可以关注一波

GIS之家店铺:GIS之家
GIS之家源码咨询:GIS之家webgis入门开发系列demo源代码咨询

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值