mars3d- 坐标的转换

24 篇文章 0 订阅
1 篇文章 0 订阅

先看看mars3d支持的坐标参数形式:

//1.数组形式
var graphic = new mars3d.graphic.PointEntity({
    position: [116.244399, 30.920459, 573.6],
    style: { color: '#ff0000', pixelSize: 10 },
})

//2.字符串形式
var graphic = new mars3d.graphic.PointEntity({
    position: "116.301798, 30.835848, 915",
    style: { color: '#ff0000', pixelSize: 10 },
})

//3.对象形式
var graphic = new mars3d.graphic.PointEntity({
    position: {lng:116.301798, lat:30.835848, alt:915},
    style: { color: '#ff0000', pixelSize: 10 },
})


//4.Cartesian3对象形式
var graphic = new mars3d.graphic.PointEntity({
    position: Cesium.Cartesian3.fromDegrees(116.308659, 30.914005, 59),
    style: { color: '#ff0000', pixelSize: 10 },
})

//5.LatLngPoint对象形式【建议】
var graphic = new mars3d.graphic.PointEntity({
    position: new mars3d.LngLatPoint(116.301798, 30.835848, 915),
    style: { color: '#ff0000', pixelSize: 10 },
})
 

Cartesian3 格式转换成数组形式

// Cartesian3  格式
const Cartesian3 = {x: -2483911.4536318877, y: 4819824.370398979, z: 3347361.270403664}

// 变成obj形式,也可直接用于矢量数据加载,但是不方便保存数据
console.log(mars3d.LngLatPoint.parse(Cartesian3))
console.log(mars3d.LngLatPoint.fromCartesian(Cartesian3))

// 使用toArray()方法变成数组形式,便于保存数据
console.log(mars3d.LngLatPoint.fromCartesian(graphic.positionShow).toArray())

数组形式 转换成 Cartesian3格式

const positions = [117.205121, 31.866764, 27.4]


// {x: -2478763.515211165, y: 4821722.343135008, z: 3348453.5320802294}

console.log(mars3d.LngLatPoint.toCartesian(positions)) 

console.log(Cesium.Cartesian3.fromDegrees(positions[0], positions[1], positions[2]))

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值