基于MATLAB的常用数字水准仪数据格式的转换*

2012-12-26 07:56农秀莲
地矿测绘 2012年2期
关键词:水准仪数据格式读数

农秀莲,刘 琼

(海南水文地质工程地质勘察院,海南海口 571100)

基于MATLAB的常用数字水准仪数据格式的转换*

农秀莲,刘 琼

(海南水文地质工程地质勘察院,海南海口 571100)

以徕卡DNA 03和天宝DiNi 03为例,介绍电子水准仪的数据存储文件的格式、内外业数据一体化的实现,以及如何使用MATLAB语言来读取文件数据和处理数据的方法,并结合Microsoft Excel软件自动生成电子水准记录手簿。

数字水准仪;数据文件格式;数据处理;水准观测手簿;程序

0 引言

数字水准仪集光学技术、电子技术、数字图像处理技术以及计算机技术于一体,可用于各种高等级水准测量和精密工程测量,其数字化的读数和记录方法不但可以有效地消除各种测、记误差,而且外业观测效率高,极大地提高了工作效率。目前已经广泛地应用于各项测绘生产作业中,如地铁沉降监测、基坑沉降监测、建筑物沉降监测等。

常用的数字水准仪包括天宝公司生产的DiNi 03水准仪和徕卡公司生产的DNA 03水准仪。数字水准仪的基本原理是:利用条码尺上的反射光,通过望远镜镜头,并经过分光镜分光后,一路供人眼观测,另一路被CCD线阵接收,进而转换成电信号,经A/D电路形成数字信号,在CPU的控制下,将拍摄到的条码信息与内存中水准尺的条码信息进行比较和计算,计算成功后将读数存入PCMCIA卡。数字水准仪的工作原理,如图1所示。

数字水准仪给测量工作带来极大便利,但是在使用过程中笔者发现数字水准仪仍然存在一些不足之处。例如:使用徕卡或天宝数据通讯软件下载的原始数据格式与国内现有规范要求的手簿格式不一致,不便于成果检核和成果直接提交。鉴于数字水准仪存在以上不足,笔者通过对数据文件格式进行分析,利用MATLAB编写了数据格式转换程序,并应用于沉降监测工程中。实践证明,利用该程序可提高工作效率。

图1 电子水准仪工作原理示意图Fig.1 Working principle sketch map of electronic level

1 常用电子水准仪数据格式

1.1 徕卡DNA 03电子水准仪数据格式

DNA03电子水准仪常用的数据格式为GSI格式,该格式是徕卡仪器的专用记录格式,它是由字索引+测量数据构成一个测量数据块,1行记录由1个或多个数据块组成。下面通过示例简单介绍其数据格式:

以上数据中,“410001+00000000?......4”表示一个测段开始,其中“41”是字索引,用于标识该数据块。“110002+000000000000BM07”中的前两位“11”代表点号的字索引,“000000000000BM07”为点号,“83..58+0000000011790873”中的“83”是该点的高程的字索引,其高程为“0000000011790873”,其它的内容类似。“32”是视距的字索引,“331”为后视1的字索引,“332”为前视1的字索引,“335”为前视2的字索引,“336”为后视2的字索引,“571”为测站标准差、“572”为累计测站差、“573”距离差、“574”线路总长。

1.2 天宝DiNi 03电子水准仪数据格式

下载DiNi原始数据时,可以选择REC E和REC 500。本文主要针对REC E原始数据格式。

REC E原始数据格式的一行记录中共包含121个字符,其中第1~6个字符为文件头,用来说明文件格式;8~16为第一数据块,用来记录数据行存储地址;18~48为第二数据块,用来记录点名、测量时间和测量次数等;50~71为第三数据块,用来记录前后视标识、读数、单位等;73~94为第四数据块,用来记录视距、单位等;95~117为第五数据块,用来记录高程和单位等;各个数据块之间的2个字符用来表示数据块分割标识符,最后的4个字符分别代表标识符、空格、回车符和换行符等。

2 程序设计

程序的主要算法是:打开原始数据文件,判断数据文件格式。然后判断测量线路,以每一行数据为处理单元,将每行的所有数据以字符的形式读到构架数组(Structure array)中,构架数组的域由构架名和域名组成。将测站名称作为构架名,每测站的前后尺读数、前后视距读数、高差等作为域名。然后根据每一测站点名,自动合并计算一至多个测站数据,得到每一测段的高差、距离平均值,计算观测数据并按规范格式输出计算结果。程序流程,见图2。

图2 水准仪数据格式转换程序流程Fig.2 The flowchart of level data format transformation program

3 算法的实现

主要算法的实现步骤如下:

1)观测数据文件的打开,利用uigetfile命令。其中,DNA 03数据文件后缀为gsi,DiNi 03数据文件后缀为dat。主要代码如下:

2)将测段信息分类存储。Mp(jj)为测站名称,Rb1和Rb2分别为前后视距读数,Hb1和Hb2分别为前后尺读数。主要代码如下:

3)Excel对象的创立。实现代码如下:

4)设置Excel单元格的格式,并将结果按规范格式输出。实现代码如下:

通过循环和选择,将构架数组中的数据以规范格式输出。

4 应用实例

以正在进行的某医院建筑沉降监测为例,选择其中一期监测数据进行测试。启动程序后,可根据观测数据存放位置选择并打开文件。图3为选择打开观测数据文件。

然后可根据需要,将原始观测数据转换为Excel格式的标准手簿形式。输出成果,如图4所示。

图3 打开观测数据文件Fig.3 Opening observation data file

5 结束语

电子水准仪具有技术成熟、操作简单、读数客观、自动记录等很多优点,目前在水准测量中应用越来越广泛,学习水准仪数据文件格式并将数据处理程序化,对快速、准确提供规范的水准测量手簿非常必要。

利用本程序时,可根据需要通过选择不同模板来实现水准手簿的自动生成。水准观测手簿以Excel格式保存,格式内容与国家水准测量规范规定一致且美观。本程序的开发,对研究与开发类似的数据处理软件具有借鉴意义。

图4 输出转换成果Fig.4 The output of transforming results

[1]邹积亭,江恒彪.DiNi12数字水准仪数据文件格式与读取算法[J].北京测绘,2006(1):55-57.

[2]许波,刘征.MatLab工程数学应用[M].北京:清华大学出版社,2000.

[3]姚连璧,周小平.基于MATLAB的控制网平差程序设计[M].上海:同济大学出版社,2006.

Transform of Data Format of Common Digital Level Based on MATLAB

NONG Xiu-lian,LIU Qiong
(Hainan Investigation Institute of Hydrogeology and Engineering Geology,Haikou Hainan 571100,China)

Based on the Leica DNA 03 and the Trimble DiNi 03 as examples,this paper introduces the digital level data storage file format,both inside and outside the working,data incorporate realizing and how to use the MATLAB language to read the file data and processing data,and combined with the Microsoft Excel software to automatically generate electronic level recording.

digital level;data file format;data processing;leveling observation field book;program

P 203;P 204

B

1007-9394(2012)02-0035-03

2011-10-13

农秀莲(1968~),女,广西武鸣人,工程师,现主要从事工程测量、岩土工程监测方面的工作。

猜你喜欢
水准仪数据格式读数
数字水准仪电子i角测量不确定度评定
中职测量水准仪的历史及应用探析
一种电子水准仪i角的检测方法
数字水准仪与光学水准仪对比分析
读数
读数
读数
读数
世界首个可记录物体内部结构等复杂信息的3D打印数据格式问世
论子函数在C语言数据格式输出中的应用