正经人6680 2022-11-26 17:35 采纳率: 100%
浏览 20
已结题

请问如何获得航天器的轨道高度,以及用matlab读取雷达dat数据的代码?

请问有人用过Mars Orbital Data Explorer下载火星遥感数据吗,我选择了SHARAD的雷达数据,但没找到航天器在我选择的轨道上的轨道高度,只在源文件中找到了航天器到火星质心距离的信息。请问这个距离要怎么获取呢?(数据来源:https://ode.rsl.wustl.edu/mars/indexproductpage.aspx?product_id=R_0790503_001_SS19_700_A&product_idGeo=12030408)

img

img

这是我导入雷达dat数据的代码,但根据网站上该轨道label文件中的描述,质心距离从第71,99位开始四个字节,单位千米,但它的貌似比实际的火星半径还小。我估计是我读错了,但不知道问题在哪,求解?

clc
clear

cd('C:\Users\rr\Desktop\Mars SHARAD+DEM');
fid = fopen('r_0790503_001_ss19_700_a.dat', 'r','l');
data = fread(fid);

img

img

我也尝试了用notepad++读取该文件,无论是直接读取,还使用EX-editor/View in HEX插件,都是乱码,目前还没找到原因。

请各位赐教,谢谢!

  • 写回答

2条回答 默认 最新

  • 一只胖橘 2022-11-27 00:03
    关注

    提供一个python写的思路:

    import struct
    import io
    file_dir = 'test1/r_0790503_001_ss19_700_a.dat'
    with open(file_dir, 'rb') as f:
        fbuff = io.BufferedReader(f)
        xxx=fbuff.read()
        N = len(xxx)
        print('字节长度: ', N)
        print(xxx[70:74])
        c=xxx[70:74]
        print(len(c))
        a=struct.unpack('f',c)
        print(a)
    
    

    python中好像没有real类型然后real类型是浮点类型,数据占用4个字节用float进行试验。

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月5日
  • 已采纳回答 11月27日
  • 创建了问题 11月26日

悬赏问题

  • ¥15 latex投稿显示click download
  • ¥15 请问读取环境变量文件失败是什么原因?
  • ¥15 在若依框架下实现人脸识别
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?