王寶江
地質部門的測量任務中有許多是關于物探線的測量定線問題,按測量學分類屬于直線的測設問題。該類問題放樣點、線數據量很大,如何提取每條線的平面放樣數據就成為擺在地質測量人員面前急需解決的問題。
現在地質及測量部門經常使用的成圖軟件有MAPGIS和加載在CAD基礎上的南方CASS成圖系統,都不具備按線的方向和間距提取大量坐標數據的功能,為此本人用VB6.0軟件編制了一個推算物探線平面坐標數據的應用程序,推算后生成的數據文件為南方CASS數據的.DAT格式,可以在南方CASS成圖軟件中直接展繪。
物探線一般要求5 m,10 m的點距,長度可達幾千米,假定一條1 km的物探線點距5 m,則要測設201個點位。線距一般有50 m,100 m不等。而直線由起點和終點唯一確定直線的方向和距離。有了線的起點坐標和方位角就可以按下式計算間隔點的坐標:間隔點的 X(或 Y)坐標=起始點 X(或 Y)坐標+X(或 Y)方向的坐標增量×(間隔點號-起始點號);
現在的關鍵是按點距D和線的方位角α要求算出X方向和Y方向的坐標增量ΔX,ΔY。
ΔX=D ×cos(α);ΔY=D ×sin(α)。
注意:數學坐標格式為:X,Y與南方CASS格式中坐標格式相同,但在實際應用中的測量坐標格式為北N,東E格式。
程序結構示意圖見圖1。

程序主界面見圖2。
點擊以上復選框,彈出如圖3所示表單。
以下為線上點坐標增量計算程序的主要代碼:
Private Sub Command1-Click()
Dim c
Dim cc
Dem“以下為將測量的方位角:度、分、秒(北東格式)裝換為VB6.0要求的弧度格式。”
cc=(Int(fwj.Text)*3600+Int((fwj.Text-Int(fwj.Text))*100)*60+(fwj.Text*100-Int(fwj.Text*100))*100)/206264.81
Dem“以下為測量方位角轉換為數學方位角。”
c=3.14159265358979/2-cc
Dem“進行坐標增量計算,如Xzl對應于線上點的X增量。”
Form1.Xzl.Text=Cos(c)*Form2.djg
Form1.Yzl.Text=Sin(c)*Form2.djg
Form1.Xjg.Text=Cos((c+3.14159265358979/2))*Form2.xjg
Form1.Yjg.Text=Sin((c+3.14159265358979/2))*Form2.xjg
Form1.jszl.Value=0
End Sub
主表單的程序相對簡單,故不贅述。
輸入全部數據的示例見圖4。

以上示例中線號選擇了按偶數增加。
輸入必要的數據后先點擊“推算坐標”再點擊“顯示結果”。本軟件用Windows操作系統下普遍使用的文本編輯器NOTPAD.exe打開一個名稱為Temp.dat的數據文件。
Temp.dat會在下一次推算數據時被刷新,故推算數據在確信正確無誤后,應及時另存且不可與Temp.dat重名。
本軟件默認安裝于D:chy下。專用于物探線平面坐標的推算,推算后生成的數據文件為南方CASS數據的.DAT格式,可以在南方CASS成圖軟件中直接展繪。
現取推算后數據的展繪結果,用CASS的距離量測工具檢核:
1)兩點間實地距離=495.000 m,圖上距離=495.000 mm,方位角=30°10′29.86″。2)兩點間實地距離 =50.000 m,圖上距離=50.000 mm,方位角 =300°10′28.90″。3)兩 點間實地距 離 =200.000 m,圖上距離=200.000 mm,方位角=300°10′30.31″。
經過實例檢測:推算精度距離誤差在2 000 m內遠低于毫米級,角度誤差低于秒級。實際使用中由于舍入到毫米即可滿足需要,故推算數據保留到毫米,這使得在CAD中的查詢方向有微小的誤差,實際應用中低于秒級可忽略不計。
[1] 姬根杰.Excel VBA編程在導線測量中的應用[J].山西建筑,2008,34(1):367-368.