国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Excel VBA的道路測(cè)設(shè)計(jì)算程序設(shè)計(jì)

2010-11-29 07:49:18曾劍生王漢雄
鐵道勘察 2010年5期
關(guān)鍵詞:單元格方位角數(shù)據(jù)處理

曾劍生 王漢雄

(1.南寧東測(cè)科技有限公司,廣西南寧 530023;2.黃淮學(xué)院建筑工程系,河南駐馬店 463000)

在道路工程勘測(cè)和施工階段,需要進(jìn)行大量的數(shù)值計(jì)算。對(duì)于專業(yè)技術(shù)人員來(lái)說,需要一種使用上方便靈活,并且易學(xué)易懂便于操作的數(shù)據(jù)處理平臺(tái)。Microsoft Office Excel 2003是Microsoft Office 2003辦公套裝軟件的一個(gè)重要組成部分,用來(lái)幫助用戶完成信息保存、數(shù)據(jù)計(jì)算處理、數(shù)據(jù)分析決策、信息動(dòng)態(tài)發(fā)布等工作。同時(shí)Excel又是一個(gè)開放的平臺(tái),允許用戶使用編程語(yǔ)言開發(fā)出符合特定工作需要的應(yīng)用程序,而VBA(Visual Basic For Application)語(yǔ)言就是一種非常流行、也非常成熟的開發(fā)工具。

1 Excel VBA編程進(jìn)行數(shù)據(jù)處理的特點(diǎn)和優(yōu)點(diǎn)

利用Excel 2003的“宏”功能可以很好地進(jìn)行數(shù)據(jù)處理。“宏”是指一系列Excel能夠執(zhí)行的VBA語(yǔ)句,存儲(chǔ)于Visual Basic模塊中,這些語(yǔ)句和函數(shù)組合在一起,形成了一個(gè)單獨(dú)的命令,以實(shí)現(xiàn)任務(wù)執(zhí)行的自動(dòng)化??梢酝ㄟ^VB編輯器創(chuàng)建宏。用VBA編程比用函數(shù)功能更便捷,其特點(diǎn)和優(yōu)點(diǎn)如下:

(1)Excel是office辦公軟件中的一個(gè)組件,適應(yīng)范圍廣,有良好的群眾應(yīng)用基礎(chǔ),工程技術(shù)人員一般都熟悉其使用方法和規(guī)則。

(2)VBA是一種面向?qū)ο蟮木幊陶Z(yǔ)言,其語(yǔ)法比較簡(jiǎn)單,容易理解和掌握,并且VBA是針對(duì)特定的應(yīng)用程序進(jìn)行開發(fā)的,用簡(jiǎn)短的代碼就能實(shí)現(xiàn)復(fù)雜的功能。只需掌握基本的VBA語(yǔ)言和編程方法就可以按照計(jì)算內(nèi)容、要求和目的進(jìn)行編程。

(3)Excel的行和列成天然的二維數(shù)組。相對(duì)于專業(yè)軟件看不見的內(nèi)部數(shù)組來(lái)說,Excel的單元格就是一個(gè)二維數(shù)組中的一個(gè)元素,直觀易懂,便于數(shù)據(jù)的調(diào)用和表示。而且,這種二維數(shù)組的數(shù)據(jù)格式靈活多變,沒有統(tǒng)一的格式限制,可以定義任一單元格為任一數(shù)據(jù)格式。

(4)利用Excel VBA編程,可為用戶提供友好的操作界面,操作簡(jiǎn)單。在創(chuàng)建宏時(shí),通過使用“窗體”工具欄,可以在工作表中添加一系列控件,并為其指定宏,用戶則可以通過單擊這些控件并根據(jù)相應(yīng)提示進(jìn)行操作。

(5)適應(yīng)性強(qiáng)。對(duì)于用函數(shù)制作的表格,當(dāng)改變數(shù)據(jù)時(shí),經(jīng)常需要?jiǎng)邮指卤砀?而通過VBA編程則能自動(dòng)完成表格的更新。

(6)用Excel作為數(shù)據(jù)處理的開發(fā)平臺(tái),因其已經(jīng)具備了如文件的打開和保存、打印、復(fù)制等基本功能,不需要編寫這些基本功能的模塊,節(jié)省了開發(fā)應(yīng)用程序的工作量。

2 Excel VBA編程數(shù)據(jù)輸入方法

數(shù)據(jù)輸入主要有鍵盤輸入、語(yǔ)音輸入和數(shù)據(jù)導(dǎo)入三種方法。使用鍵盤輸入是最常用的方法,勞動(dòng)量較大;語(yǔ)音輸入法是Excel 2003新增的功能,雖然減少了勞動(dòng)量,但由于很難保證語(yǔ)音一致,難免會(huì)出現(xiàn)輸入錯(cuò)誤,故仍離不開鼠標(biāo)和鍵盤的操作;對(duì)于電子數(shù)據(jù),可以采用數(shù)據(jù)導(dǎo)入法,該方法在保證數(shù)據(jù)記錄正確的情況下,不存在輸入上的錯(cuò)誤。

3 Excel VBA編程數(shù)據(jù)審查與文件管理

數(shù)據(jù)審查主要有以下幾種方法:將紙上數(shù)據(jù)與輸入數(shù)據(jù)進(jìn)行一對(duì)一比較;利用函數(shù)功能,將輸入數(shù)據(jù)與原有數(shù)據(jù)求差,進(jìn)行運(yùn)算比較;利用Excel 2003語(yǔ)音功能中的朗讀文本一項(xiàng),可以邊聽朗讀,邊對(duì)照紙上數(shù)據(jù),進(jìn)行語(yǔ)音比較;有些數(shù)據(jù),還可以通過程序設(shè)計(jì),對(duì)輸入數(shù)據(jù)的合法性進(jìn)行檢測(cè),如對(duì)輸入角度的分、秒在數(shù)值上是否大于60的判斷,或者對(duì)所輸入是否為數(shù)字的判斷。

Excel 2003可以對(duì)工作表和工作簿進(jìn)行兩層密碼保護(hù),并可以給用戶設(shè)置權(quán)限,不同的用戶擁有不同的權(quán)限級(jí)別。通過這些保護(hù)措施,可以保證信息的相對(duì)安全和避免數(shù)據(jù)的意外破壞,實(shí)現(xiàn)數(shù)據(jù)的安全管理。

4 道路測(cè)設(shè)計(jì)算程序設(shè)計(jì)

Excel VBA編程進(jìn)行數(shù)據(jù)處理的特點(diǎn)和優(yōu)點(diǎn)為道路測(cè)設(shè)計(jì)算提供了優(yōu)越的條件,可以實(shí)現(xiàn)水準(zhǔn)網(wǎng)、導(dǎo)線網(wǎng)、邊角網(wǎng)、三角網(wǎng)等各類控制網(wǎng)的近似平差和嚴(yán)密平差;可以進(jìn)行道路中邊樁坐標(biāo)及放樣數(shù)據(jù)計(jì)算、道路高程及超高和加寬計(jì)算、路基填土高度以及土石方量計(jì)算等。

圖1是用VBA語(yǔ)言編寫的“道路測(cè)設(shè)計(jì)算”系統(tǒng)的主操作界面。單擊主操作界面中的“道路中邊樁坐標(biāo)計(jì)算”按鈕后(如圖2所示),在相應(yīng)位置輸入已知數(shù)據(jù),按“計(jì)算”按鈕即可得到計(jì)算結(jié)果,按“清除”按鈕即可清除輸入的和計(jì)算的數(shù)據(jù),按“返回”按鈕即可回到主操作界面,按“關(guān)閉”按鈕即可保存結(jié)果并退出Excel。

如圖2所示,表頭上部加粗?jǐn)?shù)據(jù)是運(yùn)行宏前必須填寫的,它包括相鄰三交點(diǎn)的坐標(biāo)、曲線設(shè)計(jì)半徑、緩和段長(zhǎng)度、交點(diǎn)B里程、測(cè)站點(diǎn)坐標(biāo)、樁間距,計(jì)算結(jié)果中的數(shù)據(jù)均是運(yùn)行宏后顯示的。在制作測(cè)量計(jì)算表格時(shí),首先應(yīng)確定單元格的性質(zhì),合理安排各單元格的位置,處理好固定單元格、自變單元格和因變單元格的關(guān)系。固定單元格是指內(nèi)容固定不變的單元格,如標(biāo)題、計(jì)算示意圖和所有文字所在單元格;自變單元格是指宏運(yùn)行前必須填寫的存有已知數(shù)據(jù)源的單元格,它經(jīng)常因道路及對(duì)應(yīng)曲線的變化而變化,如交點(diǎn)坐標(biāo)、曲線半徑、緩和段長(zhǎng)度等;因變單元格是指宏運(yùn)行后顯示計(jì)算結(jié)果的單元格,它因自變單元格的變化而變化,如中樁坐標(biāo)和放樣數(shù)據(jù)等。簡(jiǎn)而言之,固定單元格是框架,相對(duì)穩(wěn)定;自變單元格和因變單元格是內(nèi)容,是可變的。

圖1 道路測(cè)設(shè)計(jì)算程序主操作界面

圖2 道路中樁坐標(biāo)計(jì)算

程序運(yùn)行得到計(jì)算表格后,可以對(duì)表格進(jìn)行必要的編輯,使其更加符合我們工作的要求。

在編寫測(cè)量計(jì)算程序時(shí),應(yīng)注意以下問題:

(1)程序本身的可讀性問題。除主程序外,設(shè)置若干個(gè)子程序,分別進(jìn)行距離、方位角的計(jì)算和角度的轉(zhuǎn)換,保證程序本身的可讀性和編程思維的連續(xù)性。

(2)數(shù)值計(jì)算取位問題。計(jì)算程序相對(duì)較小,一般不必考慮程序運(yùn)行速度與容量問題,中間計(jì)算應(yīng)盡可能地多取小數(shù)位數(shù),(如編程時(shí) π值取到小數(shù)點(diǎn)后14位),以保證計(jì)算結(jié)果的精度。

(3)除零問題。在計(jì)算道路路線方位角時(shí),需要計(jì)算反正切函數(shù),其中存在因X坐標(biāo)相同而除零的情況,此時(shí)應(yīng)作特例處理,以增強(qiáng)程序的通用性。

(4)方位角判斷問題。由于反正切值在-π/2到π/2之間,而方位角卻在0到2π之間。因此,必須先判斷方位角所在的象限,然后加以處理。

(5)角度轉(zhuǎn)換問題。在計(jì)算坐標(biāo)時(shí),正弦和余弦是用弧度計(jì)算的,而放樣方位角是用度分秒的形式表示,這些都需要注意弧度與度分秒之間的轉(zhuǎn)換。

(6)中樁樁號(hào)和樁間距設(shè)置問題。道路工程中,習(xí)慣用“k××+×××”的形式表示樁號(hào),在程序中要作特殊處理,以便在計(jì)算結(jié)果中符合這一習(xí)慣;樁間距可根據(jù)實(shí)際,隨時(shí)設(shè)置為任一數(shù)值。若程序稍作改動(dòng),還可以計(jì)算任一中樁及邊樁處對(duì)應(yīng)的坐標(biāo)和放樣數(shù)據(jù)。

5 結(jié)束語(yǔ)

長(zhǎng)期以來(lái),在公路設(shè)計(jì)外業(yè)及施工階段,測(cè)設(shè)工作的作業(yè)效率嚴(yán)重制約著整個(gè)工期進(jìn)度。利用坐標(biāo)進(jìn)行路線中邊樁點(diǎn)位放樣,其核心工作是要先計(jì)算路線中線上任一中樁點(diǎn)的坐標(biāo)。本文結(jié)合道路測(cè)設(shè)數(shù)據(jù)處理的整個(gè)過程,重點(diǎn)論述了運(yùn)用Excel VBA編程實(shí)現(xiàn)道路工程測(cè)設(shè)有關(guān)計(jì)算的方法,闡述了其特點(diǎn)、要點(diǎn)和注意事項(xiàng),實(shí)現(xiàn)了在一個(gè)主界面下幾個(gè)相關(guān)程序的集合,對(duì)計(jì)算結(jié)果以Excel文檔形式保存或打印輸出,給生產(chǎn)一線技術(shù)人員進(jìn)行資料整理提供了極大的方便。相對(duì)于各種專業(yè)道路測(cè)設(shè)處理軟件,Excel VBA具有適應(yīng)范圍廣,界面友好、使用方便直觀、操作簡(jiǎn)單、計(jì)算速度快等優(yōu)點(diǎn)以及良好的群眾應(yīng)用基礎(chǔ)等優(yōu)勢(shì),值得進(jìn)一步推廣和應(yīng)用。

[1]馬 騄.新概念Excel2003教程[M].北京:科學(xué)出版社,2006

[2]鹿利軍.Excel在建筑物變形測(cè)量數(shù)據(jù)分析中的應(yīng)用[J].北京測(cè)繪,2005(4)

[3]徐 謖.Visual Basic應(yīng)用與開發(fā)案例教程[M].北京:清華大學(xué)出版社,2005

[4]鐘孝順,聶 讓.測(cè)量學(xué)[M].北京:人民交通出版社,1997

猜你喜歡
單元格方位角數(shù)據(jù)處理
認(rèn)知診斷缺失數(shù)據(jù)處理方法的比較:零替換、多重插補(bǔ)與極大似然估計(jì)法*
ILWT-EEMD數(shù)據(jù)處理的ELM滾動(dòng)軸承故障診斷
探究無(wú)線電方位在無(wú)線電領(lǐng)航教學(xué)中的作用和意義
卷宗(2021年2期)2021-03-09 07:57:24
玩轉(zhuǎn)方格
玩轉(zhuǎn)方格
近地磁尾方位角流期間的場(chǎng)向電流增強(qiáng)
淺談Excel中常見統(tǒng)計(jì)個(gè)數(shù)函數(shù)的用法
西部皮革(2018年6期)2018-05-07 06:41:07
基于希爾伯特- 黃變換的去噪法在外測(cè)數(shù)據(jù)處理中的應(yīng)用
向量?jī)?nèi)外積在直線坐標(biāo)方位角反算中的應(yīng)用研究
河南科技(2015年18期)2015-11-25 08:50:14
基于POS AV610與PPP的車輛導(dǎo)航數(shù)據(jù)處理
崇信县| 页游| 沾化县| 波密县| 麻城市| 瓦房店市| 宁强县| 仙桃市| 富锦市| 岚皋县| 河间市| 乐陵市| 年辖:市辖区| 衡东县| 乌苏市| 靖西县| 新乐市| 当涂县| 湛江市| 鹤山市| 舞钢市| 岑巩县| 洪雅县| 荣昌县| 杭州市| 河北区| 雅江县| 宁国市| 黄龙县| 许昌市| 临汾市| 德阳市| 河南省| 五家渠市| 西畴县| 正蓝旗| 紫金县| 乌拉特后旗| 兴文县| 武胜县| 开封县|