精密三角高程测量野外记录程序开发
2014-04-18杨雪
杨 雪
(1.广东省公路勘察规划设计院股份有限公司,广东 广州 510507)
精密三角高程测量野外记录程序开发
杨 雪1
(1.广东省公路勘察规划设计院股份有限公司,广东 广州 510507)
使用C#语言对WINCE系统平台的掌上电脑进行野外观测记录与程序编写。介绍了程序思路,实现了测量记录的要求。
C#;WINCE;掌上电脑;二次开发;精密三角高程测量
1 总体设计思路
根据潘正风提出的全站仪精密三角高程测量原理,观测方法如图1所示。笔者在PDA上设计了精密三角高程测量野外采集程序,程序界面布置及功能如图2所示。
图1 对向观测顺序示意图
每条测边需要测量一次平距用于计算本测段限差与需要满足限差要求的测回数目。每半测回分别观测记录对面高低棱镜的斜距、天顶距、高差,一个测回结束后“保存”,重复观测几个测回后进行“重新通过”计算。重新通过用于计算各项指标是否超限。以下介绍二等、三等观测的限差要求:
图2 精密三角高程测量程序功能布置图
二等观测限差:各测回垂直角和指标差不超过 5",距离不超过 3 mm。双棱镜观测时按高低棱镜观测值分别计算高差,不符值不超出±4mm,并要在测站上检核高低棱镜观测高差之差。
三等观测限差:各测回垂直角和指标差不超过 6",距离不超过 5 mm。双棱镜观测时按高低棱镜观测值分别计算高差,不符值不超出±12mm(L为测量线路长,单位: km),并要在测站上检核高低棱镜观测高差之差。
观测数据的解算流程如图3所示。
图3 观测数据解算流程图
2 程序设计
程序开发平台为Microsoft Visual Studio 2005(简称VS2005),运用VS2005的设备模拟器对编写的程序进行PDA(掌上电脑)上的调试。程序大致划分为主界面、创建项目界面、测段信息设置界面、数据观测界面几个部分。主要功能函数语句如下:
1)主界面。
public partial class FormMain : Form
{
public FormMain()…
private void menuItem1_Click(object sender, EventArgs e)…//调出创建项目窗体
private void menuItem2_Click(object sender, EventArgs e)…//打开项目,调出测段信息设置窗体
}
2)创建项目。
public partial class FormCreatpro : Form
{
public FormCreatpro()…
private void ButtonSave_Click(object sender, EventArgs e)…//保存创建的项目
3)测段信息设置。
public partial class FormCreatstage : Form
{
public FormCreatstage()…
public TextBox TextBoxlist(int index)…//设置文本框数组,写入数据文件时用
private void ButtonSave_Click(object sender, EventArgs e)…//保存新测段的信息
private void ButtonOpen_Click(object sender, EventArgs e)…//读取已有测段文件
private void change_Click(object sender, EventArgs e)…//修改末点名称
private void menuItem2_Click(object sender, EventArgs e)…//起末点观测菜单项,读取测段信息,并调用起末点观测界面
private void menuItem3_Click(object sender, EventArgs e)…//对边观测菜单项,读取测段信息,并调用对边观测界面
private void menuItem4_Click(object sender, EventArgs e)…//联测点观测菜单项,读取测段信息,并调用联测点观测界面
private void menuItem5_Click(object sender, EventArgs e)…//限差菜单项,可以选择设置观测限差值
private void menuItem6_Click(object sender, EventArgs e)…//查看观测菜单项,可以查看已经观测完毕的数据。
4)观测数据。
数据观测中的对边观测,起末点与联测点观测与对边观测数据解算思路基本相同。以对边观测为例。
public partial class FormFace : Form
{
public FormFace()…
public double constant;
private int conB;
private int conX;
private int conV;
private int conD;//定义各项限差变量
private void button1_Click(object sender, EventArgs e)…//预检第一组观测数据符合限差情况
private void button2_Click(object sender, EventArgs e)…//预检第二组观测数据符合限差情况
private void button3_Click(object sender, EventArgs e)…//第三次计算检查符合限差保存到caltemp文件中,不符不保存,结果显示到文本框。
private void button4_Click(object sender, EventArgs e)…//重新通过,循环计算相应等级满足限差测回数目是否充足,结果显示到文本框。
3 功能实现
在江门市江顺大桥工程项目中进行试验,程序主要功能界面如图4、图5、图6所示。
图4 测段记录设置示意图
图4中的观测菜单中包含起末点观测、对边观测、联测点观测3个功能选项,进入即可进入数据记录模式。由于测量过程每个测段需要连贯进行,“修改”按钮用于测量途中某测段需要支点或末点名有变时使用。
图5 起末点观测示意图
图6 对边观测示意图
每测回记录数据以后均进行了实时检查,生成结果在下面的文本框实时显示;设置了数字键盘,触及界面上的文本框时会自动弹出,方便录入数字信息;上部状态栏显示工作路径信息;录入一组数据进行保存时会自动计算提示是否符合限差;“重新通过”可以自动计算出观测的测回数目是否符合要求。
观测记录的数据以txt文本格式存在PDA中,格式如下所示。
等级二等
测段号JS1
起点名1
末点名2
对镜常数0.113
起点盘左1测回斜距22.235 6天顶距90.448 8
起点盘右1测回斜距22.235 9天顶距269.545 2
指标差-10.807 800 292 968 8垂直角-0.451 801 300 048 828 平距22.235 058 89
起点盘左2测回斜距22.235 7天顶距90.451
起点盘右2测回斜距22.235 7天顶距269.545
指标差-7.182 312 011 718 75 垂直角-0.452 991 485 595 703 平距22.235 005 66
4 结 语
精密三角高程测量记录与测算应用程序不仅可以应用于掌上电脑,所有WINCE系统平台或Windows系统平台的操作系统均可以安装使用。经过野外实际应用,比起手动记录数据,用计算器计算各项限差否符情况而言,该数据记录与解算程序自动化程度和工作效率大大提高,能够满足野外实时测量计算观测数据的要求。
[1] 韩军生,顾和和. 短视距精密三角高程测量代替二等水准的探讨[J] .地理空间信息,2011,9(6):141-143
[2] 潘正风,程校军,成枢,等.数字测图原理与方法[M]. 武汉:武汉大学出版社,2009
[3] JTG/T C10-2007.公路勘测细则[S].
[4] Watson K,Nagel C.C#入门经典(第三版)[M].北京:清华大学出版社,2006
[5] 张艳,高飞,李晓莉.应用精密三角高程测量实现跨河水准的研究[J].合肥工业大学学报,2007,30(10):1 345-1 348
[6] 张正禄.工程测量学[M].武汉:武汉大学出版社,2004
P221.1
B
1672-4623(2014)05-0142-02
10.3969/j.issn.1672-4623.2014.05.052
杨雪,硕士,工程师,主要从事工程测量与航测内业工作。
2014-03-17。