Cesium空间分析、Cesium通视分析

  • 实现效果
  • 关键代码

实现效果

直线通视分析

圆形通视分析

关键代码

 //开始分析startnalysis() {// 计算射线的方向,目标点left 视域点rightvar direction = Cesium.Cartesian3.normalize(Cesium.Cartesian3.subtract(this.positions[1], this.positions[0], new Cesium.Cartesian3()), new Cesium.Cartesian3());// 建立射线var ray = new Cesium.Ray(this.positions[0], direction);var result = this.viewer.scene.pickFromRay(ray, [this.viewEntity, this.targetEntity]); // 计算交互点,返回第一个this.resultPolylines = this.showIntersection(result, this.positions[1], this.positions[0]);}// 处理交互点showIntersection(result, destPoint, viewPoint) {let resultPolylines = [];let resultLine;// 如果是场景模型的交互点,排除交互点是地球表面if (Cesium.defined(result) && Cesium.defined(result.object)) {resultLine = this.drawResultLine(result.position, viewPoint, Cesium.Color.CHARTREUSE); // 可视区域resultPolylines.push(resultLine);resultLine = this.drawResultLine(result.position, destPoint, Cesium.Color.RED); // 不可视区域resultPolylines.push(resultLine);} else {resultLine = this.drawResultLine(viewPoint, destPoint, Cesium.Color.CHARTREUSE);resultPolylines.push(resultLine);}return resultPolylines;}

详情参见 Cesium实战专栏

Cesium空间分析、Cesium通视分析相关推荐

  1. Cesium通视分析

    通视分析是什么呢?就是将起点和终点连成一条线,判断这条线与场景之间是否有交点,如果有交点,就返回第一个交点,起点--交点创建绿polyline实体,交点--终点创建红色实体,绿线为可视区域,红线为不可 ...

  2. 360视域分析 cesium_Cesium-空间分析之通视分析(附源码下载)

    Cesium Cesium 是一款面向三维地球和地图的,世界级的JavaScript开源产品.它提供了基于JavaScript语言的开发包,方便用户快速搭建一款零插件的虚拟地球Web应用,并在性能,精 ...

  3. supermap iobjects学习——三维通视分析,可视域分析 (1)

    三维可视分析包括通视分析和可视域分析.前者用来判断两点之间是否通视,后者用于对观察点的可视范围进行分析. 涉及到的控件: sceneControl相关事件:Tracking,Tracked Scene ...

  4. Cesium空间分析-通视分析

    进入正题,前段时间做了一个通视分析的功能. 功能很简单:给定"观察点"与"目标点",判断两点之间是否有"阻碍点",并能够计算出阻碍点.效果如 ...

  5. Cesium针对DEM和3Dtiles通视分析(两个点之间是否能看见)

    Cesium通视分析 tip:利用两点间的插值计算,点A到点B之间,直线距离的高度是否大于地形高度为依据判断是否通视. 1.3Dtiles 的通视 const startPoint = car3ToL ...

  6. cesium获取模型高度_Cesium专栏-空间分析之剖面分析(附源码下载)

    Cesium Cesium 是一款面向三维地球和地图的,世界级的JavaScript开源产品.它提供了基于JavaScript语言的开发包,方便用户快速搭建一款零插件的虚拟地球Web应用,并在性能,精 ...

  7. Cesium专栏-空间分析之坡度分析(附源码下载)

    Cesium Cesium 是一款面向三维地球和地图的,世界级的JavaScript开源产品.它提供了基于JavaScript语言的开发包,方便用户快速搭建一款零插件的虚拟地球Web应用,并在性能,精 ...

  8. Cesium空间分析-填挖方计算(地形、模型通用)

    我的第一篇文章Cesium空间分析-填挖方计算 中,介绍了通过细化PolygonGeometry的颗粒度,进行填挖方计算.这里还是要感谢大神的分享. 这个思路,简单.清晰.但是有一个弊端-无法在模型上 ...

  9. 基于Cesium的通视分析的实现

    基于Cesium三维地图项目记录_通视分析功能的实现## 实现了剖面分析功能之后,下面来看看如何实现通视分析,还是基本按照之前的思路实现: 了解软件LocaScape是怎么实现的: 网址如下:http ...

最新文章

  1. Android不同分辨率和不同密度适配
  2. 你们这行我懂,不给点好处都不接!
  3. Javah 常见错误记录
  4. PyCairo 中的图片
  5. EL表达式 jsp2.0 jsp1.2 与 tomcat
  6. java学习笔记20(Arraylist复习,Collection接口方法,迭代器,增强型for循环)
  7. gcn代码pytorch_GCN的简单实现(pytorch)
  8. 高性能滚动scroll(防抖和节流)
  9. mysql meb安装_用meb搭建MySQL Master/Slave
  10. [51NOD1126]求递推序列的第n项(矩阵快速幂)
  11. 偏向锁、轻量级锁和重量级锁
  12. Jmeter脚本录制和压测
  13. 翻译:最令人印象深刻的YouTube频道,可让您学习AI,机器学习和数据科学
  14. 弹丸论破2 中文攻略
  15. 来了,k8s!-----------------k8s集群部署
  16. 图片服务架构演进及云存储的优势
  17. 怎么调整计算机显示屏,电脑显示器画面怎么调整
  18. 【SpringBoot】59、SpringBoot使用Sa-Token-Quick-Login插件快速登录认证
  19. pandas常用方法
  20. 帮您分析济南网站优化和推广的区别?

热门文章

  1. Java多个文件根据URL下载后打包zip导出
  2. 用结构体数组存储学生信息,输入学生学号,查询相应的成绩
  3. python数组定义_python定义数组
  4. 《万历十五年》 黄仁宇
  5. 你与绝美文章只差一个Typora(Mac版)
  6. 几次安全实习面试简单记录
  7. mysql 同步复制 半同步复制_一文看懂MySQL的异步复制、全同步复制与半同步复制...
  8. Vue2知识点 - RT
  9. 关于“基于模型的思想”的一些引述和评论
  10. php 指定大小缩略图片