Cesium-空间分析之通视分析(附源码下载)

纵饮孤独 提交于 2020-05-01 07:09:47

Cesium


Cesium 是一款面向三维地球和地图的,世界级的JavaScript开源产品。它提供了基于JavaScript语言的开发包,方便用户快速搭建一款零插件的虚拟地球Web应用,并在性能,精度,渲染质量以及多平台,易用性上都有高质量的保证。

通视分析


通视分析是指以某一点为观察点,研究某一区域通视情况的地形分析。利用DEM判断地形上任意两点之间是否可以互相可见的技术方法,分为视线通视分析和可视域分析,前者判断任意两点之间或者多点之间能否通视,后者对于给定的观察点,分析观察所覆盖的区域。

其中可视域是从一个或者多个观察的可以看见的地表范围。可视域分析是在栅格数据数据集上,对于给定的一个观察点,基于一定的相对高度,查找给定的范围内观察点所能通视覆盖的区域,也就是给定点的通视区域范围,分析结果是得到一个栅格数据集。在确定发射塔的位置、雷达扫描的区域、以及建立森林防火瞭望塔的时候,都会用到可视域分析。可视域分析在航海、航空以及军事方面有较为广泛的应用。

本章节首先处理这两种分析中的较为简单的通视分析,即给定的任意两点之间是否可见。

简单的认知


先上几张图,对于通视分析有个基本的直观了解,图片均来源于百度,如有侵权,请告知。


Cesium中通视分析的做法


原理:采用射线法来判别两点之间是否有其他物体所遮挡(比如Entity、Primitive、Terrain、3DTiles等)

接口API

  • Cesium.Cesium3DTileset
  • Cesium.Cartesian3
  • Cesium.Ray
  • Cesium.Scene

具体步骤
1.设置你自己的AccessToken,如果不用Ion上的网络资源可省略这步

2.初始化容器

3.加载3dtiles模型,作为通视的模型

4.指定观察点

设置观察点所在的视点高度为100m

……

最终实现效果图:

 

更多详情见小专栏GIS之家cesium小专栏

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

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!