我的github
posts - 3243,  comments - 42,  views - 158万
1.51版新增的sampleHeight和clampToHeight函数虽然能获取3ditles数据指定位置的求交点,但是有一个问题,它只是以当前视角相机能看到的视野进行计算,视野范围之外,要么模型过于粗糙,要么就没有调度,很可能求取不到数值。

参考:https://www.jianshu.com/p/a5d07bb47809

复制代码
/**
 * 获取坐标的 贴模型高度
 * opts支持:   是否异步 asyn:true  异步回调方法callback返回“新高度”和“原始的Cartographic坐标”
 */
function getSurface3DTilesHeight(scene, position, opts) {
  opts = opts || {};

  //原始的Cartographic坐标
  opts.cartesian = opts.cartesian || Cesium.Cartographic.fromCartesian(position);
  var carto = opts.cartesian;
  var callback = opts.callback || opts.calback; //兼容不同参数名

  //是否异步求精确高度
  if (opts.asyn) {
    scene.clampToHeightMostDetailed([position], opts.objectsToExclude, 0.2).then(function (clampedPositions) {
      var clampedPt = clampedPositions[0];
      if (Cesium.defined(clampedPt)) {
        var cartiles = Cesium.Cartographic.fromCartesian(clampedPt);
        var heightTiles = cartiles.height;
        if (Cesium.defined(heightTiles) && heightTiles > -1000) {
          if (callback) callback(heightTiles, cartiles);
          return;
        }
      }
      //说明没在模型上,继续求地形上的高度
      getSurfaceTerrainHeight(scene, position, opts);
    });
  } else {
    //取贴模型高度
    var heightTiles = scene.sampleHeight(carto, opts.objectsToExclude, 0.2);
    if (Cesium.defined(heightTiles) && heightTiles > -1000) {
      if (callback) callback(heightTiles, carto);
      return heightTiles;
    }
  }

  return 0; //表示取值失败
}
复制代码

 

posted on   XiaoNiuFeiTian  阅读(1071)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
历史上的今天:
2020-12-08 arcgis sql 字符串替换
2020-12-08 ArcGIS矢量转栅格再发布切片服务,还是直接发布切片服务?有何区别?
2020-12-08 cad转arcgis属性怎么看?
2020-12-08 打开或引用的图形包含由不可用的ObjectARX应用程序创建的自定义对象
2019-12-08 Single-shot Object Detection
2018-12-08 基于倾斜影像的城市三维场景重建
2016-12-08 Robot Perception for Indoor Navigation《室内导航中的机器人感知》
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示