Cesium 50个实例集合,讲解、分析(内附源码)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Cesium 50个实例集合,讲解、分析(内附源码)相关的知识,希望对你有一定的参考价值。

参考技术A 为方便快速测试 Cesium Demo使用,添加了一些演示demo并且提供了webpack打包的示例。目前整理了20个demo,后面会对demo进行讲解。

详情源码连接:

Cesium 50个实例集合,讲解、分析(内附源码)

示例概要说明:

1.Draw.js 动态绘制 点、线、面

2.Scanning.js 一个简单的扫描功能

3.Spline.js 样条插值

4.HeightProperty.js 一个类似淹没分析的效果

5.VectorTile.js 矢量切片加载

6.Ellipsoids.js 圆特效

7.Sensor.js 传感器,可设置角度,位置等

8.PolylineArrow.js 动态线效果

9.VolumesCZML.js 加载czml文件 支持传感器等动画特效

10.VolumesApi.js VolumesApi 调用效果

11.Fly.js 绕点飞行

12.Radar.js 气象雷达动态图

13.VisibleAnalysis.js 通视分析

14.EagleEye.js 鹰眼地图

15.Measure.js 测量

16.Translucency.js 地球半透明,可做地下管线、矿山项目

17.Interior.js 地球内部,结合VectorTile.js会出很牛的效果

18.3dtiles加载

19.可视域分析_3DTiles

20.站心坐标转WGS84

操作说明:

1.npm初始化第三方库

npm install

2.在根目录创建文件夹,文件夹名称为“ThirdParty” 。

3.将根目录下“node_modules\cesium\Build\Cesium”拷贝到“ThirdParty” 下。

4.编译

npm run build

5.运行

npm run start

注:可以不要“2”、“3”步骤的,只是为了初学者能更快的找到源码位置。



          

cesium常用方法汇集(工具篇)

参考技术A 1.Scene.prototype.pickPositionWorldCoordinates 根据屏幕坐标获取世界坐标

2,Scene.prototype.pickPosition  根据屏幕坐标获取世界坐标

3,Scene.prototype.drillPick 通过屏幕坐标拾取多个对象

4,Scene.prototype.pickFromRay 通过射线拾取第一个3d对象

5,Scene.prototype.drillPickFromRay 通过射线拾取多个3d对象

6,Scene.prototype.pickFromRayMostDetailed 异步拾取3d对象

7, Scene.prototype.drillPickFromRayMostDetailed  异步拾取多个3d对象

8,Scene.prototype.sampleHeight 根据当前弧度坐标获取3d高度

9,Scene.prototype.clampToHeight 根据当前世界坐标位置获取3d对象

10,Scene.prototype.sampleHeightMostDetailed异步获取当前位置的高度

11,Scene.prototype.clampToHeightMostDetailed 异步获取当前位置的3d对象

12,Scene.prototype.cartesianToCanvasCoordinates 世界坐标转canvas坐标

13,Camera.prototype.pickEllipsoid 根据屏幕坐标返回椭球体坐标或者2维地图上的坐标

14,Camera.prototype.getPickRay 以相机位置为起点,屏幕坐标位置为终点做一条射线

15,Scene.prototype.requestRender 手动场景渲染,每调一次手动触发一次渲染

16,Scene.prototype.forceRender 强制场景进行渲染

17,Scene.prototype.pick 通过屏幕坐标拾取3d对象

18,Camera.prototype.distanceToBoundingSphere 相机到椭球体的距离

19,Camera.prototype.viewBoundingSphere 将相机看向球体中心

20,Camera.prototype.flyToBoundingSphere 飞向球体中心

21,getRectangleCameraCoordinates 通过视图矩形获取相机位置

21,Camera.prototype.computeViewRectangle 返回相机在球体上的可视范围矩形

22,Cesium.Cartesian3.lerp 根据两个点和插值数量进行插值

23.Quaternion.fromAxisAngle 沿某个轴旋转角度之后,返回新的位置,是一个四元数

24,获取视图范围 varRectangle =this.viewer.camera.computeViewRectangle();

25,获取Zoom this.viewer.camera.moveEnd.addEventListener(this.onMoveendMap);//监听地图移动完成事件onMoveendMap = () =>

const me =this;//获取当前相机高度let height = Math.ceil(me.viewer.camera.positionCartographic.height);

let zoom = me.heightToZoom(height);

26,Globe.prototype.pick 返回地球上相交的点

27,Globe.prototype.pickWorldCoordinates 返回地球上相交点的坐标

28,Cesium.sampleTerrainMostDetailed(terrainProvider, positions);根据地形求地形上点的高度

29,Globe.prototype.getHeight(cartographic)根据经纬度获取地球上的高度

30,new Cesium.HeadingPitchRoll(Math.PI, Math.PI, Math.PI);设置欧拉角 弧度

31,HeadingPitchRoll.fromQuaternion = function (quaternion, result) 从四元数转成欧拉角

32,HeadingPitchRoll.fromDegrees = function (heading, pitch, roll, result) 用经纬度生成欧拉角

33.Plane.projectPointOntoPlane = function (plane, point, result)点到平面的投影

34.Plane.getPointDistance = function (plane, point)点到平面的距离

35.Transforms.eastNorthUpToFixedFrame 传入一个世界坐标,以地球东-北-上方向为参考系生成一个矩阵

36.Transforms.northEastDownToFixedFrame 传入一个世界坐标,以地球北-东-下方向为参考系生成一个矩阵

37.Transforms.headingPitchRollToFixedFrame(origin,headingPitchRoll) 传入一个坐标和欧拉角得到一个矩阵

38.Transforms.headingPitchRollQuaternion(origin,headingPitchRoll) 传入一个坐标和欧拉角得到一个四元数

39.Transforms.fixedFrameToHeadingPitchRoll 传入一个矩阵得到欧拉角

40.SceneTransforms.wgs84ToWindowCoordinates (scene, position, result) 将场景里的某个世界坐标位置转成屏幕坐标

41.SceneTransforms.wgs84ToDrawingBufferCoordinates(scene, position, result) 将场景里的某个世界坐标位置转成换图形缓冲区坐标

42.SceneTransforms.transformWindowToDrawingBuffer(scene,windowPosition,result)将屏幕坐标转换成图形缓冲区坐标

43.SceneTransforms.clipToGLWindowCoordinates(viewport,position,result)将裁剪坐标转成窗口坐标

44.SceneTransforms.drawingBufferToWgs84Coordinates(scene,drawingBufferPosition,depth,result)将缓冲区坐标转成世界坐标

以上是关于Cesium 50个实例集合,讲解、分析(内附源码)的主要内容,如果未能解决你的问题,请参考以下文章

BERT入门讲解(内附源码)自然语言处理NLP-100例

Cesium 1.50重量级新功能测评

Python教学机器人带你学会驾考科目三——内附数据分析源码与科三干货技术与生活

Java集合系列:-----------03ArrayList源码分析

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

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