精密星历介绍与使用

article/2025/10/12 10:47:29

文章目录

    • 精密星历
      • 精密星历下载
      • 精密星历格式
        • 简单解读
    • rtklib 精密星历应用
      • 插值处理
        • Neville插值介绍
    • 使用精密星历解算与广播星历的对比
      • 精密星历解算结果
      • 广播星历解算结果

精密星历

SP3精密星历格式,即The Extended Standard Product 3 Orbit Format.

精密星历下载

点击此处进行精密星历下载
以下图片显示的是下载2005-04-02的精密星历,如此可下载这一天的精密星历。
在这里插入图片描述

精密星历格式

#cP2009  4  1  0  0  0.00000000      96 ORBIT IGS05 BHN ESOC                    
European Space Operations Centre
## 1525 259200.00000000   900.00000000 54922 0.0000000000000                    
+   48   G32G24G25G26G27G30G03G04G06G08G09G10G14G13G28G21G11                    
+        G22G20G18G16G19G23G02G31G17G12G15G29G07R04R06R07R10                    
+        R11R13R14R15R17R19R20R23R18R21R22R03R02R08  0  0  0                    
+          0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0                    
+          0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0                    
++         5  5  6  5  5  6  5  5  5  5  5  5  5  5  5  5  5                    
++         5  5  5  6  5  5  5  5  5  5  5  5  5  7  8  6  6                    
++         6  7  7  7  7  6  6  7  7  7  7  7  6  7  0  0  0                    
++         0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0                    
++         0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0                    
%c M  cc GPS ccc cccc cccc cccc cccc ccccc ccccc ccccc ccccc                    
%c cc cc ccc ccc cccc cccc cccc cccc ccccc ccccc ccccc ccccc                    
%f  0.0000000  0.000000000  0.00000000000  0.000000000000000                    
%f  0.0000000  0.000000000  0.00000000000  0.000000000000000                    
%i    0    0    0    0      0      0      0      0         0                    
%i    0    0    0    0      0      0      0      0         0                    
/* CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                    
/* CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                    
/* CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                    
/* PCV:IGS05_1461 OL/AL:FES2004  NONE     YN ORB:CoN CLK:CoN                    
*  2009  4  1  0  0  0.00000000                                                 
PG32  -8588.723867 -20090.643282  15669.151907    280.381686                    
PG24  22871.271694  12675.543847  -3627.944084    177.697220                    
... (此处省略若干行)                   
PR08   5808.861773  17946.260291 -17172.857334   -102.035201                    
*  2009  4  1  0 15  0.00000000                                                 
PG32  -8297.565626 -21671.755580  13538.952491    280.377529                    
PG24  22933.972419  13075.825862   -790.871026    177.700812 

简单解读

#cP2009  4  1  0  0  0.00000000      96 ORBIT IGS05 BHN ESOC                    
  • #c, 版本

  • P, Pos/Vel 标志位

  • 2009 4 1 0 0 0.00000000, 精密星历开始的年-月-日-时-分-秒

  • 96, 历元数

  • IGS05
    http://acc.igs.org/igs-frames.html

  • ESOC, European Space Operations Centre

## 1525 259200.00000000   900.00000000 54922 0.0000000000000                    
  • 1525, GPS周
  • 259200.00000000, GPS周内秒
  • 900.00000000,历元间隔 此处为900秒,15分钟
  • 54922,儒略日
+   48   G32G24G25G26G27G30G03G04G06G08G09G10G14G13G28G21G11                    
+        G22G20G18G16G19G23G02G31G17G12G15G29G07R04R06R07R10                    
+        R11R13R14R15R17R19R20R23R18R21R22R03R02R08  0  0  0                    
  • 48, 卫星数
  • G32…R08, 卫星编号

更多SP格式说明点击此处

rtklib 精密星历应用

rtklib支持精密星历的使用,从下边的代码可以看到,我们可以通过指定星历使用参数EPHOPT_PREC,这样在进行卫星位置的解算时,使用的就是精密星历了。

extern int satpos(gtime_t time, gtime_t teph, int sat, int ephopt,const nav_t *nav, double *rs, double *dts, double *var,int *svh)
{trace(4,"satpos  : time=%s sat=%2d ephopt=%d\n",time_str(time,3),sat,ephopt);*svh=0;switch (ephopt) {case EPHOPT_BRDC  : return ephpos     (time,teph,sat,nav,-1,rs,dts,var,svh);case EPHOPT_SBAS  : return satpos_sbas(time,teph,sat,nav,   rs,dts,var,svh);case EPHOPT_SSRAPC: return satpos_ssr (time,teph,sat,nav, 0,rs,dts,var,svh);case EPHOPT_SSRCOM: return satpos_ssr (time,teph,sat,nav, 1,rs,dts,var,svh);case EPHOPT_PREC  :if (!peph2pos(time,sat,nav,1,rs,dts,var)) break; else return 1;}*svh=-1;return 0;
}

如果我们直接使用rtklib编译好的可执行文件进行数据处理,那么在option里设置一下精密星历就好了。
在这里插入图片描述

插值处理

精密星历播发的间隔为15分钟,因此实际应用中需要进行插值处理。rtklib中使用的是Neville 插值方法。

/* polynomial interpolation by Neville's algorithm ---------------------------*/
static double interppol(const double *x, double *y, int n)
{int i,j;for (j=1;j<n;j++) {for (i=0;i<n-j;i++) {y[i]=(x[i+j]*y[i]-x[i]*y[i+1])/(x[i+j]-x[i]);}}return y[0];
}

Neville插值介绍

了解内维尔插值的直接跳过

内维尔插值可能不像牛顿和拉格朗日插值那么广为人知,所以这里顺便简单介绍一下。内维尔插值是一种由两个n-1次插值多项式构造一个n次多项式的线性逐次插值方法。什么是线性逐次插值呢?我们以五个点举个例子。
首先,使用所有 p i p_i pi p i + 1 p_{i+1} pi+1,如 p 0 p_0 p0 p 1 p_1 p1进行线性插值,我们得到了四个一阶多项式。然后使用四个得到的一阶多项式进行线性插值可以得到三个二阶多项式,一直这么进行下去,得到一个四阶多项式,这个四阶多项式是通过这五个点的。
在这里插入图片描述
若是还是感觉有点儿抽象,可直接看下边的例子。对三个点(-1,0)(0,1)(1,0)进行2阶内维尔插值,结果如下。
在这里插入图片描述

使用精密星历解算与广播星历的对比

精密星历解算结果

在这里插入图片描述
在这里插入图片描述

广播星历解算结果

在这里插入图片描述

在这里插入图片描述


http://chatgpt.dhexx.cn/article/RIQtkdhc.shtml

相关文章

北斗广播星历和精密星历的下载

下载广播星历的网址&#xff1a;https://cddis.nasa.gov/Data_and_Derived_Products/CDDIS_Archive_Access.html 该网址需要注册账号&#xff0c;登录该网址时最好关闭一些杀毒软件 2. 该网址中的brdc代表测站号 在下面这个地址中可以找到5种类型的广播星历 Earthdata Logi…

多系统精密星历下载与分析

概述 精密星历是由若干卫星跟踪站的观测数据&#xff0c;经事后处理算得的供卫星精密定位等使用的卫星轨道信息。 IGS精密星历采用sp3格式&#xff0c;其存储方式为ASCII文本文件&#xff0c;内容包括表头信息以及文件体&#xff0c;文件体中每隔15 min给出1个卫星的位置&…

2022年GPS广播星历精密星历如何下载

注意&#xff1a;&#xff01;&#xff01;网上现有很多教程的星历下载地址 ftp://cddis.gsfc.nasa.gov/已经访问不了了&#xff0c;最新的方法见下文&#xff0c;亲测有效~ 1、星历下载网址&#xff08;需要注册一下&#xff09;Earthdata Loginhttps://cddis.nasa.gov/archiv…

GPS广播星历和精密星历的下载

1.广播星历 1.1 广播星历下载路径 原路径&#xff1a;ftp://cddis.gsfc.nasa.gov/ 已经无法使用 新的下载路径如下&#xff1a;https://cddis.nasa.gov/archive/gnss/data/daily/2022/brdc/ 路径中的年份是2022年&#xff0c;可以根据需要进行设置不同年份。往下翻&#xff0…

Shader(GLSL)

GLSL语言编写&#xff0c;主要两类Vertex shader&#xff0c;Fragement shader Shader构造&#xff1a; 预处理 变量定义 通过输入参数和函数算法&#xff0c;计算输出结果&#xff08;main函数&#xff09; 预处理&#xff1a; 预处理的运算在编译时执行 只有一个#行的一行…

【Android -- 开源库】图片加载 Glide 的基本使用

一、简介 Glide 是一个快速高效的 Android 图片加载库&#xff0c;注重于平滑的滚动。 二、开始 1. 在 app/build.gradle 文件当中添加如下依赖&#xff1a; dependencies {compile com.github.bumptech.glide:glide:4.8.0; }2. 在 AndroidManifest.xml 添加网络权限&#…

Glide知识简介

首先Glide是Google为我们推荐的一个快速高效的图片加载库&#xff0c;使用简单。 第一步&#xff1a;添加依赖&#xff1a; //glide的依赖 implementation com.github.bumptech.glide:glide:4.9.0 annotationProcessor com.github.bumptech.glide:compiler:4.9.0 简单使用&…

OpenGL API - glDeleteShader

文章目录 名称原型参数描述错误 https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glDeleteShader.xhtml OpenGL API - 笔记汇总 名称 glDeleteShader ---- 删除一个 shader 对象 原型 void glDeleteShader(GLuint shader);参数 shader 指定需要删除的 shader…

Android中的Glide

引入glide <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"androi…

android Glide介绍

目录 1.Glide的基本使用 1. 介绍 2. Glide占位符 2.Glide的进阶使用 1. 过渡动画 2. 变化 transform&#xff08;&#xff09; 3. Generated API 4. GlideExtension与GlideOption 1.Glide的基本使用 1. 介绍 Glide是一个快速高效的Android图片加载库&#xff0c;可以自…

Glide(二)Glide的with,load,into

Glide的with&#xff0c;load&#xff0c;into 在Glide的常规使用中&#xff0c;我们是这样使用的&#xff1a; protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);ImageView imageView fin…

Glide学习

Glide框架学习 介绍with&#xff08;生命周期&#xff09;into缓存LRU缓存三级缓存为什么要有两种内存缓存加载顺序活动缓存为什么使用弱引用 介绍 常规方式&#xff1a;Glide.with(this).load(URL).into(imageView) 虽然with方法重载了很多个&#xff0c;我们可以传入不同的对…

Glide讲解

目录 Glide简介Glide的优点Glide的生命周期Glide如何实现图片缓存的内存缓存实现原理磁盘缓存实现原理引入缓存的目的Glide缓存流程从内存缓存读取总结从磁盘缓存读取总结写入磁盘缓存写入内存缓存汇总 Glide源码总结图解with&#xff08;&#xff09;load&#xff08;&#xf…

Glide详解

现在Android上的图片加载框架非常成熟&#xff0c;从最早的老牌图片加载框架UniversalImageLoader&#xff0c;到后来Google推出的Volley&#xff0c;再到后来的新兴军Glide和Picasso&#xff0c;当然还有Facebook的Fresco。每一个都非常稳定&#xff0c;功能也都十分强大。但是…

Android Glide

1.Glide Glide是Google主导的图片加载开源库。它有很多优势&#xff1a; ①使用简单&#xff0c;链式调用。 ②支持多种图片格式&#xff0c;如Gif、WebP、缩略图、Video等。 ③支持生命周期集成。Glide可以感知调用页面的生命周期&#xff0c;根据Activity或Fragment的生命…

[软件更新]gladder2.0.3.3

介绍 gladder是一个Firefox插件&#xff0c;名字被解释为Great Ladder (Ladder for Great Firewall)&#xff0c;目标是帮助人们跨过Great Firewall访问境外被查封的网站。 安装 https://addons.mozilla.org/en-US/firefox/addon/2864 (点击页面中的Install Now按钮) 功能 * 自…

飞机游戏代码(JAVA)

&#xff2d;yGameFrame类: 主要的调用类 package sc.wh.game;import javax.swing.JFrame; import java.awt.Color; import java.awt.Font; import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import sc.wh.game.*; import java.awt.event.KeyAdapte…

基于java的拼图经典游戏(附代码)

拼图游戏是一款经典的益智游戏&#xff0c;游戏开始前图片被随机打乱&#xff0c;空块位于最右下角&#xff0c;玩家通过点击空块周围图片或者按键方式对图片和空块进行相互交换&#xff0c;直到所有图片都回到原位即为游戏胜利。 本次制作的拼图游戏运行界面如下&#xff1a;…

java推箱子游戏源代码_java实现推箱子小游戏(附源码)

先上效果图 可以通过AWSD进行移动和推箱子 自己弄出来的代码玩起来还是很有意思的。 代码一共是三个.java文件,代码内容如下所示 package ss; import java.awt.Graphics; import java.awt.Image; import java.awt.Point; import java.awt.event.KeyEvent; import java.awt.eve…

免费Java游戏源代码素材推荐

家人们&#xff0c;最近我找到了一个很好用的Java游戏源代码免费素材网站 资源贼多&#xff0c;重点是免费&#xff01;&#xff01;&#xff01;白嫖一时爽&#xff0c;一直白嫖一直爽&#xff0c;嘿嘿嘿&#xff01;&#xff01;&#xff01;感兴趣的可以进去看看 接下来就…