水准仪吧 关注:580贴子:1,521
  • 0回复贴,共1

Leica DNA03水准仪数据存储格式介绍

取消只看楼主收藏回复

Leica DNA水准仪记录的信息较全面,数据下载可使用附带软件来完成。利用软件下载数据默认格式为GSI,不便于编辑处理。Leica测量办公系统提供了自定义下载格式功能,运行“格式管理器”根据所需下载自定义数据格式。在下载格式文件中可选择包括文件头、文件尾、工程名称和线路名称等,测站观测数据中的必选内容包括点名、距离、测量类型、标尺读数,这些是内业平差中必要的基础数据。另外,格式中还可根据需求自定义,包括观测日期、观测方法、观测者、仪器型号等内容。自定义数据类型下载的文件后缀为*.mdt,用文本编辑器打开阅读、打印。但提取出平差所需数据,形成符合平差软件要求的数据文件,还需借助编程方法来实现。
1.2 GSI数据字段格式分析
Leica DNA03电子水准仪采用的是GSI格式存储数据,包括GSI-8和GSI-16格式。GSI数据以“块”为单位进行传送,每个数据块包含若干个数据段,数据段用两个或三个标志字符WI来区分不同数据。GSI-8数据格式中,每个数据段共有16个字符,包括7个信息字符,8个数据字符和一个空白字符;GSI-16数据格式中,每个数据段共有24个字符,其中有16个数据字符,可以存储更多数据信息。[4]本文以GSI-8数据格式为例进行分析。
2、数据格式转换存储的设计实现
2.1 数据格式转换与存储的总体设计
两种方法可将数据转移到计算机中。一是通过通信接口设置好通信参数用专门通信软件传输,二是用笔记本电脑读卡功能直接拷贝测量数据。
目前已有专业软件能将电子水准仪测量数据转换成传统的测量记录手簿形式,但软件专门性、针对性不强。为了使数据处理自动化程度更高,可以设计自己的算法,通过程序来处理数据。考虑到Excel软件是比较优秀的表格处理软件,方案采用VC6.0设计可视化界面,用C++语言结合Excel对象来处理数据。
(1)设计思路
同一种仪器由于观测方法不同,数据也存在差异,本文基于用Leica DNA03水准仪观测的测量模式BFFB和测量模式BBFF的原始数据文件进行转换。
本文设计思路考虑到手簿表格格式整齐有规律,首先将测量产生的有效数据利用程序代码提取出来,保留原始数据格式,写入Excel中通过公式进行格式转换。
(2)数据提取
电子水准仪测量成果文件格式具有固定性,我们可通过编程开发用一定算法提取有效数据,本文以水准线路为例对其数据提取及处理的基本思路进行说明。
要实现数据读取,首先选择要转换的文件格式,再进行相应模式数据的逐行读取,定义成员函数和用到的各个变量,利用类对象将数据段中的字符串写入到所定义的变量中,再将字符串格式数据转换成整型的数据,为后续处理做准备。
(3) VC与Excel联合
创建程序,在程序入口和出口处增加代码支持COM库。从Office安装目录中找到对VC操作Excel文件的动态库,引入所需对象模型,添加具体代码来响应操作Excel命令。
2.2 数据格式转换与存储的具体实现
(1)技术要点分析
仔细阅读Leica GSI 格式说明文件,正确理解Leica DNA03水准仪的各项数据代码,在具体设计时要注意以下几点:
①文件头获取时间,观测者,仪器型号等信息;②测段起始和结束标志;③测段异常处理,包括以下几个情况:整站重测的处理和一次观测重测的处理,可以利用“if/else”选择结构,通过关键字符对所读取的数据流进行筛选;采用“while”循环,根据需要设置好循环结束和选择条件,合并测站数据信息和测段数据信息。
(2)读取数据
本文中的程序需要对txt文件中的数据进行逐行读取,所以用CStdioFile中的ReadString函数,读取到CString中,再按所需进行拆分或截取,获得有实际意义的测量数据段,[6]由于观测方法不同,导致原始数据文件内容存在差异,要正确的读取到所需要的測量数据,就需要编写不同的代码,观测模式的不同选择用对话框中的单选钮来实现,并且要将其与单击按钮联系起来。
(3) 建立与Excel对象的联系
利用Visual C++ 6.0,建立一个MFC基于对话框的工程项目,在主对话框中加入按钮:
ID: IDC_BUTTON_XLC 标题:存储数据;双击该按钮,增加成员函数
(4) Excel单元格的写入
表头的写入,例如:m_ExlSheet.SetName("原始数据导入");同理,其他单元格的内容也依次进行设置,如:xlSheet.Cells(XX*3+9,2) = YY(i+1,3)通过设置循环和选择将数组YY中的数据输入到电子表格所对应的单元格中[4]。将上述取出的数据,按表格中相应的位置循环写入后,整个文件中相应的数据将会全部写入表格中,从


IP属地:北京来自Android客户端1楼2023-05-22 16:36回复