Cesium 中一些常用方法汇总

Cesium 中一些常用方法汇总

本章主要记录一些在学习 Cesium 过程当中遇到的一些方法和小技巧的汇总内容

经纬度坐标转为笛卡尔空间直角坐标系

有两种方式,代码如下

1
2
3
4
5
6
7
8
9
10
var lng = 116.5, lat = 36.5, height = 10.0

// 第一种方法,直接转换
var cartesian3 = Cesium.Cartesian3.fromDegrees(lng, lat, height)

// 第二种方法,借助 ellipsoid 对象,先转换成弧度再转换
var cartographic = Cesium.Cartographic.fromDegrees(lng, lat, height) // 单位为 度,度,米
var cartesian3 = ellipsoid.cartographicToCartesian(cartographic)

console.log(cartesian3.x + ',' + cartesian3.y + ',' + cartesian3.z) // 单位为 米,米,米

计算两点之间的距离

需要注意的是下面示例当中的 pick1pick2 都是三维坐标系下的点

1
2
3
4
var distance = Cesium.Cartesian3.distance(
new Cesium.Cartesian3(pick1.x, pick1.y, pick1.z),
new Cesium.Cartesian3(pick2.x, pick2.y, pick2.z)
)

在画布上创建一个显示图片的区域

这里主要使用的是 ViewportQuad 这个方法,代码如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// 使用 ViewportQuad 创建一个显示图片的区域
var viewportQuad = new Cesium.ViewportQuad()

// 定义了四边形在视口中的位置
viewportQuad.rectangle = new Cesium.BoundingRectangle(0, 0, 200, 40)

// 添加进画布
viewer.scene.primitives.add(viewportQuad)

viewportQuad.material = new Cesium.Material({
fabric: {
type: 'Image',
uniforms: {
color: new Cesium.Color(1.0, 1.0, 1.0, 1.0),
image: Cesium.buildModuleUrl('Assets/Images/bing_maps_credit.png'),
},
},
})
# GIS

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×