物探论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2825|回复: 9

[综合] 意大利雷达DT数据格式转换为lr1格式

[复制链接]
匿名
匿名  发表于 2013-2-20 10:26:30 |阅读模式
我没有拿到意大利数据格式,目前这个转换程序是根据我手头的意大利雷达数据猜测得到,不一定准确,供大家参考,lr1格式可用下面的程序打开
正确打开后需手工调节时间零点,如下:选择“编码”-“时间零点”菜单,手工调整即可,不建议将时间零点设置为0。

DTtoLr1.rar (72.07 KB, 下载次数: 20)

回复

使用道具 举报

发表于 2013-2-20 10:43:28 | 显示全部楼层

int dTrace;
        short *g;
        int FileLabel;
        file.Seek(4,CFile::begin);
        file.Read(&FileLabel,sizeof(int));
        int m=0;
        int pos=-1;
        char test[200];
        float tmpOffSet2;
        CString tmpS1,tmpS2;
        switch(FileLabel)
        {
        case 2052:
                file.Seek(28736,CFile::begin); //0X7040
                file.Read(&dTrace,sizeof(int));
                file.Read(&dNumPT,sizeof(int));

                file.Seek(28780,CFile::begin);  //706c
                file.Read(test,sizeof(test));

                tmpS1=test;
                tmpS1.TrimLeft();
                pos=tmpS1.Find('E');

                if(pos>0)
                {
                        pos=tmpS1.Find(" ");  //space;
                        tmpS2=tmpS1.Right(tmpS1.GetLength()-pos);
                        tmpS1=tmpS1.Left(pos);  //主频
                        pos=tmpS1.Find('E');
                        fMainFrequency=(float)atof((LPCTSTR)(tmpS1.Left(pos)));
                        tmpS1=tmpS1.Right(tmpS1.GetLength()-pos-1);
                        m=atoi((LPCTSTR)tmpS1);  //以HZ为单位
                        m-=6;//以MHz为单位
                        fMainFrequency*=(float)pow(10,m);
                        //////////////////////////////////////////这个字段不知含义
                        tmpS2.TrimLeft();
                        pos=tmpS2.Find(' ');
                        tmpS2=tmpS2.Right(tmpS2.GetLength()-pos-1);
                        tmpS2.TrimLeft();
                        //////////////////////时窗,以s为单位
                        tmpS1=tmpS2;
                        pos=tmpS1.Find('E');
                        m_TimeTo=(float)atof((LPCTSTR)(tmpS1.Left(pos)));
                        tmpS1=tmpS1.Right(tmpS1.GetLength()-pos-1);
                        m=atoi((LPCTSTR)tmpS1);  //s
                        m+=9;  //ns
                        m_TimeTo*=(float)pow(10,m);
                        pos=tmpS2.Find(' ');
                        tmpS2=tmpS2.Right(tmpS2.GetLength()-pos-1);
                        tmpS2.TrimLeft();
                        ///////////////////////////////////////重复
                        pos=tmpS2.Find(' ');
                        tmpS2=tmpS2.Right(tmpS2.GetLength()-pos-1);
                        tmpS2.TrimLeft();
                        ///////////////////////////////////////////含义未知
                        pos=tmpS2.Find(' ');
                        tmpS2=tmpS2.Right(tmpS2.GetLength()-pos-1);
                        tmpS2.TrimLeft();
                        ///////////////////////////////////////////含义未知
                        pos=tmpS2.Find(' ');
                        tmpS2=tmpS2.Right(tmpS2.GetLength()-pos-1);
                        tmpS2.TrimLeft();
                        //////////////////////////////////////////步长
                        tmpS1=tmpS2;
                        pos=tmpS1.Find('E');
                        fStep=(float)atof((LPCTSTR)(tmpS1.Left(pos)));
                        tmpS1=tmpS1.Right(tmpS1.GetLength()-pos-1);
                        m=atoi((LPCTSTR)tmpS1);
                        fStep*=(float)pow(10,m);
                        pos=tmpS2.Find(' ');
                        tmpS2=tmpS2.Right(tmpS2.GetLength()-pos-1);
                }
                else
                {
                        fMainFrequency=0;
                        AfxMessageBox("读文件时发生错误,请将数据文件发送给老刘");
                        return;
                }
                /////0x5030 为第一个天线的位置. 20528
                file.Seek(20528,CFile::begin);  //706c
                file.Read(test,sizeof(test));
                tmpS1=test;
                tmpS1.TrimLeft();
                pos=tmpS1.Find(" ");  //space;
                tmpS1=tmpS1.Left(pos);
                pos=tmpS1.Find('E');
                OffSet=(float)atof((LPCTSTR)(tmpS1.Left(pos)));
                tmpS1=tmpS1.Right(tmpS1.GetLength()-pos-1);
                m=atoi((LPCTSTR)tmpS1);  //以HZ为单位
                OffSet*=(float)pow(10,m);
        /////0x5830 为第一个天线的位置. 22576
                file.Seek(22576,CFile::begin);  //706c
                file.Read(test,sizeof(test));
                tmpS1=test;
                tmpS1.TrimLeft();
                pos=tmpS1.Find(" ");  //space;
                tmpS1=tmpS1.Left(pos);
                pos=tmpS1.Find('E');
                        tmpOffSet2=(float)atof((LPCTSTR)(tmpS1.Left(pos)));
                tmpS1=tmpS1.Right(tmpS1.GetLength()-pos-1);
                m=atoi((LPCTSTR)tmpS1);  //HZ
                tmpOffSet2*=(float)pow(10,m);
                OffSet-=tmpOffSet2;
                OffSet=(float)fabs(OffSet);
                /////////////////////



                file.Seek(30780,CFile::begin);
                for(i=0;i<dTrace;i++)
                {
                        file.Seek(4,CFile::current);
                        file.Read(g,dNumPT*sizeof(short));
                        for(j=0;j<dNumPT;j++)
                        {        p[i*dNumPT+j]=q[i*dNumPT+j]=g[j];
                        }
                }
                break;


        default:
                return;
        }
回复 支持 反对

使用道具 举报

发表于 2013-2-20 10:44:55 | 显示全部楼层
增加了数据格式的识别,另外自动生成时间零点
DTtoLr1V1.1.rar (72.37 KB, 下载次数: 8)
回复 支持 反对

使用道具 举报

发表于 2013-2-20 10:46:11 | 显示全部楼层


RIS_K2型探地雷达数据的分析及处理.part1.rar (200 KB, 下载次数: 26)
回复 支持 反对

使用道具 举报

发表于 2013-2-20 10:48:51 | 显示全部楼层
版本更新V1.1.1

V1.1版本总道数读取错误,本版本修正过来
DTtoLr1V1.1.1.rar (72.39 KB, 下载次数: 8)
回复 支持 反对

使用道具 举报

发表于 2013-2-20 10:50:30 | 显示全部楼层
更新到V1.2版本

优化深部信号提取算法,并作为可选项,不像V1.1版本是强制提取深部弱信号。
DTtoLr1_2.rar (72.07 KB, 下载次数: 3)
回复 支持 反对

使用道具 举报

发表于 2013-2-20 10:51:56 | 显示全部楼层
v1.2版本放错了,重新上传

实在抱歉,重新上传
DTtoLr1V1.2.rar (72.49 KB, 下载次数: 24)
回复 支持 反对

使用道具 举报

发表于 2013-6-14 12:30:35 | 显示全部楼层
lr1格式是啥?能用什么软件打开?
回复 支持 反对

使用道具 举报

发表于 2013-6-14 21:29:37 | 显示全部楼层
能不能转成通用格式?
回复 支持 反对

使用道具 举报

发表于 2013-7-31 15:48:33 | 显示全部楼层
优化深部信号提取算法?这是什么意思,能增强深部信号强?还是增益啊?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|物探论坛 ( 鄂ICP备12002012号 微信号:iwutan )

GMT+8, 2024-4-30 02:22 , Processed in 0.088313 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表