Cesium专栏-terrain地形3dtiles模型gltf模型 高度采样

Posted giserhome

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Cesium专栏-terrain地形3dtiles模型gltf模型 高度采样相关的知识,希望对你有一定的参考价值。

在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);
  • }
  • }

技术图片

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);
  • }
  • }

技术图片

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

更多详情见下面链接文章

Cesium专栏-terrain地形、3dtiles模型、gltf模型 高度采样

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

以上是关于Cesium专栏-terrain地形3dtiles模型gltf模型 高度采样的主要内容,如果未能解决你的问题,请参考以下文章

cesium之加载地形图Terrain篇

Cesium入门7 - Adding Terrain - 添加地形

Cesium加载地形数据只显示半个地球

Cesium加载地形数据只显示半个地球

cesium 3d地形和平面地形动态转换,取消3d地形

Cesium官方教程5--地形图层