地形高度
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);
}
}
3dtiles 高度
// 起点
var cartesian1 = new Cesium.Cartesian3(1216467.760147752,
-4736154.3567799, 4081478.9167016773);
// 终点
var cartesian2 = new Cesium.Cartesian3(1216183.8039071201,
-4736456.592237458, 4081200.6372076278);
// 插值 100 个点
var count = 100;
var cartesians = [];
for (var i = 0; i <= count; i++) {
cartesians.push(Cesium.Cartesian3.lerp(cartesian1,
cartesian2, i / count, new Cesium.Cartesian3()));
}
scene.clampToHeightMostDetailed(cartesians).then(function
(clampedCartesians) {
// 每个点的高度
var height = [];
for (var i = 0; i < count; ++i) {
height.push(Cesium.Cartographic.fromCartesian(clampedC
artesians[i]).height);
}
}
模型高度
// 起点
var cartesian1 = new Cesium.Cartesian3(-2505765.4115135744,
-3847571.788472332, 4412115.866010899);
// 终点
var cartesian2 = new Cesium.Cartesian3(-2505753.7330809264,
-3847579.139677606, 4412116.086420342);
// 插值 1000 个点
var count = 1000;
var cartesians = [];
for (var i = 0; i <= count; i++) {
var cart = Cesium.Cartesian3.lerp(cartesian1, cartesian2,
i / count, new Cesium.Cartesian3());
cartesians.push(Cesium.Cartographic.fromCartesian(cart)
);
}
scene.sampleHeightMostDetailed(cartesians).then(function
(clampedCartesians) {
// 每个点的高度
var height = [];
for (var i = 0; i < count; ++i) {
height.push(clampedCartesians[i].height);
}
}