999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Excle VBA在水準測量中的應用

2017-09-20 04:42:36
黑龍江交通科技 2017年7期

劉 潔

(湖南省公路設計有限公司,湖南 長沙 410011)

Excle VBA在水準測量中的應用

劉 潔

(湖南省公路設計有限公司,湖南 長沙 410011)

提出一種基于Excle VBA的水準記錄及平差自動計算表,其可計算二、三、四等水準測量,自動檢測測站數據。以四等閉合水準測量為例,本程序可以保存水準測量數據及水準平差結果、查詢水準點間信息,滿足實際外業數據記錄及平差要求,具有一定的實際應用價值。

水準測量;Excel VBA;平差;檢查

1 引 言

水準測量及其水準測量平差是測繪外業的基本任務之一,水準測量分為外業水準測量數據記錄及內業水準測量平差計算。其中水準測量外業數據記錄一般在相應的紙質記錄表格上進行,水準平差則借助于相應的計算器進行人工計算。當某一測區水準測量路線較多時,水準測量的數據記錄保存及水準平差計算的工作量則會成倍增加,嚴重影響工作效率。Microsoft Excel是大家比較熟悉且界面簡單、易懂的辦公軟件。大多利用Excel提供的VBA編程檢核外業數據或實現水準平差,兩者成獨立模塊。本文利用其可視化表格及VBA語言,實現外業數據檢核及內業平差相結合。本文在已有的水準測量平差計算的模塊上增加了水準測量外業數據記錄功能,實現水準測量平差計算與水準外業數據記錄無縫連接,提高其實際應用價值。

2 水準測量記錄、平差表界面設計

Excel中水準測量記錄表及水準平差表的界面應與實際測量中紙質記錄表界面一致,普通水準測量的外業數據記錄表格表頭,其主要包括前視尺與后視尺上的讀數。

水準平差計算其包括水準路線類型的選擇、水準點個數、已知高程點的輸入、表格清屏、水準計算等功能。在水準網平差計算中,程序會根據水準測量中輸入的水準點個數自動生成相應的計算表格。表格中涉及到Excel VBA中幾類函數,如單元格的合并merge、單元格邊框加粗函數border、顏色顯示函數rgb等信息。

3 水準平差的計算

3.1 水準記錄表數據的調用

由于水準記錄表格與水準平差表分別在兩個不同工作表中,而水準平差表中水準點之間距離、高差是根據水準記錄表中記錄數據生成的,因此涉及到兩個工作表中數據調用。Excel VBA提供了較為方便的調用方式,如下面代碼

Sheet2.cells(1,1)=sheet1.cells(1,1)

該代碼實現工作表sheet1中cells(1,1)中數據賦值給sheet2中cells(1,1)中數據。使用這種原理,即可實現水準平差工作表中必要數據根據數據記錄表自動生成。

3.2 高程閉合差計算

附和水準測量的閉合差可根據公式(1)計算得到

Fh=∑h測-(H終-H始)

(1)

其中,∑h測為相鄰水準點高差之和,Fh為水準測量的閉合差。

在Excel VBA中的其實現的部分代碼如下:

......

For i = 1 To n - 1

sumgcgz = Cells(2 * i + 6, 4) + sumgcgz

Next i

fh = Round((sumgc - (Cells(2 * n + 5, 6) - Cells(7, 6))) * 1000)

fh1 = Round(2 * (Cells(2 * i + 8, 2) / 1000) ^ 0.5)

If Abs(fh) > Abs(fh1) Then

MsgBox "數據有問題,超限", , "警告"

……

本段使用Excel VBA中for循環語句對所有水準點之間高差進行求和,再根據理論值與實際值求差得高程誤差,并判斷誤差是否在容許誤差范圍之內。如果超出誤差,則提示數據有問題的報錯,否則進行下一步操作。

3.3 水準點間高差改正數計算

高差改正數可以按照測站間距離或測站數進行等比例分配誤差。

每km高差的改正數可根據公式(2)計算

(2)

其中,L為水準點之間所有距離之和。

各水準點之間的高差改正數可根據公式(3)計算

vi=v×Li

(3)

其中Li為任意水準點之間的距離。

其實現的部分代碼如下

…..

For i = 1 To n - 1

Cells(2 * i + 6, 5) = Cells(2 * i + 6, 3) + Cells(2 * i + 6, 4) / 1000

Next i

For i = 1 To n - 2

Cells(2 * i + 7, 6) = Cells(2 * i + 5, 6) + Cells(2 * i + 6, 5)

Next i

……

在容許誤差范圍內,使用for循環語句進行高差分配,其中相鄰水準點之間的高差改正數按照與距離成比例進行。

3.4 生成平差報告文件

水準平差計算后得到未知點高程數據信息后,以文檔形式進行保存,便于以后數據查詢。在Excel VBA中,可以使用相應的函數對結果進行保存,Excel VBA中提供open與print函數,分別進行文件打開及寫入。其中open函數格式為:

Open 文件名 for output as # 文件號

在使用open函數創建文件后,再使用print函數在文件中寫入內容,如水準點高程。

如圖1為某一水準路線水準平差后保存的水準點高程txt文件,其中包括各點高程、閉合水準的閉合差、容許誤差以及每km改正數等信息。

圖1 水準平差結果

4 實驗驗證

以一條閉合水準路線為例,輸入起始數據及測站數,即可自動生成實際紙質水準記錄表格,再按照表頭相應內容填入各個測站觀測數據。最后點擊數據預處理,即可完成其他空余單元格的自動計算。

5 總 結

利用Excel VBA編程實現水準記錄表格數據自動檢查、保存及水準平差,生成水準點高程數據文件,在水準平差數據量較大時,可大大節省計算耗時。同時計算結果便于保存,便于今后查閱。

[1] 王漢雄,趙曉東. 基于Excel VBA的等級水準測量記錄軟件設計[J]. 勘察科學技術,2009,(4):24-26.

[2] 王保國,馮金福,蘇小霞. 水準測量計算手簿自動生成的設計與實現[J].江西測繪,2012,(1):29-30+22.

[3] 潘建波,謝斌,,凱夫. EXCEL中應用VBA實現水準測量的原始計算[J].華北水利水電學院學報,2010,(4):114-115.

2017-04-28

劉潔(1969-),男,湖南長沙人,工程師,研究方向:工程測量。

U412

:C

:1008-3383(2017)07-0024-02

主站蜘蛛池模板: 91麻豆国产视频| 日本人妻一区二区三区不卡影院| 亚洲精品日产AⅤ| 九九热免费在线视频| 国产午夜人做人免费视频中文| 成人午夜久久| 蜜臀av性久久久久蜜臀aⅴ麻豆| 欧洲日本亚洲中文字幕| 欧美人与牲动交a欧美精品| 香蕉色综合| 久热re国产手机在线观看| 色吊丝av中文字幕| 视频二区欧美| 精品无码一区二区三区电影| 国产精品亚洲专区一区| 久久国产黑丝袜视频| 欧美精品1区| 为你提供最新久久精品久久综合| 18禁影院亚洲专区| 秋霞一区二区三区| 91亚洲视频下载| 亚洲高清无码久久久| 第一区免费在线观看| 久久免费看片| 欧美日韩一区二区在线播放 | 国产亚洲欧美日韩在线观看一区二区| 成人福利在线视频| 色欲国产一区二区日韩欧美| 国产v欧美v日韩v综合精品| 国产免费怡红院视频| 欧美成人精品高清在线下载| 亚洲第一天堂无码专区| 久久国产精品波多野结衣| 伊人中文网| 精品国产香蕉伊思人在线| 亚洲欧洲天堂色AV| 国产成人综合亚洲欧洲色就色| 国产尤物jk自慰制服喷水| 天堂va亚洲va欧美va国产| 亚洲成A人V欧美综合天堂| 98精品全国免费观看视频| 啊嗯不日本网站| 久久精品国产一区二区小说| www.国产福利| 丝袜国产一区| 小13箩利洗澡无码视频免费网站| 一区二区三区毛片无码| 亚洲欧洲自拍拍偷午夜色| 欧美成人第一页| 中文字幕在线看| 波多野结衣中文字幕久久| 午夜欧美在线| 欧美翘臀一区二区三区| 成人一级黄色毛片| 国产迷奸在线看| 国产精品美乳| 国产综合欧美| 久久综合丝袜长腿丝袜| 好紧太爽了视频免费无码| 午夜毛片福利| 91久久青青草原精品国产| 99伊人精品| 亚洲视频欧美不卡| 亚洲无码高清免费视频亚洲| 亚洲国产中文在线二区三区免| 福利在线不卡| 国产精品成人AⅤ在线一二三四| 欧美精品1区| 亚洲色图另类| 精品福利网| 亚洲AV人人澡人人双人| 国产性猛交XXXX免费看| 亚洲中文制服丝袜欧美精品| 欧美一级在线看| 欧美成人看片一区二区三区 | 国产手机在线小视频免费观看| 欧美色图第一页| 国产性生大片免费观看性欧美| 沈阳少妇高潮在线| 欧美色亚洲| a毛片在线免费观看| 国产成人一二三|