| 在VFP6.0中实现后方交会三维坐标计算及精度分析 |
在地形测量的修测过程中,为了减少野外控制测量的工作量,常用后方交会法加密图根点。由于后方交会只测量了角度而没有丈量边长[1],故无论采用直接计算法还是间接计算法计算待定点的三维坐标,其过程都很繁锁,且容易出错。随着计算机应用软件的普及,特别是Excel2000电子表格的应用,地形测量的大多数内业计算工作都由以往的计算器加表格计算过渡到在计算机上实现,虽然简化了测量的内业计算,但由于电子表格中各单元格间的相互切换,以及后方交会图形的测设形式不一,计算工作仍不够自动化,有时还容易出错。为了解决这些问题,笔者编制了一个完整的后方交会应用程序。经过一段时间的试用,效果良好,具有很好的实用性。
1 程序的运行环境及基本思路该程序运行在装有VsialFoxpro6.0(简称VFP6.0)和Excel2000的Windows操作系统环境中。
在VFP6.0中,利用表单控制逐点输入已知点的起算数据,或在Excel2000中批量输入,然后一次导入到事先建立好的数据库表中。在主表单的下拉列表框中选择所用已知点、输入野外测量获取的各观测值(包括水平角和垂直角、仪高、觇高等),程序将自动判断交会点是否在危险圆上或其附近,且弹出如图 1所示提示信息。然后在表单相应事件中[2]按一定的数学模型进行编程计算,并将后方交会点的三维坐标及点位中误差以文本文件的形式永久保存,同时显示在计算机屏幕上,最后打印出该文本文件,便得到所需计算结果。
![]() |
| 图 1 危险期圆提示信息 |
2 实现步骤 2.1 建立数据库
在VFP根目录下建立一个“后方交会计算”新文件夹,在此文件夹下新建一个自由表,用来保存所有起算数据的三维坐标,表中的字段名及字段类型在下面的VFP语句中给出:
Create Table yzsj(cdh c(10), nX n(11, 3), nY n(11, 3), nH n(7, 3))。
2.2 建立数学模型后方交会示意图如图 2所示。A、B、C为已知点,P为待定点,α、β为观测交会角。
![]() |
| 图 2 后方交会示意图 |
后方交会三维坐标计算以及精度评定所采用的数学模型[3]如下:
|
式中:m——等精度观测的测角中误差;
a、b、c——分别为已知点A、B、C到待求点P点的水平边长;
S1、S2——分别为交会角α、β所对应的已知边长;

K——P点仪高;
L——A点觇高。
2.3 新建表单在“后方交会计算”文件夹下新建如图 3所示的主表单(表单中的数据是运行时输入或选取)以及图4所示的输入已知点表单。主表单中的三个下拉列表框与自由表“yzsj”绑定,在输入交会角β的文本框的interactivechange事件中建立危险圆判断模块,各表单控件的属性略。
![]() |
| 图 3 程序主界面窗口 |
![]() |
| 图 4 输入已知点表单 |
针对上述数学模型编制的原代码封装在主表单“计算”按扭的Click事件中,这里省略。
2.4 编译应用程序在“后方交会计算”文件夹下新建项目文件及主程序文件,并将前面所建立的自由表、表单以及主程序文件添加到项目文件的相应路径下。编译运行后,主界面窗口如图 3所示。
3 应用实例在一次地形测量实践中,选用武山、73#、46#三个已知点作一后方交会,其已知数据及观测值见表 1。
| 表 1 后方交会的已知数据和观测数据 |
![]() |
| 点击放大 |
若首次应用程序计算,须调用“已知点录入表单”输入已知点的三维坐标,输入值将自动保存在yzsj.dbf自由表中。以后每次计算只需在主表单的下拉列表框中选择相应的已知点,并在表单的其余空白处,按照表单中的注记输入相应各值。须注意的是:已知点的高程、觇高和垂直角读数有则输入,无则空白。所有输入工作完成后,检查输入值是否有误;确认无误后,用鼠标点击主表单上的“计算”按钮,屏幕上立即弹出图 5所示的文本文件,该文本文件中记录了所用已知点数据、观测值、待求交会点的三维坐标及点位精度。打印该文本文件,以便以书面形式保存计算结果;也可将该文件保存在项目文件夹下,作为永久保存。
![]() |
| 图 5 输出结果的文本文件 |
4 结语
本文介绍了一个操作简单且实用性很强的后方交会三维坐标计算程序。利用本文提供的方法,同样能编制前方交会、侧方交会、双点后方交会等其他计算程序。通过上述应用实例不难看出本应用程序具有以下优点。
(1)该程序操作简单,计算速度快,计算结果的保存形式灵活多样。
(2)对待后方交会的危险圆问题能以交互方式提出警告,根据提示可及时加以纠正。
(3)新增加已知点时,用数据表的形式保存已知数据,省去了每次计算时手工输入已知点的麻烦,减少了出错机会。在局域网上,可通过建立本地数据库共享计算成果。
(4)该应用程序适合于任何形状的后方交会图形计算,得到的结果不仅有点的平面坐标,点的高程也一并得出,并且给出了点位精度。
| [1] |
罗时恒.
地形测量学[M]. 北京: 冶金工业出版社, 1985.
|
| [2] |
卢湘鸿.
Visal FoxPro 6.0面向对象编程指南[M]. 北京: 清华大学出版社, 2001.
|
| [3] |
金属矿山测量手册编写组.
金属矿山测量手册[M]. 长沙: 湖南科学技术出版社, 1995.
|
2006, Vol. 20





