JavaScript 实现大地坐标系转换为空间直角坐标系(BLH→XYZ)
一、前言
参考文章:使用Matlab对大地测量学中的大地坐标和大地空间直角坐标进行相互转换
相关文章:JavaScript 实现空间直角坐标系转换为大地坐标系(XYZ→BLH)
在相同的坐标基准下,将大地坐标系转换为大地空间直角坐标系的公式为:
上式中:N为卯酉圈曲率半径;a为地球椭球的长半轴;b为地球椭球的短半轴
二、实现代码
// 原始数据:B,L,H (角度制)
var mainData = [[23.10000000,113.1666667,10],[23.11666667,113.1833333,10],[23.13333333,113.2000000,10],[23.15000000,113.2166667,10],[23.16666667,113.2333333,10]
]
// 定义坐标系椭球参数对象
let wgs84 = {a: 6378137, //长半径,单位mb: 6356752.3142451795, //短半径f: 1/298.257223563, //扁率
}
var square = num => num*num //快速计算平方
let d2r = Math.PI / 180; //弧度 = 角度 * Math.PI / 180/*
* RE:Reference Ellipsoid(参考椭球体)
* data: 一个存放数据的对象
*/
function BLHtoXYZ (RE,data){let B = data.B;let L = data.L;let H = data.H;let e2 = (square(RE.a)-square(RE.b))/(square(RE.a));let N = RE.a/Math.sqrt(1-e2*square(Math.sin(B*d2r)));let X = (N+H)*Math.cos(B*d2r)*Math.cos(L*d2r);let Y = (N+H)*Math.cos(B*d2r)*Math.sin(L*d2r);let Z = (N*(1-e2)+H)*Math.sin(B*d2r);let result = {X:X,Y:Y,Z:Z}; //将结果保存到result对象中return result;
}
// 读取、处理数据
var outputResult =[];
for (var i=0;i<mainData.length;i++){let BLH = {B: mainData[i][0],L: mainData[i][1],H: mainData[i][2],};let XYZ = BLHtoXYZ(wgs84,BLH);let opXYZ = [XYZ.X,XYZ.Y,XYZ.Z];outputResult.push(opXYZ);
}
// 将结果输出到控制台
for (let i=0;i<outputResult.length;i++){console.log(outputResult[i])
}
得到数据:
三、最后
在计算之后,我将第一条数据在matlab上也算了一次,没有太大的出入。
JavaScript 实现大地坐标系转换为空间直角坐标系(BLH→XYZ)相关推荐
- 2000与WGS84大地坐标系转换为空间直角坐标系
图1中,P点为测量点,P0为其在地球椭球上的投影点.由图1测量点P点大地坐标P(B,L,Hn) 与空间直角坐标P(X,Y,Z)的几何关系,通过简单矢量运算和三角函数运算即可得出大地坐标(B,L,H)转 ...
- 大地坐标系与空间直角坐标系的相互转换
转载http://blog.sina.com.cn/s/blog_7cdaf8b60102wksh.html 1. 大地坐标系转换为空间直角坐标系(BLH→XYZ) 在相同的基准下,将大地坐标系转换为 ...
- c语言大地坐标系和空间直角坐标系的转换,空间直角坐标系与大地坐标系转换程序.doc...
空间直角坐标系与大地坐标系转换程序.doc 空间直角坐标系与大地坐标系转换程序includeiostream includecmathincludeiomanip using namespace st ...
- 空间直角坐标系(XYZ)转经纬度(BLH)
本章首先介绍空间直角坐标系与大地坐标系,然后列出XYZ转换BLH的公式,最后基于C语言完成该部分代码设计. 参考书籍: 董大男,陈俊平,王解先等,GNSS高精度定位原理,科学出版社 黄丁发,熊永良,周 ...
- c语言直角坐标系与大地坐标系转换,空间直角坐标系与大地坐标系转换程序
<空间直角坐标系与大地坐标系转换程序>由会员分享,可在线阅读,更多相关<空间直角坐标系与大地坐标系转换程序(5页珍藏版)>请在人人文库网上搜索. 1.空间直角坐标系与大地坐标系 ...
- JavaScript 实现空间直角坐标系转换为大地坐标系(XYZ→BLH)
一.前言 参考文章:使用Matlab对大地测量学中的大地坐标和大地空间直角坐标进行相互转换 相关文章:JavaScript 实现大地坐标系转换为空间直角坐标系(BLH→XYZ) 在相同的坐标基准下,将 ...
- c语言大地坐标转换空间坐标,空间直角坐标系与大地坐标系转换程序
<空间直角坐标系与大地坐标系转换程序>由会员分享,可在线阅读,更多相关<空间直角坐标系与大地坐标系转换程序(4页珍藏版)>请在人人文库网上搜索. 1.空间直角坐标系与大地坐标系 ...
- mysql 大地坐标系_js坐标转换WGS84(大地坐标系BLH)转空间直角坐标系XYZ
// 坐标转换 WGS84经纬度 => 大地坐标系BLH XYZ var pi_180 = Math.PI / 180; var _180_pi = 180 / Math.PI; var pro ...
- 大地坐标系(WGS84)转空间直角坐标系(笛卡尔坐标系XYZ)
大地坐标系(WGS84)转空间直角坐标系(笛卡尔坐标系XYZ) 以Unity为例 float[] get_coordinate( float lat, float lon,float H1) {//H ...
最新文章
- 软件测试自动化的成功经验
- IFormattable,ICustomFormatter, IFormatProvider接口
- liunx之Centos6.8杀毒软件的安装
- HDU-6180 Schedule
- python如何获取请求的url_听说你在学习:如何通过代码请求URL地址
- vscode eslint 格式化完之后,一个标签多行,看的头疼
- yii2.0 读取user表新增字段问题
- Java之时间格式转换
- roundcube邮箱手机端_用户换了手机号码后,产品该如何应对?
- SRAM and DRAM
- 【论文精读】Single-Perspective Warps in Natural Image Stitching-自然图像拼接中的单透视扭曲
- 使用Office2013打开文档时,弹出“正在与服务器联系以获取信息”对话框问题
- 小游戏——满天小星星
- 小程序基础知识整理(组件篇)
- 读书笔记-在工作中保持充沛的体力
- 量子计算到底是个什么鬼?
- 【FATE联邦学习】FATE联邦学习使用GPU、指定cuda下标
- 解决WORD “未找到引用源”问题
- 生产BOM、销售BOM、标准BOM的区别
- 目标跟踪实战deepsort+yolov5(上)
热门文章
- office 2010 excle不能打开多个窗口
- 马的遍历问题—贪心跑图
- Semaphore学习
- 期货ctp基础知识(合约,开仓,平仓,做多,做空,保证金,手续费)
- 用python获取某年某月/(当前)的天数
- 产品经理之产品类题目
- [转]2016年度通信类 SCI期刊影响因子公布
- STANet: 基于时空自注意力的遥感图像变化检测模型,提出一个新的大型变化检测数据集LEVIR-CD
- unity与php的交互-图片上传下载
- 中国定向公开赛海南昌江站开赛 600余名选手穿越雨林