测站坐标系统 -- 东北天(ENU)坐标系、站心坐标系

目录

一、测站坐标系的定义

二、测站坐标系与地心地固坐标系的转换

2.1地心地固坐标系转到测站坐标系

2.2测站坐标系转到地心地固坐标系

三、方位角和高度角的计算


一、测站坐标系的定义

  • 测站坐标系统以观测站( 或地面上某一个观测点 ) 为中心建立坐标系统,将这类坐标系称为测
    站坐标系统。
  • 测站坐标系通常 以用户所在的位置点 P 为坐标原点三个坐标轴分别是相互垂直的 东向北向天向,因而测站坐标系又称为 东北天(ENU)坐标系。 由于测站坐标系以站心为坐标原点,因此也称为站心坐标系。
  • 如图所示, 测站坐标系的天向与大地坐标系(LLA经纬度坐标系)在此点的高程方向一致。测站坐标系固定在地球上, 本质上是一种 地固坐标系
    • (1) 以站心为坐标原点。
    • (2) Z 轴与站心点的椭球法线重合,向上为正(或称为天顶方向)
    • (3) X 轴为站心点的正东向。
    • (4) Y 轴为站心点的正北向。

二、测站坐标系与地心地固坐标系的转换

  • 由测站坐标系的定义可知,测站坐标系与地心地固坐标系的坐标原点不重合,坐标轴指向也不一致。因此,地心地固坐标系与测站坐标系之间的转换涉及两种变换:坐标原点平移坐标轴旋转

2.1地心地固坐标系转到测站坐标系

已知测站 F 地心地固坐标系中的坐标为(xf yf ,zf) ,某一待转换点 S 地心地固坐标系中的坐标为(x,y, z) ,将待转换点S 由地心地固坐标系转换到测站 F 的测站坐标系具体步骤如下:

  •  (1) 坐标原点平移(两个的enu(测站F和待转换点S)其实是一样的)将坐标原点由地心平移到站心,得到平移后的坐标(x' , y' , z')。通过
  • (2) 计算测站的大地坐标。将测站的地心直角坐标(x f yf ,zf) 转换为大地坐标(B,L,H)
  • (3)计算坐标旋转矩阵。由测站的经度、纬度计算得到坐标旋转矩阵为
  • (4) 坐标轴旋转。利用旋转矩阵,将平移后的坐标( x , y' , z ) 转到测站坐标系得到测站
    坐标系下的位置坐标(e,n,u)
    • ​​​​​​​
  • 综上所述,可以将上述过程合成一个公式,即
  • ​​​​​​​
​​​​​​​​​​​​​​​​​​​​​

2.2测站坐标系转到地心地固坐标系

  • 已知测站 F 地心地固坐标系中的坐标为(xf yf ,zf) ,某一待转换点 S 测站坐标系中的坐标为(e,n ,u ),则将 S 由测站坐标系转换到地心地固坐标系的具体步骤如下:
    • (1)计算测站的大地坐标。将测站的地心直角坐标(xf yf ,zf) 转换为大地坐标(B,L ,H)。前面有讲,这里不再赘述
    • (2) 计算坐标旋转矩阵。由于从测站坐标系转换到地心地固坐标系是从地心地固坐标系转换到测站坐标系的逆过程
      • ​​​​​​​
      • 由于旋转矩阵是正交对称矩阵,其逆矩阵等于矩阵的转置,因此,有​​​​​​​​​​​​​​​​​​​​​
      • ​​​​​​​​​​​​​​
    • (3) 坐标轴旋转。利用旋转矩阵,将测站坐标 ( e,n,u) 旋转到坐标轴与地心地固坐标系一致的坐标( x , y' , z)
      • ​​​​​​​
    • (4) 坐标原点平移将坐标 ( x, ,y' ,z ) 的原点平移至地心,得到转换点 S 在地心地固坐标系中的坐标(x , y ,z)
      • ​​​​​​​
    • 同样地,也可以将上述过程合成一个公式,即:
      • ​​​​​​​ ​​​​​​​​​​​​​​​​​​​​​​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​

三、方位角和高度角的计算

  • 测站坐标系的一个重要应用在于计算卫星在用户(观测者)处的观测矢量,进而得到卫星相对于用户的方位角高度角(也称为仰角)
  • 高度角可用于判断卫星是否对用户可见:高度角小于 ,说明卫星位于地平线以下,不可见;反之,高度角大于 时,卫星可见。高度角等于 90°时,表示卫星位于用户的天顶正上方。
  • 假设卫星在测站坐标系中的坐标为(e,n,u ) ,则卫星高度角的计算公式为
    • ​​​​​​​
  • 卫星方位角定位为由北向顺时针转到观测矢量在水平面内的投影方向上的角度,其 计算公式为:
​​​​​​​

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/233086.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SQL基础:记录的基本操作

在上一节中,我们进行了表的新建,这一节我们讲一下记录的增加、修改、删除、查询。 增加 增加即使用insert语句, INSERT INTO users (user_id, username, password, email) VALUES (2, jane_smith, pass456, janeexample.com);查看插入的数…

代码随想录第三十六天(一刷C语言)|背包问题理论基础分割等和子集

创作目的:为了方便自己后续复习重点,以及养成写博客的习惯。 一、背包问题 题目:有n件物品和一个最多能背重量为w 的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品只能用一次,求解将哪些物品装…

Docker的安装及使用

目录 安装Docker 安装yum工具 更新本地镜像源 安装docker 启动docker 关闭防火墙 docker启动命令 配置镜像加速 docker的使用 拉取nginx 查看本地镜像 把镜像文件nginx导出成tar文件 查看是否导出成功 ​编辑 删除本地镜像nginx:latest 导入镜像文件nginx 拉取…

Java项目-瑞吉外卖项目优化Day1

创建新仓库 push项目 新建分支v1.0做优化 导入Redis相关配置 导入坐标。 实现配置类,重写序列化器,也可以直接用StringRedisTemplate。 application.xml配置: 实现缓存短信验证码 将手机号与验证码存进redis。 从redis中获取验证码&…

微信小程序长按图片识别二维码

设置show-menu-by-longpress"true"即可&#xff0c;长按图片后会弹出一个菜单&#xff0c;若图片中包含二维码或小程序码&#xff0c;菜单中会有响应入口 <image src"图片地址" show-menu-by-longpress"true"></image>官方说明

大语言模型(LLM)与 Jupyter 连接起来了!

现在&#xff0c;大语言模型&#xff08;LLM&#xff09;与 Jupyter 连接起来了&#xff01; 这主要归功于一个名叫 Jupyter AI 的项目&#xff0c;它是官方支持的 Project Jupyter 子项目。目前该项目已经完全开源&#xff0c;其连接的模型主要来自 AI21、Anthropic、AWS、Co…

专栏十六:bulk以及单细胞空转中的progeny通路分析

progeny本身有自己的R包,可以提取通路基因集信息,团队把他嵌入另一个R包decoupleR中完成富集分析。decoupleR自己有详细的针对bulk和scRNAseq的教程 简单安装一下 devtools::install_github(saezlab/OmnipathR) devtools::install_github("saezlab/progeny") Bio…

6 最大积水量

蛮力求解 #include <iostream> using namespace::std; using std::cout; using std::cin; int zdjsl(int n, int height[]) {int sum 0;int left_max[n];int right_max[n];left_max[0] height[0];right_max[n-1] height[n-1];for(int i1; i<n; i){left_max[i] m…

arcmap + oracle11g 迁移数据 报错 copyFeatures失败

原因排查&#xff1a; 1.通过这个界面&#xff0c;我们无法查到真正的原因&#xff0c; 2.将数据拷贝到我们自己的arcmap服务器中&#xff0c;采用 单个要素 导入&#xff0c;从result面板中查找原因&#xff1b; 从上面这个图中&#xff0c;看到关键信息 DBMS error ORA-016…

C++ STL——栈和队列(stack queue)

本节目标 1.stack的介绍和使用及其模拟实现 2.queue的介绍和使用及其模拟实现 3.priority_queue的介绍和使用及其模拟实现 4.容器适配器 1.stack的介绍和使用及其模拟实现 1.1 stack的介绍 stack的文档介绍 根据stack的文档介绍可以知道&#xff0c;stack是一种容器适配器…

关于“Python”的核心知识点整理大全29

目录 11.2.4 方法 setUp() 注意 11.3 小结 第二部分 项目1 外星人入侵 第&#xff11;2 章 武装飞船 注意 12.1 规划项目 12.2 安装 Pygame 注意 12.2.1 使用 pip 安装 Python 包 注意 如果你启动终端会话时使用的是命令python3&#xff0c;那么在这里应使用命令…

【python VS vba】(10) 在python使用matplotlib库来画不同的图形

7 下面是不同类型的图形 6 比如 散点图 sactter import numpy as np import matplotlib.pyplot as plt# 散点图 # x, y x np.random.normal(0, 1, 20) y np.random.normal(0, 1, 20)# 绘制散点图 plt.scatter(x, y, s25, alpha0.75)plt.xlabel("X") plt.ylabel(&…

Linux多版本cuda切换

目标 将cuda版本从10.0切换为11.1 步骤 查看当前cuda版本&#xff1a; nvcc -V编辑.bashrc文件&#xff1a; vim ~/.bashrc在文件中添加以下几行&#xff08;若已存在则忽略&#xff09;&#xff1a; export PATH$PATH:/usr/local/cuda/bin export LD_LIBRARY_PATH$LD_LI…

全网好听的BGM都在这里下载,赶紧收藏好了

无论是自媒体创作者还是从事视频剪辑工作的朋友&#xff0c;对于BGM的选择都很重要&#xff0c;一首适配的BGM能大大提升你作品的质量&#xff0c;还能让作品更优秀。哪里才能找到好听又免费的BGM&#xff1f;下面推荐几个我多年收藏的6个音效、音频素材网站&#xff0c;赶紧收…

python 1200例——【1】九九乘法表

在Python中&#xff0c;你可以使用两个嵌套的for循环来打印九九乘法表。以下是一个简单的例子&#xff1a; for i in range(1, 10):for j in range(1, i1):print(f"{j}x{i}{j*i}", end"\t")print()这段代码的工作原理如下&#xff1a; 外层循环 for i in…

【leetcode203】移除链表元素【Java代码讲解】

12.18 移除链表元素 给你一个链表的头节点 head 和一个整数 val &#xff0c;请你删除链表中所有满足 Node.val val 的节点&#xff0c;并返回 新的头节点 。 示例 1&#xff1a; 输入&#xff1a;head [1,2,6,3,4,5,6], val 6 输出&#xff1a;[1,2,3,4,5]示例 2&#xff…

定制 Electron 窗口标题栏

Electron 是一款流行的桌面应用开发框架&#xff0c;基于 Web 技术构建&#xff0c;提供了强大的跨平台能力。在开发过程中&#xff0c;经常需要定制窗口标题栏以创造独特的用户体验。 1. 完全隐藏默认标题栏 有时候&#xff0c;我们希望创建一个自定义的标题栏&#xff0c;完…

JVM调优排错专题

JVM调优排错专题 1 打开MAT报错 1 打开MAT报错 下载了linux版本的 MAT 软件&#xff0c;1.15.0版本。 下载地址&#xff1a;https://eclipse.dev/mat/downloads.php 运行时报错了。 错误截图 报错日志 wittasus:/usr/develop/mat$ ./MemoryAnalyzer Unrecognized option:…

基于Java SSM框架实现宠物医院信息管理系统项目【项目源码】

基于java的SSM框架实现宠物医院信息管理系统演示 java简介 Java语言是在二十世纪末由Sun公司发布的&#xff0c;而且公开源代码&#xff0c;这一优点吸引了许多世界各地优秀的编程爱好者&#xff0c;也使得他们开发出当时一款又一款经典好玩的小游戏。Java语言是纯面向对象语言…

Kafka 安装与部署

目录 Kafka 下载 &#xff08;1&#xff09;将 kafka_2.11-2.4.1.tgz 上传至 /opt/software/ &#xff08;2&#xff09;解压安装包至 /opt/module/ [huweihadoop101 ~]$ cd /opt/software/ [huweihadoop101 software]$ tar -zxvf kafka_2.11-2.4.1.tgz -C ../module/&#…