Cesium專欄-測量工具測距、測面、測高(附源碼下載)


Cesium


Cesium 是一款面向三維地球和地圖的,世界級的JavaScript開源產品。它提供了基於JavaScript語言的開發包,方便用戶快速搭建一款零插件的虛擬地球Web應用,並在性能,精度,渲染質量以及多平台,易用性上都有高質量的保證。

關於測量


測量是一個GIS系統最基本的,也是必備的模塊,網上也有很多相關開發者分享過關於Cesium測量的技術文章,風格各異,但是大同小異,只要弄清楚了原理以及方法,其實每個人都可以寫出自己的測量小工具。

測距


測距其實計算兩點之間的距離,這個計算方法可以使用最原始的直角三角形求斜邊的方法,但是我們也可以直接使用Cesium中Cartesian3接口的distance方法。

  • Cesium.Cartesian3.distance(firstPoint, secondPoint);

計算方法已經有了,我們要做的就是添磚加瓦,做成一個可供用戶交互的測距,並且實時顯示距離長度的效果。

// 注冊鼠標左擊事件
viewer.screenSpaceEventHandler.setInputAction(function (clickEvent) {
var cartesian = viewer.scene.pickPosition(clickEvent.position);
// 如果是第一次點擊
if (positions.length == 0) {
addPoint(cartesian); // 存儲第一個點,並在點擊處繪制一個點entity
// 同時注冊鼠標移動事件
}
……

更多詳情見小專欄GIS之家cesium小專欄

對本專欄感興趣的話,可以關注一波


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM