摘要:利用VB编程中的面向对象功能,开发方便实用的工程测量小程序:极坐标正反算。 关键词:极坐标正反算、方位角、角度制、弧度制、坐标增量 Abstract: using VB object oriented programming function, to facilitate the development of practical engineering surveying small program: polar coordinates is positive and negative.
Keywords: polar coordinates is positive and negative, azimuth Angle, system, radian system, coordinate increment
中图分类号:[O244]文献标识码:A 文章编号:
全站仪放样测量在各种基建工程中利用非常广泛,如:大楼基桩放样、桥梁桥墩放样、公路放线等等。全站仪放样测量通常采用极坐标法。极坐标法工程坐标的正反算,是放样准确性的基础保障。通常极坐标法正反算是采用工程计算器计算取得,各种工程计算器的计算操作方法不尽相同,这就导致在不同的计算器使用时产生错误操作,反复的计算检核,给测绘工作带来不便。随着便携式微型电脑的普及,野外工程测量工作中随时随地的采用电脑计算绘图成为现实,不仅方便准确,而且效率大大提高。本文利用VB编程中的面向对象功能,开发方便实用的工程测量小程序:极坐标正反算。接下来简单介绍一下编程过程。
首先,计算原理如图例一:
图例一
极坐标正算时:
站点为O,前、后视点为P0、P1、P2、P3,分别在四个象限,如图例一。其坐标方位角a0、a1、a2、a3与夹角a(a=arctg(DY/DX))的关系为:a0=a,a1=a+180°,a2=a+180°,a3=a+360°,半径与坐标增量的关系:R2=DX2+DY2。
接下来在VB界面中创建工程,并建立窗口如图例二:
图例二
在创建窗口过程中,为了方便测试,记得为各个参数赋初值。
在“计算”按钮的单击事件中编程如下:
Dim x1 As Double, y1 As Double, x2 As Double, y2 As Double
Dim dx As Double, dy As Double, a As Double, r As Double
Dim D As String
Dim p As Double
x1 = Val(Text1)
y1 = Val(Text2)
x2 = Val(Text3)
y2 = Val(Text4)
dx = x2 - x1
dy = y2 - y1
a = Atn(dy / dx)
a = DEG(a)
If dx > 0 And dy > 0 Then
a = a
ElseIf dx 0 Then
a = a + 180
ElseIf dx 0 And dy 0 Then
a = 90
ElseIf dx = 0 And dy 0 And dy = 0 Then
a = 0
ElseIf dx = 2 * p Or r 0,0