开发数字孪生可视化项目过程中你是不是也有这种感觉:坐标系让人头晕,坐标转换令人头大。 坐标系的相互转换在项目中使用非常普遍,比如有一些巡检轨迹点的数据是用经纬度坐标表示的,如果园区在地球上,可以直接使用经纬读数据进行展示巡检轨迹,但是如果是只在园区中展示,就需要转为园区相对坐标。又比如对某一个物体的实时位置进行监控,物体的位置也是使用经纬度表示,但是需要在园区内将物体的实时位置进行展示。 在已知园区位置角度的情况下,如何将经纬度坐标转为园区相对坐标呢?下面就以低代码ThingJS和森数据DIX为例,详细讲解一下坐标转换的过程。 整体思路: 1.根据待求点经纬度,高度转为三维地球场景中的世界坐标(为方便计算,uEarth采用圆球来模拟地球,球半径为6378000m)。 2.根于园区的经纬度,高度,方位角计算园区点在三维地球场景中的旋转和位置信息,构建一个矩阵。 3.求出步骤2中计算得到的矩阵的逆矩阵。 4.使用步骤1中求出的世界坐标与步骤3中求出的矩阵进行相乘,得到待求点相对于园区的相对坐标。 使用低代码ThingJS进行坐标转换 在低代码ThingJS中在线开发编辑窗口输入代码如下:
输出结果为:[21.616811162326485, -0.0000430569052696228, 9.052460958948359] 基于森数据DIX进行坐标转换 (2)选择接入配置: 根据实际业务数据的来源选择,这里就以RabbitMQ为例。 (3)编写代码:
|
2022-07-01
2021-05-31
2021-03-22
2022-07-20
2022-07-01