neu坐标系和xyz坐标系转换_js坐标转换WGS84(大地坐标系BLH)转空间直角坐标系XYZ...

这段代码展示了如何使用JavaScript将WGS84经纬度转换为大地坐标系BLH,并进一步转换为空间直角坐标系XYZ。通过定义不同的投影类型和提供坐标参数,可以进行坐标转换。代码中还包含了一个多边形点的示例,演示了坐标转换的过程。
摘要由CSDN通过智能技术生成

// 坐标转换 WGS84经纬度 => 大地坐标系BLH XYZ

var pi_180 = Math.PI / 180;

var _180_pi = 180 / Math.PI;

var projectionTypes = {};

projectionTypes.bj54 = {

a:6378245,//长半轴

e2:0.006693421622966//第一偏心率平方

};

projectionTypes.wgs84 = {

a:6378135,//长半轴

e2:0.00669437999013//第一偏心率平方

};

var myparams = {

dx : 31.4,

dy : -144.3,

dz : -74.8,

rx : 0,

ry : 0,

rz : 0.814,

m : -0.38

};

function _BLH2XYZ(blhObj){//将大地坐标喜欢换为空间直角坐标系

// var e2 = projectionTypes[projectionType].e2;//第一偏心率平方值

var e2 = 0.00669437999013;

// var a = projectionTypes[projectionType].a;//长半轴

var a=6378135;//长半轴

var N = a / Math.sqrt(1 - e2 * Math.sin(blhObj.b * pi_180) * Math.sin(blhObj.b * pi_180));

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 将xyz坐标系转换neu坐标系需要以下步骤: 1. 了解xyz坐标系neu坐标系的定义:xyz坐标系是一个以地球质心为原点,以地球自轴为z轴,且与地球赤道共面的坐标系neu坐标系是一个以测站点为原点,以地球表面和地心连线垂直的法线方向(N轴)为参考方向,在该法线平面上选取东(E轴)和上(U轴)方向。 2. 根据已知的测站点坐标,确定neu坐标系的原点(测站点)和参考方向(N轴)。 3. 计算测站点坐标到地心的矢量差。通过将xyz坐标系的原点(地球质心)与测站点坐标相连,并得到该矢量的模(即距离测站点到地心的距离)和方向(即面向测站点的方向),可以得到该矢量差。 4. 利用已知测站点坐标到地心的矢量差,确定neu坐标系的东(E轴)和上(U轴)方向。东方向(E轴)的确定可以通过将已知的测站点坐标到地心的矢量差向右旋90度得到;上方向(U轴)的确定可以通过将已知的测站点坐标到地心的矢量差与地球自轴的叉乘得到。 5. 确定坐标轴方向后,将原始的xyz坐标系的点坐标转换neu坐标系的点坐标。通过向量运算,将原始点坐标与测站点坐标到地心的矢量差叉乘,并分解为东、北和上方向的分量,即可得到对应的neu坐标系的点坐标。 值得注意的是,转换过程需要确保xyz坐标系neu坐标系之间的坐标单位是一致的,一般为米(m)。 ### 回答2: 将xyz坐标系转换neu坐标系的方法有如下步骤: 1. 确定参考点:选择一个参考点作为原点,可以是地球表面的某个点,如某个地标的经纬度。 2. 计算基线向量:基线向量表示从参考点到测量点的向量,可以通过将测量点的xyz坐标减去参考点的xyz坐标得到。 3. 计算矩阵:使用参考点的经纬度计算矩阵。根据经纬度可以确定地球的几何参数,如椭球体的长轴、短轴、扁率等。根据这些参数,可以计算出旋矩阵。 4. 旋坐标:将基线向量乘以旋矩阵,得到经纬度下的neu坐标系坐标。 其neu坐标系是以北、东、上方向为坐标轴的地理坐标系。北方向是与地球的正交,指向地球表面的北极点;东方向是与北方向和上方向构成右手坐标系的向量;上方向是竖直向上与地球表面的法向量。 需要注意的是,这是一个简化的转换过程,没有考虑地球表面的曲率和其他复杂因素。在实际应用,可能会使用更精确的转换方法和模型。 ### 回答3: 将一个坐标系XYZ转换NEU,需要使用旋矩阵和平移矩阵来进行转换。 首先,需要确定XYZ坐标系的原点和NEU坐标系的原点的坐标差异。假设XYZ坐标系的原点为 (X0, Y0, Z0),NEU坐标系的原点为 (N0, E0, U0)。那么,NEU坐标系的原点相对于XYZ坐标系的原点的坐标偏移为 (dN, dE, dU),其 dN = N0 - X0,dE = E0 - Y0,dU = U0 - Z0。 然后,使用旋矩阵将XYZ坐标系的坐标进行旋。通常,需要考虑的旋有三个:绕X轴旋α角,绕Y轴旋β角,绕Z轴旋γ角。旋矩阵可以表示为: R = Rx(α) * Ry(β) * Rz(γ) 其 Rx(α),Ry(β),Rz(γ) 分别表示绕X轴、Y轴、Z轴旋的旋矩阵。每个旋矩阵可以由以下公式计算得到: Rx(α) = [1, 0, 0] [0, cos(α), -sin(α)] [0, sin(α), cos(α)] Ry(β) = [cos(β), 0, sin(β)] [ 0, 1, 0] [-sin(β), 0, cos(β)] Rz(γ) = [cos(γ), -sin(γ), 0] [sin(γ), cos(γ), 0] [ 0, 0, 1] 最后,对于一个在XYZ坐标系下的点 P(X, Y, Z),其在NEU坐标系下的坐标可以通过以下步骤计算得到: 1. 将点P的坐标减去XYZ坐标系NEU坐标系原点的坐标偏移,得到点P'的坐标 (X', Y', Z'),其 X' = X - X0,Y' = Y - Y0,Z' = Z - Z0。 2. 将点P'的坐标乘以旋矩阵R,得到点P''的坐标 (N'', E'', U''),其 [N'', E'', U''] = [X', Y', Z'] * R。 3. 在NEU坐标系下,点P的坐标为 (N, E, U) = (N'' + dN, E'' + dE, U'' + dU)。 通过以上步骤,我们可以将XYZ坐标系转换NEU坐标系
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值