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小專欄
對本專欄感興趣的話,可以關注一波