Cesium标绘工具-扇形

 想要全部源码的请查看:

Cesium标绘工具-扇形源代码分享-Javascript文档类资源-优快云下载

最近在做Cesium标绘的功能,参考某openlayer的军标库,非常感谢核心计算多边形点坐标的算法都已经写好了,只要转成Cesium的绘制方法即可,这里涉及到一个问题,当我绘制扇形的时候,发现,绘制的结果是个立着的椭圆(应该是圆形),也就是南北长,东西短,目测应该是投影问题,然后进行了改造,将计算之前,先把笛卡尔坐标转成的经纬度坐标转成web墨卡托投影坐标,然后计算结束后,再将web墨卡托投影坐标转成经纬度坐标,再进行绘制即可。

参考的标绘计算:https://github.com/sakitam-fdd/ol-plot

修改以后的:

坐标转换代码Cesium都提供了:

 this.proj = new Cesium.WebMercatorProjection()

 cartesianToCartographic(cartesian) {

        var latlng = viewer.scene.globe.ellipsoid.cartesianToCartographic(cartesian);

        const _l =  this.proj.project(latlng)

        return [_l.x, _l.y, _l.z];

    }

由投影坐标转回经纬度坐标:

 let pl=pList.map((e)=>{

                    const c=p.unproject(new Cesium.Cartesian3(e[0],e[1]))

                    return [c.longitude*Cesium.Math.DEGREES_PER_RADIAN,c.latitude*Cesium.Math.DEGREES_PER_RADIAN]

                })

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

liyan_gis

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值