cesium获取坐标及高程
生活随笔
收集整理的這篇文章主要介紹了
cesium获取坐标及高程
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、獲取entity坐標及高程
var cartographic = Cesium.Cartographic.fromCartesian(entity.position.getValue());var lon = Cesium.Math.toDegrees(cartographic.longitude);var lat = Cesium.Math.toDegrees(cartographic.latitude);var elev = viewer.scene.globe.getHeight(cartographic);2、鼠標點選獲取坐標及高程
var handler = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas); handler.setInputAction(function (event) {var wp = event.position;if (!Cesium.defined(wp)) {return}var ray = viewer.scene.camera.getPickRay(wp);if (!Cesium.defined(ray)) {return}var cartesian = viewer.scene.globe.pick(ray, viewer.scene);if (!Cesium.defined(cartesian)) {return}if (cartesian) {var cartographic = Cesium.Cartographic.fromCartesian(cartesian);var lon = Cesium.Math.toDegrees(cartographic.longitude);var lat = Cesium.Math.toDegrees(cartographic.latitude);var elev = viewer.scene.globe.getHeight(cartographic);}} }, Cesium.ScreenSpaceEventType.LEFT_CLICK);3、根據坐標獲取高程
var carto=new Cesium.Cartographic.fromDegrees(lon,lat); //輸入經緯度 var h1=viewer.scene.globe.getHeight(carto);4、根據坐標獲取地表附著物高程
var carto=new Cesium.Cartographic.fromDegrees(lon,lat); //輸入經緯度 var h2=_this.viewer.scene.sampleHeight(carto);?5、根據坐標獲取terrain高程,精度為m
var terrainData = new Cesium.CesiumTerrainProvider({url:this.server_url_outer+"terrain/" //輸入terrian地形數據加載地址 }); var positions = [Cesium.Cartographic.fromDegrees(lon,lat) //輸入經緯度 ]; var promise = Cesium.sampleTerrain(terrainData,positions); Cesium.when(promise, function (updatedPositions) {var terrainHeight = updatedPositions[0].height; });
-----------------------------------------------------------
轉載請注明出處:https://www.cnblogs.com/implementer/
轉載于:https://www.cnblogs.com/implementer/p/10953676.html
總結
以上是生活随笔為你收集整理的cesium获取坐标及高程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: three.js顶点篇
- 下一篇: Knowledge-Aware Grap