CESIUM 点只显示一半
2023-03-15 23:27:40 时间
CESIUM 点只显示一半
问题:
小圆点只有一半在地上,一半在地下
背景介绍: 通过下述代码往地图上添加小圆点 备注:此时没有加载地形
//创建点
createPoint(cartesian) {
let $this = this;
let point = this.viewer.entities.add({
position: cartesian,
point: {
pixelSize: 10,
color: $this.Cesium.Color.YELLOW,
}
});
$this._entities_point.push(point);
return point;
}
方案1:调整深度检测值
使用disableDepthTestDistance: Number.POSITIVE_INFINITY
,
圆点完全都在地上了
存在问题: 图中间的小圆点可能会出现在一些建筑的前面,实际在建筑的后面 这是关闭深度检测的必然结果!
方案2:抬升高度
下述语句中输入高度值
let position = Cesium.Cartesian3.fromDegrees(x, y, 10);
相关解释:
position中的10,代表圆点的高度,单位是“米”(从圆点的中心抬高10米)
pixelSize中的5,代表圆点的像素大小,单位是“像素”(5代表直径)
圆不被遮挡的条件:只有position中的高度,比pixelSize换算成米的数值大
在不同的camera高度下,一个像素代表的实际高度(单位为米),是不一样的
camera越高,一个像素换算成米,就越大
camera越低,一个像素换算成米,就越小
存在问题: position中的height比较小:camera高的时候,小圆点还是有可能有一部分在地球下面 position中的height比较大:camera低的时候,点会显得离地面很远
方案3:关闭深度检测 执行下述代码,关闭深度检测 viewer.scene.globe.depthTestAgainstTerrain = false;
相关文章
- 022.常见硬盘检测方式
- 简单网络问题自查(下)
- 2021全球Quant发展报告:高频交易、薪酬、激励
- FastAPI(七十九)实战开发《在线课程学习系统》接口开发-- 退出课程
- awk权威指南之 终结篇!
- 从家庭上网认识网络相关概念
- FastAPI(八十)实战开发《在线课程学习系统》接口开发-- 课程列表
- 【IntellJ IDEA】、idea忽略隐藏文件、文件夹的设置操作
- 005.系统管理监测命令
- AWK权威指南
- 基于 netty 封装的超简单通俗易用 服务端客户端交互框架 《net-framework》原理,源码和使用说明,开箱即用,只需要开发业务逻辑,完全自定义无限扩充 [结尾附github源码]
- FastAPI(八十一)实战开发《在线课程学习系统》接口开发-- 推荐课程列表与课程点赞
- 数组中数字出现的个数(剑指offer 56-I)
- 为什么我的虚拟机开机即卡死?以及我是怎么修补的
- 令牌认证机制(token),相关各类JWT库(java)
- Kubernetes的Ingress控制器比较(Traefik)
- 关于 select for update,大抄们没讲清楚的东西
- mysql 1449 : The user specified as a definer (‘root‘@‘%‘) does not exist 解决方法
- Druid源码阅读5-DruidDataSource的shrink过程
- C: GNU regex library (regex.h)正则表达式调用示例