rpb/rpc文件说明与matlab读取

什么是rpb/rpc文件?

        rpb文件是用来存储用于遥感数据几何校正的RPC(Rational Polynomial Coefficients )模型的文件。类似的还有RPC文件,rpb与rpc文件只是格式不同,但包含的信息一致。其用于从图像坐标转换到地理坐标,L1级别的遥感数据是没有经过地理编码及几何校正的,因此可以通过数据包内的RPC文件进行数据几何校正(地理编码)。

        RPC参数是有理函多项式函数模型的参数,可以将遥感影像的图像坐标(Line,Sample)即(行号,列号)与其对应的大地坐标(Lat,Long, Height)即(纬度,经度,高程)用比值多项式一一对应起来。RPC的概念得到了很大的关注是因为RPC不仅可以将传感器成像的物理模型隐藏起来,同时可以通过RPC模型校正出几何精度更高的卫星数据。不同数据厂商使用不同的方法生成RPC文件,但目前大多数都采取的非线性最小二乘法(Non linear Least square)。在成像期间,要拟合的数据由物理传感器模型生成。        

        更详细的了解参考:

        卫星RPC有理多项式模型原理与正反算实现(python)-CSDN博客
        看懂卫星遥感数据RPC文件-CSDN博客

rpb/rpc文件格式

        rpb/rpc文件通常以文本文件或xml文件格式存储,对于国产高分数据多采用文本文件格式。

        rpb文件***.rpb格式示例:

satId = "XXX";
bandId = "XXX";
SpecId = "XXX";
BEGIN_GROUP = IMAGEerrBias =   1.0;errRand =    0.0;lineOffset = 	+8.787000000000000e+03sampOffset = 	+8.787000000000000e+03latOffset = 	+5.197788782488139e+01longOffset = 	+1.267276217581132e+02heightOffset = 	-3.665824527965528e+01lineScale = 	+8.787500000000000e+03sampScale = 	+8.787500000000000e+03latScale = 	+1.000000000000000e+01longScale = 	+1.000000000000000e+01heightScale = 	+5.036755360952578e+03lineNumCoef = (-2.489085287819830e-04,-1.114244712474867e+01,-6.168967195179680e+01,+7.117708104229436e-05,-1.395349820950307e-01,+8.696093392117951e-03,-9.575461257281814e-04,+7.734382012664702e-01,+2.574838134723002e-02,+5.070051498763076e-06,-5.809725628331042e-03,+5.140801824748853e-03,+4.289598645908305e-03,+2.294752920112858e-03,-9.015843957850683e-04,+1.035394535926532e-02,+1.232218463012144e-02,+3.230339260864579e-02,+1.047590959343009e-03,+2.012768440253724e-08);lineDenCoef = (+1.000000000000000e+00,+4.180010565216353e-04,+1.324655197657377e-02,-3.795304837771012e-05,+2.545365596961364e-01,-3.899350380745237e-04,+5.589868166444578e-05,+1.188681625956534e-03,+6.863241299655094e-01,-2.002690706130058e-04,-2.072288733039329e-04,+6.133069607160820e-03,-1.449422536681941e-03,-2.011485529779256e-06,+3.500482182174969e-03,+4.198143375537498e-04,-2.285845110305829e-06,-2.172369339810132e-04,-4.144345265331140e-04,-1.836223330071302e-09);sampNumCoef = (+3.116290493890969e-03,+3.762565560709448e+01,-1.780287250778219e+01,+4.667388215545534e-02,-1.418392610803636e+00,-4.579691619531623e-02,+3.030408501996984e-02,-5.911326661297898e-01,-2.781904253558995e+00,-9.782108549302553e-05,+1.239834648584903e-03,+1.999566996539736e-01,+6.939464036194087e-02,-4.737705433260331e-02,-2.858026398839704e-01,-9.898030356627813e-03,+2.240107912228240e-02,+2.526433759914681e-03,+4.945279318567586e-03,-5.870434133733310e-05);sampDenCoef = (+1.000000000000000e+00,+3.227373471194835e-01,+3.944306307994457e-02,-9.509654358749953e-03,+1.207778166635094e+01,-3.232572945854702e-02,+1.355313365456889e-02,-1.277420643579939e+01,-2.837944635154219e+00,-1.255397137925662e-03,+8.474582054034840e-02,+8.587278629665410e-03,+1.984850060313677e-02,-6.307604213724449e-04,+2.407506405453826e-02,-1.315252027876808e-02,+2.805758450086238e-05,-9.639541191512180e-02,-1.882857688509176e-02,+1.022672251679239e-05);
END_GROUP = IMAGE
END;

        rpc文件***.rpc格式示例:

LINE_OFF :+8.787000000000000e+03  pixels
SAMP_OFF : +8.787000000000000e+03  pixels
LAT_OFF : +5.197788782488139e+01   degrees
LONG_OFF:  +1.267276217581132e+02   degrees
HEIGHT_OFF: -3.665824527965528e+01   meters
LINE_SCALE: +8.787500000000000e+03  pixels
SAMP_SCALE:  +8.787500000000000e+03  pixels
LAT_SCALE: +1.000000000000000e+01   degrees
LONG_SCALE: +1.000000000000000e+01   degrees
HEIGHT_SCALE :+5.036755360952578e+03   meters
LINE_NUM_COEFF_1:-2.489085287819830e-04
LINE_NUM_COEFF_2:-1.114244712474867e+01
LINE_NUM_COEFF_3:-6.168967195179680e+01
LINE_NUM_COEFF_4:+7.117708104229436e-05
LINE_NUM_COEFF_5:-1.395349820950307e-01
LINE_NUM_COEFF_6:+8.696093392117951e-03
LINE_NUM_COEFF_7:-9.575461257281814e-04
LINE_NUM_COEFF_8:+7.734382012664702e-01
LINE_NUM_COEFF_9:+2.574838134723002e-02
LINE_NUM_COEFF_10:+5.070051498763076e-06
LINE_NUM_COEFF_11:-5.809725628331042e-03
LINE_NUM_COEFF_12:+5.140801824748853e-03
LINE_NUM_COEFF_13:+4.289598645908305e-03
LINE_NUM_COEFF_14:+2.294752920112858e-03
LINE_NUM_COEFF_15:-9.015843957850683e-04
LINE_NUM_COEFF_16:+1.035394535926532e-02
LINE_NUM_COEFF_17:+1.232218463012144e-02
LINE_NUM_COEFF_18:+3.230339260864579e-02
LINE_NUM_COEFF_19:+1.047590959343009e-03
LINE_NUM_COEFF_20:+2.012768440253724e-08
LINE_DEN_COEFF_1:+1.000000000000000e+00
LINE_DEN_COEFF_2:+4.180010565216353e-04
LINE_DEN_COEFF_3:+1.324655197657377e-02
LINE_DEN_COEFF_4:-3.795304837771012e-05
LINE_DEN_COEFF_5:+2.545365596961364e-01
LINE_DEN_COEFF_6:-3.899350380745237e-04
LINE_DEN_COEFF_7:+5.589868166444578e-05
LINE_DEN_COEFF_8:+1.188681625956534e-03
LINE_DEN_COEFF_9:+6.863241299655094e-01
LINE_DEN_COEFF_10:-2.002690706130058e-04
LINE_DEN_COEFF_11:-2.072288733039329e-04
LINE_DEN_COEFF_12:+6.133069607160820e-03
LINE_DEN_COEFF_13:-1.449422536681941e-03
LINE_DEN_COEFF_14:-2.011485529779256e-06
LINE_DEN_COEFF_15:+3.500482182174969e-03
LINE_DEN_COEFF_16:+4.198143375537498e-04
LINE_DEN_COEFF_17:-2.285845110305829e-06
LINE_DEN_COEFF_18:-2.172369339810132e-04
LINE_DEN_COEFF_19:-4.144345265331140e-04
LINE_DEN_COEFF_20:-1.836223330071302e-09
SAMP_NUM_COEFF_1:+3.116290493890969e-03
SAMP_NUM_COEFF_2:+3.762565560709448e+01
SAMP_NUM_COEFF_3:-1.780287250778219e+01
SAMP_NUM_COEFF_4:+4.667388215545534e-02
SAMP_NUM_COEFF_5:-1.418392610803636e+00
SAMP_NUM_COEFF_6:-4.579691619531623e-02
SAMP_NUM_COEFF_7:+3.030408501996984e-02
SAMP_NUM_COEFF_8:-5.911326661297898e-01
SAMP_NUM_COEFF_9:-2.781904253558995e+00
SAMP_NUM_COEFF_10:-9.782108549302553e-05
SAMP_NUM_COEFF_11:+1.239834648584903e-03
SAMP_NUM_COEFF_12:+1.999566996539736e-01
SAMP_NUM_COEFF_13:+6.939464036194087e-02
SAMP_NUM_COEFF_14:-4.737705433260331e-02
SAMP_NUM_COEFF_15:-2.858026398839704e-01
SAMP_NUM_COEFF_16:-9.898030356627813e-03
SAMP_NUM_COEFF_17:+2.240107912228240e-02
SAMP_NUM_COEFF_18:+2.526433759914681e-03
SAMP_NUM_COEFF_19:+4.945279318567586e-03
SAMP_NUM_COEFF_20:-5.870434133733310e-05
SAMP_DEN_COEFF_1:+1.000000000000000e+00
SAMP_DEN_COEFF_2:+3.227373471194835e-01
SAMP_DEN_COEFF_3:+3.944306307994457e-02
SAMP_DEN_COEFF_4:-9.509654358749953e-03
SAMP_DEN_COEFF_5:+1.207778166635094e+01
SAMP_DEN_COEFF_6:-3.232572945854702e-02
SAMP_DEN_COEFF_7:+1.355313365456889e-02
SAMP_DEN_COEFF_8:-1.277420643579939e+01
SAMP_DEN_COEFF_9:-2.837944635154219e+00
SAMP_DEN_COEFF_10:-1.255397137925662e-03
SAMP_DEN_COEFF_11:+8.474582054034840e-02
SAMP_DEN_COEFF_12:+8.587278629665410e-03
SAMP_DEN_COEFF_13:+1.984850060313677e-02
SAMP_DEN_COEFF_14:-6.307604213724449e-04
SAMP_DEN_COEFF_15:+2.407506405453826e-02
SAMP_DEN_COEFF_16:-1.315252027876808e-02
SAMP_DEN_COEFF_17:+2.805758450086238e-05
SAMP_DEN_COEFF_18:-9.639541191512180e-02
SAMP_DEN_COEFF_19:-1.882857688509176e-02
SAMP_DEN_COEFF_20:+1.022672251679239e-05

rpb文件读取(matlab)

        定义读取函数 rpb_reader.m:

function RPC=rpb_reader(f_in_name)%author  dou3516% 2024-1-13% 参考:https://blog.csdn.net/weixin_43955546/article/details/123702554% 读取遥感RPB文件,输入经纬度,获取经纬度值对象的像素坐标。%f_in_name: 输入RPB文件名称% 1 读取RPB文件内容fid1=fopen(f_in_name,'r');read_one_line = fgetl(fid1);read_one_line = fgetl(fid1);read_one_line = fgetl(fid1);read_one_line = fgetl(fid1);read_one_line = fgetl(fid1);temp=strsplit(read_one_line,{';','=',')',});errBias=str2double(temp(2));read_one_line = fgetl(fid1);temp=strsplit(read_one_line,{';','=',')',});errRand=str2double(temp(2));read_one_line = fgetl(fid1);temp=strsplit(read_one_line,{';','=',')',});RPC.line_off =str2double(temp(2));read_one_line = fgetl(fid1);temp=strsplit(read_one_line,{';','=',')',});RPC.samp_off=str2double(temp(2));read_one_line = fgetl(fid1);temp=strsplit(read_one_line,{';','=',')',});RPC.lat_off =str2double(temp(2));read_one_line = fgetl(fid1);temp=strsplit(read_one_line,{';','=',')',','});RPC.lon_off=str2double(temp(2));read_one_line = fgetl(fid1);temp=strsplit(read_one_line,{';','=',')',','});RPC.height_off=str2double(temp(2));read_one_line = fgetl(fid1);temp=strsplit(read_one_line,{';','=',')',','});RPC.line_scale=str2double(temp(2));read_one_line = fgetl(fid1);temp=strsplit(read_one_line,{';','=',')',','});RPC.samp_scale=str2double(temp(2));read_one_line = fgetl(fid1);temp=strsplit(read_one_line,{';','=',')',','});RPC.lat_scale =str2double(temp(2));read_one_line = fgetl(fid1);temp=strsplit(read_one_line,{';','=',')',','});RPC.lon_scale =str2double(temp(2));read_one_line = fgetl(fid1);temp=strsplit(read_one_line,{';','=',')',','});RPC.height_scale =str2double(temp(2));read_one_line = fgetl(fid1); for i=1:20read_one_line = fgetl(fid1);temp=strsplit(read_one_line,{';','=',')',','});RPC.line_num_coeff(i)=str2double(temp(1));endread_one_line = fgetl(fid1); for i=1:20read_one_line = fgetl(fid1);temp=strsplit(read_one_line,{';','=',')',','});RPC.line_den_coeff(i)=str2double(temp(1));endread_one_line = fgetl(fid1); for i=1:20read_one_line = fgetl(fid1);temp=strsplit(read_one_line,{';','=',')',','});RPC.samp_num_coeff(i)=str2double(temp(1));endread_one_line = fgetl(fid1); for i=1:20read_one_line = fgetl(fid1);temp=strsplit(read_one_line,{';','=',')',','});RPC.samp_den_coeff(i)=str2double(temp(1));endfclose(fid1);

        示例读取代码:

fRPB = '***.rpb';
RPC = rpb_reader(fRPB);

        读取到的RPC信息示例(注意不同于上述rpb文件的实际信息,仅做示例)如下:

参考:

遥感 RPC, RPB文件相关信息-CSDN博客

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

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

相关文章

acwing4986.互质数的个数

题目不难 有个好的细节想着分享一下 一开始写的有点问题&#xff5e;需要特判掉一个... #include<bits/stdc.h> using namespace std; using ll long long; const int N 1e510;const ll mod 998244353;ll qmi(ll a,ll b){ll ans 1;while(b){if(b&1)ans ans*a%…

浅谈6种流行的API架构风格

前言 API在现代软件开发中扮演着重要的角色&#xff0c;它们是不同应用程序之间的桥梁。编写业务API是日常开发工作中最常见的一部分&#xff0c;选择合适的API框架对项目的成功起到了至关重要的作用。本篇文章将浅谈一下当前6种流行的API架构风格的优点、缺点以及适用场景。 …

反向传播(Back Propagation)

目录 回归简单模型的梯度计算 反向传播计算图链式求导链式法则定理&#xff1a; Forward 前馈计算反向传播Back Propagation例子线性模型的计算图计算前馈过程反向传播过程&#xff08;逆向求导&#xff09; 练习 Pytorch中的前馈过程和反向传播过程Tensor代码小结 回归 简单模…

中药房数字化-亿发中药饮片信息化建设方案,中药材饮片智能追溯

中药&#xff08;包括中成药、颗粒剂、中药饮片等&#xff09;是中医临床的重要工具和武器&#xff0c;中药材是其中的核心要素。在这一体系中&#xff0c;“药材好&#xff0c;药才好”是关键&#xff0c;因为只有中药材的品质稳定和高效&#xff0c;才能最大限度地确保中医治…

Android音视频: 引入FFmpeg

本文你可以了解到 本文将介绍如何将上一篇文章编译出来的 FFmpeg so 库&#xff0c;引入到 Android 工程中&#xff0c;并验证 so 是否可以正常使用。 一、开启 Android 原生 C/C 支持 在过去&#xff0c;通常使用 makefile 的方式在项目中引入 C/C 代码支持&#xff0c;随…

Minitab的单因子方差分析的结果

单因子方差分析概述 当有一个类别因子和一个连续响应并且想要确定两个或多个组的总体均值是否存在差异时&#xff0c;可使用 单因子方差分析。如果经检验&#xff0c;发现至少有一组存在差异&#xff0c;请使用单因子方差分析中的比较对话框来标识存在显著差异的组对。 例如&…

前端布局——垂直、水平居中

行内元素 方法一&#xff1a;给行内元素设置行高 <div class"box"><span>行内元素</span> </div> <style type"text/css">.box{width: 100%;height: 200px;background-color: orange;line-height: 200px;text-align: cent…

代码随想录算法训练营第三天| LeetCode203.移除链表元素、707.设计链表、206.反转链表

文章目录 一、203. 移除链表元素感受代码二、707.设计链表感受代码206.反转链表感受总结一、203. 移除链表元素 感受 我对这道题。从理论上来说太熟悉了。咸鱼讲数据结构常用的方法他都会讲。但是我没上机没写过。到后面上机还是写不出来。giao。 代码 第一次写,想说一下,…

LeetCode刷题:141. 环形链表

题目&#xff1a; 是否独立解答出&#xff1a;否&#xff0c;有思路&#xff0c;但是代码报错&#xff0c;参考解题代码后&#xff0c;修改通过 解题思路&#xff1a;利用循环与哈希表存储每一个节点&#xff0c;如果发现添加不进去说明&#xff0c;存在环&#xff0c;正常来说…

x3daudio1_7.dll如何恢复,这6个方法都能修复x3daudio1_7.dll丢失问题

x3daudio1_7.dll文件缺失”。那么&#xff0c;什么是x3daudio17.dll文件&#xff1f;它的作用和影响又是什么呢&#xff1f;本文将详细介绍x3daudio17.dll文件的定义、作用和影响&#xff0c;并提供6个修复方法来解决这个问题。 一、x3daudio1_7.dll是什么&#xff1f; x3dau…

推荐熊猫电竞赏金电竞系统源码

熊猫电竞赏金电竞系统源码&#xff0c;包含APP、H5和搭建视频教程&#xff0c;支持运营级搭建&#xff0c;这套源码是基于ThinkPHPUniaapp框架开发的。 系统是一套完整的电竞平台开发源码&#xff0c;包括赛事管理、用户系统、竞猜系统、支付系统等模块。源码结构清晰&#xff…

vue3+vite开发生产环境区分

.env.development VITE_APP_TITLE本地.env.production VITE_APP_TITLE生产-ts文件中应用 console.log(import.meta.env.VITE_APP_TITLE)在html中应用&#xff0c;需要安装 html 模板插件 pnpm add vite-plugin-html -Dvite.config.ts中 import { createHtmlPlugin } from v…

非常好用的个人工作学习记事本Obsidian

现在记事本有两大流派&#xff1a;Obsidian 和Notion&#xff0c;同时据说logseq也很不错 由于在FreeBSD下后两种都没有相关ports&#xff0c;所以优先尝试使用Obsidian Obsidian简介 Obsidian是基于Markdown文件的本地知识管理软件&#xff0c;并且开发者承诺Obsidian对于个…

算法-二分专题

文章目录 概念应用场景代码模板OJ练习寻找指定元素1题目描述输入描述输出描述样例题解 寻找指定元素2题目描述输入描述输出描述样例题解 寻找指定元素3题目描述输入描述输出描述样例题解 寻找指定元素4题目描述输入描述输出描述样例题解 寻找指定元素5题目描述输入描述输出描述…

Qt添加资源文件

ui->setupUi(this);//1. 使用本地文件&#xff1a;ui->actionasdasdas->setIcon(QIcon("本地绝对路径"));ui->actiona1->setIcon(QIcon("C:/Users/满满/Desktop/output/picture/1.jpg"));//2. 使用资源文件&#xff1a;ui->actionasdasd…

内 存 取 证

1.用户密码 从内存中获取到用户admin的密码并且破解密码&#xff0c;以Flag{admin,password}形式提交(密码为6位)&#xff1b; 1&#xff09;查看帮助 -h ./volatility_2.6_lin64_standalone -h 2&#xff09;获取内存镜像文件的信息 imageinfo ./volatility_2.6_lin64_stand…

自动化测试数据校验神器!

在做接口自动化测试时&#xff0c;经常需要从接口响应返回体中提取指定数据进行断言校验。 今天给大家推荐一款json数据提取神器: jsonpath jsonpath和常规的json有哪些区别呢&#xff1f;在Python中&#xff0c;json是用于处理JSON数据的内置模块&#xff0c;而jsonpath是用…

LLaMA-Factory添加adalora

感谢https://github.com/tsingcoo/LLaMA-Efficient-Tuning/commit/f3a532f56b4aa7d4200f24d93fade4b2c9042736和https://github.com/huggingface/peft/issues/432的帮助。 在LLaMA-Factory中添加adalora 1. 修改src/llmtuner/hparams/finetuning_args.py代码 在FinetuningArg…

【Leetcode】2085. 统计出现过一次的公共字符串

文章目录 题目思路代码 题目 2085. 统计出现过一次的公共字符串 思路 使用两个哈希表 words1Count 和 words2Count 分别统计两个数组中每个单词的出现次数。然后遍历 words1Count 中的每个单词&#xff0c;如果该单词在 words1 中出现了一次&#xff0c;且在 words2 中也出…

小红书年终“礼物营销”玩法:种拔一体,实现品效破圈

恰逢年末&#xff0c;用户送礼需求旺盛&#xff0c;小红书推出“礼物季”&#xff0c;品牌们纷纷入局&#xff0c;话题上线18天浏览量破9亿。“礼物营销”覆盖全年营销节点&#xff0c;贯穿始终&#xff0c;礼赠场景下用户消费决策链路缩短&#xff0c;种拔一体&#xff0c;帮助…