淺談基于Excel的道路工程計算技術論文
淺談基于Excel的道路工程計算技術論文
道路工程是從事道路的規(guī)劃、勘測、設計、施工、養(yǎng)護等的一門應用科學和技術。是土木工程的一個分支。以下是學習啦小編今天為大家精心準備的:淺談基于Excel 的道路工程計算技術相關論文。內容僅供參考,歡迎閱讀!
淺談基于Excel 的道路工程計算技術全文如下:
道路工程的施工現(xiàn)場數(shù)據(jù)(施工放樣、數(shù)量計算等)采用手工計算(各種計算器)具有直觀好理解的有點,缺點是易出錯、效率低。用傳統(tǒng)的編程方法(VB、VC 等)優(yōu)點是計算準確、效率高,缺點是需要編制專用的程序,需要專業(yè)人員有很好的編程能力,使用者需要一定的培訓。基于此,引入Excel 進行相應計算,數(shù)據(jù)的輸入輸出(均在Excel 界面)變得十分直觀、高效,計算過程可以采用插入函數(shù)計算等,在廣大工程人員中有了廣泛應用;但是,仔細分析尚有如下不足:
①數(shù)據(jù)的輸入、輸出在一個界面,操作時宜相互干擾,宜造成原始數(shù)據(jù)易改動,數(shù)據(jù)量大時,操作界面數(shù)據(jù)類型多、混亂;
②對自定義函數(shù)應用較少,所定義的公式過于簡單、缺乏可維護性;
③因為缺乏對高級函數(shù)的應用,數(shù)據(jù)引用處于較低水平,方法不易分工協(xié)作;
?、苷J為VBA 就是編程,多數(shù)人退避三舍,造成批量數(shù)據(jù)計算手工操作過多,效率低、強度高。
下面以常見的已知導線點坐標、已知中樁坐標,按指定導線點為測站和后視點計算極坐標放樣數(shù)據(jù)的excel 過程來展示基于數(shù)據(jù)管理、檢索、批量數(shù)據(jù)處理系統(tǒng)過程、高級函數(shù)、自定義函數(shù)和VBA 程序。
1 界面設計
“導線點”表單、“中樁坐標”表單向“總控界面”表單提供數(shù)據(jù)檢索和關聯(lián)的原始數(shù)據(jù),總控界面計算單個放樣數(shù)據(jù)、同時可以批量計算數(shù)據(jù)填寫于“批量計算”表單。
總控界面可以自動檢索“導線點”表單導線點個數(shù)、“中樁坐標”表單中樁個數(shù),測站、后視點、開始樁號、結束樁號、單個中樁(樁號)均采用下拉列表選擇,相應的坐標(X,Y)自動檢索后填充于表格,這樣可以防止數(shù)據(jù)出錯、同時方便數(shù)據(jù)分類管理。
2 關鍵技術
以下主要討論:單個數(shù)據(jù)防止出錯,需要檢索;批量數(shù)據(jù)處理需要VBA 對單元格調用。
2.1 高級內置函數(shù)應用:數(shù)據(jù)管理、數(shù)據(jù)聯(lián)動檢索使用
2.1.1 VLOOKUP 函數(shù)
本文基于office 2013 版本寫作(其他版本的office可供參考)。該函數(shù)的主要功能:按著查找目標把其他表單對應值返回當前單元格—把具有相同查找目標的值從其他表單返回當前表單指定位置。 “主控界面”(B9 即第2 列第9 行)下拉列表找到單個中樁的樁號(K115+500),則后面兩列(C9、D9)中通過該函數(shù)自動檢索到“中樁坐標”表單對應的X、Y 值(4038008.989、531541.360)。
VLOOKUP 函數(shù)的調用格式VLOOKUP 函數(shù)的調用基本格式為:VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)。
VLOOKUP 函數(shù)的進一步說明,VLOOKUP (查找目標,查找范圍,返回值的列數(shù),精確OR 模糊查找):
查找目標:VLOOKUP (B10, 中樁坐標! $A
淺談基于Excel的道路工程計算技術論文
道路工程是從事道路的規(guī)劃、勘測、設計、施工、養(yǎng)護等的一門應用科學和技術。是土木工程的一個分支。以下是學習啦小編今天為大家精心準備的:淺談基于Excel 的道路工程計算技術相關論文。內容僅供參考,歡迎閱讀!
淺談基于Excel 的道路工程計算技術全文如下:
道路工程的施工現(xiàn)場數(shù)據(jù)(施工放樣、數(shù)量計算等)采用手工計算(各種計算器)具有直觀好理解的有點,缺點是易出錯、效率低。用傳統(tǒng)的編程方法(VB、VC 等)優(yōu)點是計算準確、效率高,缺點是需要編制專用的程序,需要專業(yè)人員有很好的編程能力,使用者需要一定的培訓。基于此,引入Excel 進行相應計算,數(shù)據(jù)的輸入輸出(均在Excel 界面)變得十分直觀、高效,計算過程可以采用插入函數(shù)計算等,在廣大工程人員中有了廣泛應用;但是,仔細分析尚有如下不足:
?、贁?shù)據(jù)的輸入、輸出在一個界面,操作時宜相互干擾,宜造成原始數(shù)據(jù)易改動,數(shù)據(jù)量大時,操作界面數(shù)據(jù)類型多、混亂;
?、趯ψ远x函數(shù)應用較少,所定義的公式過于簡單、缺乏可維護性;
?、垡驗槿狈Ω呒壓瘮?shù)的應用,數(shù)據(jù)引用處于較低水平,方法不易分工協(xié)作;
④認為VBA 就是編程,多數(shù)人退避三舍,造成批量數(shù)據(jù)計算手工操作過多,效率低、強度高。
下面以常見的已知導線點坐標、已知中樁坐標,按指定導線點為測站和后視點計算極坐標放樣數(shù)據(jù)的excel 過程來展示基于數(shù)據(jù)管理、檢索、批量數(shù)據(jù)處理系統(tǒng)過程、高級函數(shù)、自定義函數(shù)和VBA 程序。
1 界面設計
“導線點”表單、“中樁坐標”表單向“總控界面”表單提供數(shù)據(jù)檢索和關聯(lián)的原始數(shù)據(jù),總控界面計算單個放樣數(shù)據(jù)、同時可以批量計算數(shù)據(jù)填寫于“批量計算”表單。
總控界面可以自動檢索“導線點”表單導線點個數(shù)、“中樁坐標”表單中樁個數(shù),測站、后視點、開始樁號、結束樁號、單個中樁(樁號)均采用下拉列表選擇,相應的坐標(X,Y)自動檢索后填充于表格,這樣可以防止數(shù)據(jù)出錯、同時方便數(shù)據(jù)分類管理。
2 關鍵技術
以下主要討論:單個數(shù)據(jù)防止出錯,需要檢索;批量數(shù)據(jù)處理需要VBA 對單元格調用。
2.1 高級內置函數(shù)應用:數(shù)據(jù)管理、數(shù)據(jù)聯(lián)動檢索使用
2.1.1 VLOOKUP 函數(shù)
本文基于office 2013 版本寫作(其他版本的office可供參考)。該函數(shù)的主要功能:按著查找目標把其他表單對應值返回當前單元格—把具有相同查找目標的值從其他表單返回當前表單指定位置。 “主控界面”(B9 即第2 列第9 行)下拉列表找到單個中樁的樁號(K115+500),則后面兩列(C9、D9)中通過該函數(shù)自動檢索到“中樁坐標”表單對應的X、Y 值(4038008.989、531541.360)。
VLOOKUP 函數(shù)的調用格式VLOOKUP 函數(shù)的調用基本格式為:VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)。
VLOOKUP 函數(shù)的進一步說明,VLOOKUP (查找目標,查找范圍,返回值的列數(shù),精確OR 模糊查找):
查找目標:VLOOKUP (B10, 中樁坐標! $A$2: $C$999999,2,FALSE)中的第一個參數(shù)—“B10”,即中樁樁號,當前為“ZK115+500”。
查找范圍:VLOOKUP (B10, 中樁坐標! $A $2: $C$999999,2,FALSE)中的第二個參數(shù)—“中樁坐標! $A$2:$C$999999”,即 “中樁坐標”表單的A~C 列1-999999 行的區(qū)域,999999—是區(qū)域的行數(shù),可以根據(jù)需要進行相應變化。
需要特別注意的是:查找目標(樁號列)一定要在該區(qū)域的第一列;該區(qū)域中一定要包含要返回值所在的列,本例中要返回的值是X。
返回值的列數(shù):VLOOKUP(B10,中樁坐標! $A$2:$C$999999,2,FALSE)中的第3 個參數(shù)—“2”,它是一個整數(shù)值。它是“返回值”在第二個參數(shù)給定的區(qū)域中的列數(shù)。
本例中我們要返回的是“X”,它是第二個參數(shù)查找范圍“中樁坐標! $A$2:$C$999999”的第2 列。這里一定要注意,列數(shù)不是在工作表中的列數(shù),而是在查找范圍區(qū)域的第幾列。
精確OR 模糊查找:VLOOKUP(B10,中樁坐標! $A$2:$C$999999,2,F(xiàn)ALSE)中最后一個參數(shù)—“FALSE”,是決定函數(shù)精確和模糊查找的關鍵。精確即完全一樣,模糊即包含的意思。第4 個參數(shù)如果指定值是0 或FALSE 就表示精確查找,而值為1 或TRUE 時則表示模糊。
2.1.2 excel 單元格下拉列表的建立
excel 單元格下拉列表的建立流程(以excel2013 為例):
數(shù)據(jù)驗證→數(shù)據(jù)驗證→設置→序列→來源→選定所需表單對應的列。
以設置導線點的測站為例(后視點、開始樁號、結束樁號、單個中樁也需要類似設置),需要選擇導線點表單的第一列數(shù)據(jù)。
2.2 自定義函數(shù):數(shù)據(jù)格式、方位角計算函數(shù)統(tǒng)一的全局常量定義,所有模塊均用到此常量,這樣其他模塊均可以用到常量Pi 的值。原代碼如下:
Public Const pi = 3.1415926
2.2.1 數(shù)據(jù)格式函數(shù)
radtodms(rad)函數(shù)功能:把弧度轉變?yōu)槎确置?,度、分均為整?shù),秒為保留一位小數(shù)的數(shù)值。rad 為參數(shù),radtodms 為函數(shù),源代碼如下:
Function radtodms(rad)
degree = rad * 180 / pi
d = Int(degree)
f = Int((degree - d) * 60)
s = Int(((degree - d - f / 60) * 3600) * 10) / 10
radtodms = Str$(d) + "°" + LTrim(Str$(f)) + "′" +
LTrim(Str$(s)) + "″"
End Function
2.2.2 方位角計算函數(shù)
fwj(dx, dy)函數(shù),dx、dy 分別為某點相對于測站的X、Y 的坐標增量;fwj 為對應于dx、dy 的方位角,方位角計算結果單位為弧度。dx=0 時,需要單獨討論。
Function fwj(dx, dy)
If dx = 0 Then
If dy = 0 Then fwj = "出錯!"
If dy > 0 Then fwj = pi / 2
If dy < 0 Then fwj = pi * 3 / 2
Else
xxj = Atn(Abs(dy / dx))
If dx >= 0 And dy > 0 Then fwj = xxj
If dx <= 0 And dy > 0 Then fwj = pi - xxj
If dx <= 0 And dy < 0 Then fwj = pi + xxj
If dx >= 0 And dy < 0 Then fwj = 2 * pi - xxj
End If
End Function
2.2.3 夾角計算
當放樣采用極坐標夾角方式時,后視方向的坐標增量為dtx, dty,中樁方向的坐標增量為dx, dy,jiajiao 為計算結果,是中樁方向方位角與后視方向方位角的差。
Function jiajiao(dx, dy, dtx, dty)
' 計算后視方向
hs = fwj(dtx, dty)
' 計算單個中樁夾角
jiajiao = fwj(dx, dy) - hs
If jiajiao < 0 Then jiajiao = jiajiao + 2 * pi
If jiajiao > 2 * pi Then jiajiao = jiajiao - 2 * pi
End Function
2.3 VBA程序開發(fā)——批量計算數(shù)據(jù)
計算后視方位角,確定計算范圍,表頭填寫,逐樁方位角計算、距離計算、夾角計算,數(shù)據(jù)回填表格。
核心技術是表格的引用。以源代碼中的第五行為例,“Worksheets("主控界面").Cells(4,3)”其他的引用可以參照此。既可以從單元格提取信息(一般提取信息為文本,必要時需要通過VAL 函數(shù)轉變?yōu)閿?shù)值才能參加計算)也可以單元格寫入信息。源代碼略。
3 運行過程
運行總體步驟如下:
第一步:輸入原始數(shù)據(jù)表單并校核;
第二步:利用下拉列表選擇測站點編號、后視點編號、單個中樁樁號,此時excel 自動計算該中樁對應的極坐標放樣數(shù)據(jù)—方位角和距離等;
第三步:選定開始樁號、結束樁號,批量計算放樣數(shù)據(jù)按鈕。
4 結論
本文通過創(chuàng)建excel 模板文件解決的問題如下:
?、賳蝹€數(shù)據(jù)計算為了防止輸入錯誤采用了下拉列表與Vlookup 函數(shù)組合的方式;
?、跒榱送瓿蓡蝹€數(shù)據(jù)的計算、格式化自定義了若干函數(shù)并予以引用舉例;
?、蹫榱送瓿膳繑?shù)據(jù)計算編制了VBA 程序。
對于道路工程施工數(shù)據(jù)數(shù)據(jù)計算過程具有高效、防錯等作用。本計算思路不但可以用于施工計算,也可以用于設計計算。
相關文章:
6.淺談數(shù)字媒體技術與數(shù)字媒體藝術的融合論文
: $C9999,2,FALSE)中的第一個參數(shù)—“B10”,即中樁樁號,當前為“ZK115+500”。查找范圍:VLOOKUP (B10, 中樁坐標! $A
淺談基于Excel的道路工程計算技術論文
道路工程是從事道路的規(guī)劃、勘測、設計、施工、養(yǎng)護等的一門應用科學和技術。是土木工程的一個分支。以下是學習啦小編今天為大家精心準備的:淺談基于Excel 的道路工程計算技術相關論文。內容僅供參考,歡迎閱讀!
淺談基于Excel 的道路工程計算技術全文如下:
道路工程的施工現(xiàn)場數(shù)據(jù)(施工放樣、數(shù)量計算等)采用手工計算(各種計算器)具有直觀好理解的有點,缺點是易出錯、效率低。用傳統(tǒng)的編程方法(VB、VC 等)優(yōu)點是計算準確、效率高,缺點是需要編制專用的程序,需要專業(yè)人員有很好的編程能力,使用者需要一定的培訓。基于此,引入Excel 進行相應計算,數(shù)據(jù)的輸入輸出(均在Excel 界面)變得十分直觀、高效,計算過程可以采用插入函數(shù)計算等,在廣大工程人員中有了廣泛應用;但是,仔細分析尚有如下不足:
?、贁?shù)據(jù)的輸入、輸出在一個界面,操作時宜相互干擾,宜造成原始數(shù)據(jù)易改動,數(shù)據(jù)量大時,操作界面數(shù)據(jù)類型多、混亂;
?、趯ψ远x函數(shù)應用較少,所定義的公式過于簡單、缺乏可維護性;
③因為缺乏對高級函數(shù)的應用,數(shù)據(jù)引用處于較低水平,方法不易分工協(xié)作;
?、苷J為VBA 就是編程,多數(shù)人退避三舍,造成批量數(shù)據(jù)計算手工操作過多,效率低、強度高。
下面以常見的已知導線點坐標、已知中樁坐標,按指定導線點為測站和后視點計算極坐標放樣數(shù)據(jù)的excel 過程來展示基于數(shù)據(jù)管理、檢索、批量數(shù)據(jù)處理系統(tǒng)過程、高級函數(shù)、自定義函數(shù)和VBA 程序。
1 界面設計
“導線點”表單、“中樁坐標”表單向“總控界面”表單提供數(shù)據(jù)檢索和關聯(lián)的原始數(shù)據(jù),總控界面計算單個放樣數(shù)據(jù)、同時可以批量計算數(shù)據(jù)填寫于“批量計算”表單。
總控界面可以自動檢索“導線點”表單導線點個數(shù)、“中樁坐標”表單中樁個數(shù),測站、后視點、開始樁號、結束樁號、單個中樁(樁號)均采用下拉列表選擇,相應的坐標(X,Y)自動檢索后填充于表格,這樣可以防止數(shù)據(jù)出錯、同時方便數(shù)據(jù)分類管理。
2 關鍵技術
以下主要討論:單個數(shù)據(jù)防止出錯,需要檢索;批量數(shù)據(jù)處理需要VBA 對單元格調用。
2.1 高級內置函數(shù)應用:數(shù)據(jù)管理、數(shù)據(jù)聯(lián)動檢索使用
2.1.1 VLOOKUP 函數(shù)
本文基于office 2013 版本寫作(其他版本的office可供參考)。該函數(shù)的主要功能:按著查找目標把其他表單對應值返回當前單元格—把具有相同查找目標的值從其他表單返回當前表單指定位置。 “主控界面”(B9 即第2 列第9 行)下拉列表找到單個中樁的樁號(K115+500),則后面兩列(C9、D9)中通過該函數(shù)自動檢索到“中樁坐標”表單對應的X、Y 值(4038008.989、531541.360)。
VLOOKUP 函數(shù)的調用格式VLOOKUP 函數(shù)的調用基本格式為:VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)。
VLOOKUP 函數(shù)的進一步說明,VLOOKUP (查找目標,查找范圍,返回值的列數(shù),精確OR 模糊查找):
查找目標:VLOOKUP (B10, 中樁坐標! $A$2: $C$999999,2,FALSE)中的第一個參數(shù)—“B10”,即中樁樁號,當前為“ZK115+500”。
查找范圍:VLOOKUP (B10, 中樁坐標! $A $2: $C$999999,2,FALSE)中的第二個參數(shù)—“中樁坐標! $A$2:$C$999999”,即 “中樁坐標”表單的A~C 列1-999999 行的區(qū)域,999999—是區(qū)域的行數(shù),可以根據(jù)需要進行相應變化。
需要特別注意的是:查找目標(樁號列)一定要在該區(qū)域的第一列;該區(qū)域中一定要包含要返回值所在的列,本例中要返回的值是X。
返回值的列數(shù):VLOOKUP(B10,中樁坐標! $A$2:$C$999999,2,FALSE)中的第3 個參數(shù)—“2”,它是一個整數(shù)值。它是“返回值”在第二個參數(shù)給定的區(qū)域中的列數(shù)。
本例中我們要返回的是“X”,它是第二個參數(shù)查找范圍“中樁坐標! $A$2:$C$999999”的第2 列。這里一定要注意,列數(shù)不是在工作表中的列數(shù),而是在查找范圍區(qū)域的第幾列。
精確OR 模糊查找:VLOOKUP(B10,中樁坐標! $A$2:$C$999999,2,F(xiàn)ALSE)中最后一個參數(shù)—“FALSE”,是決定函數(shù)精確和模糊查找的關鍵。精確即完全一樣,模糊即包含的意思。第4 個參數(shù)如果指定值是0 或FALSE 就表示精確查找,而值為1 或TRUE 時則表示模糊。
2.1.2 excel 單元格下拉列表的建立
excel 單元格下拉列表的建立流程(以excel2013 為例):
數(shù)據(jù)驗證→數(shù)據(jù)驗證→設置→序列→來源→選定所需表單對應的列。
以設置導線點的測站為例(后視點、開始樁號、結束樁號、單個中樁也需要類似設置),需要選擇導線點表單的第一列數(shù)據(jù)。
2.2 自定義函數(shù):數(shù)據(jù)格式、方位角計算函數(shù)統(tǒng)一的全局常量定義,所有模塊均用到此常量,這樣其他模塊均可以用到常量Pi 的值。原代碼如下:
Public Const pi = 3.1415926
2.2.1 數(shù)據(jù)格式函數(shù)
radtodms(rad)函數(shù)功能:把弧度轉變?yōu)槎确置?,度、分均為整?shù),秒為保留一位小數(shù)的數(shù)值。rad 為參數(shù),radtodms 為函數(shù),源代碼如下:
Function radtodms(rad)
degree = rad * 180 / pi
d = Int(degree)
f = Int((degree - d) * 60)
s = Int(((degree - d - f / 60) * 3600) * 10) / 10
radtodms = Str$(d) + "°" + LTrim(Str$(f)) + "′" +
LTrim(Str$(s)) + "″"
End Function
2.2.2 方位角計算函數(shù)
fwj(dx, dy)函數(shù),dx、dy 分別為某點相對于測站的X、Y 的坐標增量;fwj 為對應于dx、dy 的方位角,方位角計算結果單位為弧度。dx=0 時,需要單獨討論。
Function fwj(dx, dy)
If dx = 0 Then
If dy = 0 Then fwj = "出錯!"
If dy > 0 Then fwj = pi / 2
If dy < 0 Then fwj = pi * 3 / 2
Else
xxj = Atn(Abs(dy / dx))
If dx >= 0 And dy > 0 Then fwj = xxj
If dx <= 0 And dy > 0 Then fwj = pi - xxj
If dx <= 0 And dy < 0 Then fwj = pi + xxj
If dx >= 0 And dy < 0 Then fwj = 2 * pi - xxj
End If
End Function
2.2.3 夾角計算
當放樣采用極坐標夾角方式時,后視方向的坐標增量為dtx, dty,中樁方向的坐標增量為dx, dy,jiajiao 為計算結果,是中樁方向方位角與后視方向方位角的差。
Function jiajiao(dx, dy, dtx, dty)
' 計算后視方向
hs = fwj(dtx, dty)
' 計算單個中樁夾角
jiajiao = fwj(dx, dy) - hs
If jiajiao < 0 Then jiajiao = jiajiao + 2 * pi
If jiajiao > 2 * pi Then jiajiao = jiajiao - 2 * pi
End Function
2.3 VBA程序開發(fā)——批量計算數(shù)據(jù)
計算后視方位角,確定計算范圍,表頭填寫,逐樁方位角計算、距離計算、夾角計算,數(shù)據(jù)回填表格。
核心技術是表格的引用。以源代碼中的第五行為例,“Worksheets("主控界面").Cells(4,3)”其他的引用可以參照此。既可以從單元格提取信息(一般提取信息為文本,必要時需要通過VAL 函數(shù)轉變?yōu)閿?shù)值才能參加計算)也可以單元格寫入信息。源代碼略。
3 運行過程
運行總體步驟如下:
第一步:輸入原始數(shù)據(jù)表單并校核;
第二步:利用下拉列表選擇測站點編號、后視點編號、單個中樁樁號,此時excel 自動計算該中樁對應的極坐標放樣數(shù)據(jù)—方位角和距離等;
第三步:選定開始樁號、結束樁號,批量計算放樣數(shù)據(jù)按鈕。
4 結論
本文通過創(chuàng)建excel 模板文件解決的問題如下:
①單個數(shù)據(jù)計算為了防止輸入錯誤采用了下拉列表與Vlookup 函數(shù)組合的方式;
?、跒榱送瓿蓡蝹€數(shù)據(jù)的計算、格式化自定義了若干函數(shù)并予以引用舉例;
?、蹫榱送瓿膳繑?shù)據(jù)計算編制了VBA 程序。
對于道路工程施工數(shù)據(jù)數(shù)據(jù)計算過程具有高效、防錯等作用。本計算思路不但可以用于施工計算,也可以用于設計計算。
相關文章:
6.淺談數(shù)字媒體技術與數(shù)字媒體藝術的融合論文
: $C9999,2,FALSE)中的第二個參數(shù)—“中樁坐標! $A淺談基于Excel的道路工程計算技術論文
道路工程是從事道路的規(guī)劃、勘測、設計、施工、養(yǎng)護等的一門應用科學和技術。是土木工程的一個分支。以下是學習啦小編今天為大家精心準備的:淺談基于Excel 的道路工程計算技術相關論文。內容僅供參考,歡迎閱讀!
淺談基于Excel 的道路工程計算技術全文如下:
道路工程的施工現(xiàn)場數(shù)據(jù)(施工放樣、數(shù)量計算等)采用手工計算(各種計算器)具有直觀好理解的有點,缺點是易出錯、效率低。用傳統(tǒng)的編程方法(VB、VC 等)優(yōu)點是計算準確、效率高,缺點是需要編制專用的程序,需要專業(yè)人員有很好的編程能力,使用者需要一定的培訓?;诖?,引入Excel 進行相應計算,數(shù)據(jù)的輸入輸出(均在Excel 界面)變得十分直觀、高效,計算過程可以采用插入函數(shù)計算等,在廣大工程人員中有了廣泛應用;但是,仔細分析尚有如下不足:
①數(shù)據(jù)的輸入、輸出在一個界面,操作時宜相互干擾,宜造成原始數(shù)據(jù)易改動,數(shù)據(jù)量大時,操作界面數(shù)據(jù)類型多、混亂;
?、趯ψ远x函數(shù)應用較少,所定義的公式過于簡單、缺乏可維護性;
③因為缺乏對高級函數(shù)的應用,數(shù)據(jù)引用處于較低水平,方法不易分工協(xié)作;
④認為VBA 就是編程,多數(shù)人退避三舍,造成批量數(shù)據(jù)計算手工操作過多,效率低、強度高。
下面以常見的已知導線點坐標、已知中樁坐標,按指定導線點為測站和后視點計算極坐標放樣數(shù)據(jù)的excel 過程來展示基于數(shù)據(jù)管理、檢索、批量數(shù)據(jù)處理系統(tǒng)過程、高級函數(shù)、自定義函數(shù)和VBA 程序。
1 界面設計
“導線點”表單、“中樁坐標”表單向“總控界面”表單提供數(shù)據(jù)檢索和關聯(lián)的原始數(shù)據(jù),總控界面計算單個放樣數(shù)據(jù)、同時可以批量計算數(shù)據(jù)填寫于“批量計算”表單。
總控界面可以自動檢索“導線點”表單導線點個數(shù)、“中樁坐標”表單中樁個數(shù),測站、后視點、開始樁號、結束樁號、單個中樁(樁號)均采用下拉列表選擇,相應的坐標(X,Y)自動檢索后填充于表格,這樣可以防止數(shù)據(jù)出錯、同時方便數(shù)據(jù)分類管理。
2 關鍵技術
以下主要討論:單個數(shù)據(jù)防止出錯,需要檢索;批量數(shù)據(jù)處理需要VBA 對單元格調用。
2.1 高級內置函數(shù)應用:數(shù)據(jù)管理、數(shù)據(jù)聯(lián)動檢索使用
2.1.1 VLOOKUP 函數(shù)
本文基于office 2013 版本寫作(其他版本的office可供參考)。該函數(shù)的主要功能:按著查找目標把其他表單對應值返回當前單元格—把具有相同查找目標的值從其他表單返回當前表單指定位置。 “主控界面”(B9 即第2 列第9 行)下拉列表找到單個中樁的樁號(K115+500),則后面兩列(C9、D9)中通過該函數(shù)自動檢索到“中樁坐標”表單對應的X、Y 值(4038008.989、531541.360)。
VLOOKUP 函數(shù)的調用格式VLOOKUP 函數(shù)的調用基本格式為:VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)。
VLOOKUP 函數(shù)的進一步說明,VLOOKUP (查找目標,查找范圍,返回值的列數(shù),精確OR 模糊查找):
查找目標:VLOOKUP (B10, 中樁坐標! $A$2: $C$999999,2,FALSE)中的第一個參數(shù)—“B10”,即中樁樁號,當前為“ZK115+500”。
查找范圍:VLOOKUP (B10, 中樁坐標! $A $2: $C$999999,2,FALSE)中的第二個參數(shù)—“中樁坐標! $A$2:$C$999999”,即 “中樁坐標”表單的A~C 列1-999999 行的區(qū)域,999999—是區(qū)域的行數(shù),可以根據(jù)需要進行相應變化。
需要特別注意的是:查找目標(樁號列)一定要在該區(qū)域的第一列;該區(qū)域中一定要包含要返回值所在的列,本例中要返回的值是X。
返回值的列數(shù):VLOOKUP(B10,中樁坐標! $A$2:$C$999999,2,FALSE)中的第3 個參數(shù)—“2”,它是一個整數(shù)值。它是“返回值”在第二個參數(shù)給定的區(qū)域中的列數(shù)。
本例中我們要返回的是“X”,它是第二個參數(shù)查找范圍“中樁坐標! $A$2:$C$999999”的第2 列。這里一定要注意,列數(shù)不是在工作表中的列數(shù),而是在查找范圍區(qū)域的第幾列。
精確OR 模糊查找:VLOOKUP(B10,中樁坐標! $A$2:$C$999999,2,F(xiàn)ALSE)中最后一個參數(shù)—“FALSE”,是決定函數(shù)精確和模糊查找的關鍵。精確即完全一樣,模糊即包含的意思。第4 個參數(shù)如果指定值是0 或FALSE 就表示精確查找,而值為1 或TRUE 時則表示模糊。
2.1.2 excel 單元格下拉列表的建立
excel 單元格下拉列表的建立流程(以excel2013 為例):
數(shù)據(jù)驗證→數(shù)據(jù)驗證→設置→序列→來源→選定所需表單對應的列。
以設置導線點的測站為例(后視點、開始樁號、結束樁號、單個中樁也需要類似設置),需要選擇導線點表單的第一列數(shù)據(jù)。
2.2 自定義函數(shù):數(shù)據(jù)格式、方位角計算函數(shù)統(tǒng)一的全局常量定義,所有模塊均用到此常量,這樣其他模塊均可以用到常量Pi 的值。原代碼如下:
Public Const pi = 3.1415926
2.2.1 數(shù)據(jù)格式函數(shù)
radtodms(rad)函數(shù)功能:把弧度轉變?yōu)槎确置?,度、分均為整?shù),秒為保留一位小數(shù)的數(shù)值。rad 為參數(shù),radtodms 為函數(shù),源代碼如下:
Function radtodms(rad)
degree = rad * 180 / pi
d = Int(degree)
f = Int((degree - d) * 60)
s = Int(((degree - d - f / 60) * 3600) * 10) / 10
radtodms = Str$(d) + "°" + LTrim(Str$(f)) + "′" +
LTrim(Str$(s)) + "″"
End Function
2.2.2 方位角計算函數(shù)
fwj(dx, dy)函數(shù),dx、dy 分別為某點相對于測站的X、Y 的坐標增量;fwj 為對應于dx、dy 的方位角,方位角計算結果單位為弧度。dx=0 時,需要單獨討論。
Function fwj(dx, dy)
If dx = 0 Then
If dy = 0 Then fwj = "出錯!"
If dy > 0 Then fwj = pi / 2
If dy < 0 Then fwj = pi * 3 / 2
Else
xxj = Atn(Abs(dy / dx))
If dx >= 0 And dy > 0 Then fwj = xxj
If dx <= 0 And dy > 0 Then fwj = pi - xxj
If dx <= 0 And dy < 0 Then fwj = pi + xxj
If dx >= 0 And dy < 0 Then fwj = 2 * pi - xxj
End If
End Function
2.2.3 夾角計算
當放樣采用極坐標夾角方式時,后視方向的坐標增量為dtx, dty,中樁方向的坐標增量為dx, dy,jiajiao 為計算結果,是中樁方向方位角與后視方向方位角的差。
Function jiajiao(dx, dy, dtx, dty)
' 計算后視方向
hs = fwj(dtx, dty)
' 計算單個中樁夾角
jiajiao = fwj(dx, dy) - hs
If jiajiao < 0 Then jiajiao = jiajiao + 2 * pi
If jiajiao > 2 * pi Then jiajiao = jiajiao - 2 * pi
End Function
2.3 VBA程序開發(fā)——批量計算數(shù)據(jù)
計算后視方位角,確定計算范圍,表頭填寫,逐樁方位角計算、距離計算、夾角計算,數(shù)據(jù)回填表格。
核心技術是表格的引用。以源代碼中的第五行為例,“Worksheets("主控界面").Cells(4,3)”其他的引用可以參照此。既可以從單元格提取信息(一般提取信息為文本,必要時需要通過VAL 函數(shù)轉變?yōu)閿?shù)值才能參加計算)也可以單元格寫入信息。源代碼略。
3 運行過程
運行總體步驟如下:
第一步:輸入原始數(shù)據(jù)表單并校核;
第二步:利用下拉列表選擇測站點編號、后視點編號、單個中樁樁號,此時excel 自動計算該中樁對應的極坐標放樣數(shù)據(jù)—方位角和距離等;
第三步:選定開始樁號、結束樁號,批量計算放樣數(shù)據(jù)按鈕。
4 結論
本文通過創(chuàng)建excel 模板文件解決的問題如下:
?、賳蝹€數(shù)據(jù)計算為了防止輸入錯誤采用了下拉列表與Vlookup 函數(shù)組合的方式;
?、跒榱送瓿蓡蝹€數(shù)據(jù)的計算、格式化自定義了若干函數(shù)并予以引用舉例;
?、蹫榱送瓿膳繑?shù)據(jù)計算編制了VBA 程序。
對于道路工程施工數(shù)據(jù)數(shù)據(jù)計算過程具有高效、防錯等作用。本計算思路不但可以用于施工計算,也可以用于設計計算。
相關文章:
6.淺談數(shù)字媒體技術與數(shù)字媒體藝術的融合論文
:$C9999”,即 “中樁坐標”表單的A~C 列1-999999 行的區(qū)域,999999—是區(qū)域的行數(shù),可以根據(jù)需要進行相應變化。需要特別注意的是:查找目標(樁號列)一定要在該區(qū)域的第一列;該區(qū)域中一定要包含要返回值所在的列,本例中要返回的值是X。
返回值的列數(shù):VLOOKUP(B10,中樁坐標! $A
淺談基于Excel的道路工程計算技術論文
道路工程是從事道路的規(guī)劃、勘測、設計、施工、養(yǎng)護等的一門應用科學和技術。是土木工程的一個分支。以下是學習啦小編今天為大家精心準備的:淺談基于Excel 的道路工程計算技術相關論文。內容僅供參考,歡迎閱讀!
淺談基于Excel 的道路工程計算技術全文如下:
道路工程的施工現(xiàn)場數(shù)據(jù)(施工放樣、數(shù)量計算等)采用手工計算(各種計算器)具有直觀好理解的有點,缺點是易出錯、效率低。用傳統(tǒng)的編程方法(VB、VC 等)優(yōu)點是計算準確、效率高,缺點是需要編制專用的程序,需要專業(yè)人員有很好的編程能力,使用者需要一定的培訓。基于此,引入Excel 進行相應計算,數(shù)據(jù)的輸入輸出(均在Excel 界面)變得十分直觀、高效,計算過程可以采用插入函數(shù)計算等,在廣大工程人員中有了廣泛應用;但是,仔細分析尚有如下不足:
①數(shù)據(jù)的輸入、輸出在一個界面,操作時宜相互干擾,宜造成原始數(shù)據(jù)易改動,數(shù)據(jù)量大時,操作界面數(shù)據(jù)類型多、混亂;
②對自定義函數(shù)應用較少,所定義的公式過于簡單、缺乏可維護性;
?、垡驗槿狈Ω呒壓瘮?shù)的應用,數(shù)據(jù)引用處于較低水平,方法不易分工協(xié)作;
④認為VBA 就是編程,多數(shù)人退避三舍,造成批量數(shù)據(jù)計算手工操作過多,效率低、強度高。
下面以常見的已知導線點坐標、已知中樁坐標,按指定導線點為測站和后視點計算極坐標放樣數(shù)據(jù)的excel 過程來展示基于數(shù)據(jù)管理、檢索、批量數(shù)據(jù)處理系統(tǒng)過程、高級函數(shù)、自定義函數(shù)和VBA 程序。
1 界面設計
“導線點”表單、“中樁坐標”表單向“總控界面”表單提供數(shù)據(jù)檢索和關聯(lián)的原始數(shù)據(jù),總控界面計算單個放樣數(shù)據(jù)、同時可以批量計算數(shù)據(jù)填寫于“批量計算”表單。
總控界面可以自動檢索“導線點”表單導線點個數(shù)、“中樁坐標”表單中樁個數(shù),測站、后視點、開始樁號、結束樁號、單個中樁(樁號)均采用下拉列表選擇,相應的坐標(X,Y)自動檢索后填充于表格,這樣可以防止數(shù)據(jù)出錯、同時方便數(shù)據(jù)分類管理。
2 關鍵技術
以下主要討論:單個數(shù)據(jù)防止出錯,需要檢索;批量數(shù)據(jù)處理需要VBA 對單元格調用。
2.1 高級內置函數(shù)應用:數(shù)據(jù)管理、數(shù)據(jù)聯(lián)動檢索使用
2.1.1 VLOOKUP 函數(shù)
本文基于office 2013 版本寫作(其他版本的office可供參考)。該函數(shù)的主要功能:按著查找目標把其他表單對應值返回當前單元格—把具有相同查找目標的值從其他表單返回當前表單指定位置。 “主控界面”(B9 即第2 列第9 行)下拉列表找到單個中樁的樁號(K115+500),則后面兩列(C9、D9)中通過該函數(shù)自動檢索到“中樁坐標”表單對應的X、Y 值(4038008.989、531541.360)。
VLOOKUP 函數(shù)的調用格式VLOOKUP 函數(shù)的調用基本格式為:VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)。
VLOOKUP 函數(shù)的進一步說明,VLOOKUP (查找目標,查找范圍,返回值的列數(shù),精確OR 模糊查找):
查找目標:VLOOKUP (B10, 中樁坐標! $A$2: $C$999999,2,FALSE)中的第一個參數(shù)—“B10”,即中樁樁號,當前為“ZK115+500”。
查找范圍:VLOOKUP (B10, 中樁坐標! $A $2: $C$999999,2,FALSE)中的第二個參數(shù)—“中樁坐標! $A$2:$C$999999”,即 “中樁坐標”表單的A~C 列1-999999 行的區(qū)域,999999—是區(qū)域的行數(shù),可以根據(jù)需要進行相應變化。
需要特別注意的是:查找目標(樁號列)一定要在該區(qū)域的第一列;該區(qū)域中一定要包含要返回值所在的列,本例中要返回的值是X。
返回值的列數(shù):VLOOKUP(B10,中樁坐標! $A$2:$C$999999,2,FALSE)中的第3 個參數(shù)—“2”,它是一個整數(shù)值。它是“返回值”在第二個參數(shù)給定的區(qū)域中的列數(shù)。
本例中我們要返回的是“X”,它是第二個參數(shù)查找范圍“中樁坐標! $A$2:$C$999999”的第2 列。這里一定要注意,列數(shù)不是在工作表中的列數(shù),而是在查找范圍區(qū)域的第幾列。
精確OR 模糊查找:VLOOKUP(B10,中樁坐標! $A$2:$C$999999,2,F(xiàn)ALSE)中最后一個參數(shù)—“FALSE”,是決定函數(shù)精確和模糊查找的關鍵。精確即完全一樣,模糊即包含的意思。第4 個參數(shù)如果指定值是0 或FALSE 就表示精確查找,而值為1 或TRUE 時則表示模糊。
2.1.2 excel 單元格下拉列表的建立
excel 單元格下拉列表的建立流程(以excel2013 為例):
數(shù)據(jù)驗證→數(shù)據(jù)驗證→設置→序列→來源→選定所需表單對應的列。
以設置導線點的測站為例(后視點、開始樁號、結束樁號、單個中樁也需要類似設置),需要選擇導線點表單的第一列數(shù)據(jù)。
2.2 自定義函數(shù):數(shù)據(jù)格式、方位角計算函數(shù)統(tǒng)一的全局常量定義,所有模塊均用到此常量,這樣其他模塊均可以用到常量Pi 的值。原代碼如下:
Public Const pi = 3.1415926
2.2.1 數(shù)據(jù)格式函數(shù)
radtodms(rad)函數(shù)功能:把弧度轉變?yōu)槎确置耄?、分均為整?shù),秒為保留一位小數(shù)的數(shù)值。rad 為參數(shù),radtodms 為函數(shù),源代碼如下:
Function radtodms(rad)
degree = rad * 180 / pi
d = Int(degree)
f = Int((degree - d) * 60)
s = Int(((degree - d - f / 60) * 3600) * 10) / 10
radtodms = Str$(d) + "°" + LTrim(Str$(f)) + "′" +
LTrim(Str$(s)) + "″"
End Function
2.2.2 方位角計算函數(shù)
fwj(dx, dy)函數(shù),dx、dy 分別為某點相對于測站的X、Y 的坐標增量;fwj 為對應于dx、dy 的方位角,方位角計算結果單位為弧度。dx=0 時,需要單獨討論。
Function fwj(dx, dy)
If dx = 0 Then
If dy = 0 Then fwj = "出錯!"
If dy > 0 Then fwj = pi / 2
If dy < 0 Then fwj = pi * 3 / 2
Else
xxj = Atn(Abs(dy / dx))
If dx >= 0 And dy > 0 Then fwj = xxj
If dx <= 0 And dy > 0 Then fwj = pi - xxj
If dx <= 0 And dy < 0 Then fwj = pi + xxj
If dx >= 0 And dy < 0 Then fwj = 2 * pi - xxj
End If
End Function
2.2.3 夾角計算
當放樣采用極坐標夾角方式時,后視方向的坐標增量為dtx, dty,中樁方向的坐標增量為dx, dy,jiajiao 為計算結果,是中樁方向方位角與后視方向方位角的差。
Function jiajiao(dx, dy, dtx, dty)
' 計算后視方向
hs = fwj(dtx, dty)
' 計算單個中樁夾角
jiajiao = fwj(dx, dy) - hs
If jiajiao < 0 Then jiajiao = jiajiao + 2 * pi
If jiajiao > 2 * pi Then jiajiao = jiajiao - 2 * pi
End Function
2.3 VBA程序開發(fā)——批量計算數(shù)據(jù)
計算后視方位角,確定計算范圍,表頭填寫,逐樁方位角計算、距離計算、夾角計算,數(shù)據(jù)回填表格。
核心技術是表格的引用。以源代碼中的第五行為例,“Worksheets("主控界面").Cells(4,3)”其他的引用可以參照此。既可以從單元格提取信息(一般提取信息為文本,必要時需要通過VAL 函數(shù)轉變?yōu)閿?shù)值才能參加計算)也可以單元格寫入信息。源代碼略。
3 運行過程
運行總體步驟如下:
第一步:輸入原始數(shù)據(jù)表單并校核;
第二步:利用下拉列表選擇測站點編號、后視點編號、單個中樁樁號,此時excel 自動計算該中樁對應的極坐標放樣數(shù)據(jù)—方位角和距離等;
第三步:選定開始樁號、結束樁號,批量計算放樣數(shù)據(jù)按鈕。
4 結論
本文通過創(chuàng)建excel 模板文件解決的問題如下:
?、賳蝹€數(shù)據(jù)計算為了防止輸入錯誤采用了下拉列表與Vlookup 函數(shù)組合的方式;
?、跒榱送瓿蓡蝹€數(shù)據(jù)的計算、格式化自定義了若干函數(shù)并予以引用舉例;
?、蹫榱送瓿膳繑?shù)據(jù)計算編制了VBA 程序。
對于道路工程施工數(shù)據(jù)數(shù)據(jù)計算過程具有高效、防錯等作用。本計算思路不但可以用于施工計算,也可以用于設計計算。
相關文章:
6.淺談數(shù)字媒體技術與數(shù)字媒體藝術的融合論文
:$C9999,2,FALSE)中的第3 個參數(shù)—“2”,它是一個整數(shù)值。它是“返回值”在第二個參數(shù)給定的區(qū)域中的列數(shù)。本例中我們要返回的是“X”,它是第二個參數(shù)查找范圍“中樁坐標! $A
淺談基于Excel的道路工程計算技術論文
道路工程是從事道路的規(guī)劃、勘測、設計、施工、養(yǎng)護等的一門應用科學和技術。是土木工程的一個分支。以下是學習啦小編今天為大家精心準備的:淺談基于Excel 的道路工程計算技術相關論文。內容僅供參考,歡迎閱讀!
淺談基于Excel 的道路工程計算技術全文如下:
道路工程的施工現(xiàn)場數(shù)據(jù)(施工放樣、數(shù)量計算等)采用手工計算(各種計算器)具有直觀好理解的有點,缺點是易出錯、效率低。用傳統(tǒng)的編程方法(VB、VC 等)優(yōu)點是計算準確、效率高,缺點是需要編制專用的程序,需要專業(yè)人員有很好的編程能力,使用者需要一定的培訓?;诖?,引入Excel 進行相應計算,數(shù)據(jù)的輸入輸出(均在Excel 界面)變得十分直觀、高效,計算過程可以采用插入函數(shù)計算等,在廣大工程人員中有了廣泛應用;但是,仔細分析尚有如下不足:
?、贁?shù)據(jù)的輸入、輸出在一個界面,操作時宜相互干擾,宜造成原始數(shù)據(jù)易改動,數(shù)據(jù)量大時,操作界面數(shù)據(jù)類型多、混亂;
?、趯ψ远x函數(shù)應用較少,所定義的公式過于簡單、缺乏可維護性;
?、垡驗槿狈Ω呒壓瘮?shù)的應用,數(shù)據(jù)引用處于較低水平,方法不易分工協(xié)作;
④認為VBA 就是編程,多數(shù)人退避三舍,造成批量數(shù)據(jù)計算手工操作過多,效率低、強度高。
下面以常見的已知導線點坐標、已知中樁坐標,按指定導線點為測站和后視點計算極坐標放樣數(shù)據(jù)的excel 過程來展示基于數(shù)據(jù)管理、檢索、批量數(shù)據(jù)處理系統(tǒng)過程、高級函數(shù)、自定義函數(shù)和VBA 程序。
1 界面設計
“導線點”表單、“中樁坐標”表單向“總控界面”表單提供數(shù)據(jù)檢索和關聯(lián)的原始數(shù)據(jù),總控界面計算單個放樣數(shù)據(jù)、同時可以批量計算數(shù)據(jù)填寫于“批量計算”表單。
總控界面可以自動檢索“導線點”表單導線點個數(shù)、“中樁坐標”表單中樁個數(shù),測站、后視點、開始樁號、結束樁號、單個中樁(樁號)均采用下拉列表選擇,相應的坐標(X,Y)自動檢索后填充于表格,這樣可以防止數(shù)據(jù)出錯、同時方便數(shù)據(jù)分類管理。
2 關鍵技術
以下主要討論:單個數(shù)據(jù)防止出錯,需要檢索;批量數(shù)據(jù)處理需要VBA 對單元格調用。
2.1 高級內置函數(shù)應用:數(shù)據(jù)管理、數(shù)據(jù)聯(lián)動檢索使用
2.1.1 VLOOKUP 函數(shù)
本文基于office 2013 版本寫作(其他版本的office可供參考)。該函數(shù)的主要功能:按著查找目標把其他表單對應值返回當前單元格—把具有相同查找目標的值從其他表單返回當前表單指定位置。 “主控界面”(B9 即第2 列第9 行)下拉列表找到單個中樁的樁號(K115+500),則后面兩列(C9、D9)中通過該函數(shù)自動檢索到“中樁坐標”表單對應的X、Y 值(4038008.989、531541.360)。
VLOOKUP 函數(shù)的調用格式VLOOKUP 函數(shù)的調用基本格式為:VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)。
VLOOKUP 函數(shù)的進一步說明,VLOOKUP (查找目標,查找范圍,返回值的列數(shù),精確OR 模糊查找):
查找目標:VLOOKUP (B10, 中樁坐標! $A$2: $C$999999,2,FALSE)中的第一個參數(shù)—“B10”,即中樁樁號,當前為“ZK115+500”。
查找范圍:VLOOKUP (B10, 中樁坐標! $A $2: $C$999999,2,FALSE)中的第二個參數(shù)—“中樁坐標! $A$2:$C$999999”,即 “中樁坐標”表單的A~C 列1-999999 行的區(qū)域,999999—是區(qū)域的行數(shù),可以根據(jù)需要進行相應變化。
需要特別注意的是:查找目標(樁號列)一定要在該區(qū)域的第一列;該區(qū)域中一定要包含要返回值所在的列,本例中要返回的值是X。
返回值的列數(shù):VLOOKUP(B10,中樁坐標! $A$2:$C$999999,2,FALSE)中的第3 個參數(shù)—“2”,它是一個整數(shù)值。它是“返回值”在第二個參數(shù)給定的區(qū)域中的列數(shù)。
本例中我們要返回的是“X”,它是第二個參數(shù)查找范圍“中樁坐標! $A$2:$C$999999”的第2 列。這里一定要注意,列數(shù)不是在工作表中的列數(shù),而是在查找范圍區(qū)域的第幾列。
精確OR 模糊查找:VLOOKUP(B10,中樁坐標! $A$2:$C$999999,2,F(xiàn)ALSE)中最后一個參數(shù)—“FALSE”,是決定函數(shù)精確和模糊查找的關鍵。精確即完全一樣,模糊即包含的意思。第4 個參數(shù)如果指定值是0 或FALSE 就表示精確查找,而值為1 或TRUE 時則表示模糊。
2.1.2 excel 單元格下拉列表的建立
excel 單元格下拉列表的建立流程(以excel2013 為例):
數(shù)據(jù)驗證→數(shù)據(jù)驗證→設置→序列→來源→選定所需表單對應的列。
以設置導線點的測站為例(后視點、開始樁號、結束樁號、單個中樁也需要類似設置),需要選擇導線點表單的第一列數(shù)據(jù)。
2.2 自定義函數(shù):數(shù)據(jù)格式、方位角計算函數(shù)統(tǒng)一的全局常量定義,所有模塊均用到此常量,這樣其他模塊均可以用到常量Pi 的值。原代碼如下:
Public Const pi = 3.1415926
2.2.1 數(shù)據(jù)格式函數(shù)
radtodms(rad)函數(shù)功能:把弧度轉變?yōu)槎确置耄?、分均為整?shù),秒為保留一位小數(shù)的數(shù)值。rad 為參數(shù),radtodms 為函數(shù),源代碼如下:
Function radtodms(rad)
degree = rad * 180 / pi
d = Int(degree)
f = Int((degree - d) * 60)
s = Int(((degree - d - f / 60) * 3600) * 10) / 10
radtodms = Str$(d) + "°" + LTrim(Str$(f)) + "′" +
LTrim(Str$(s)) + "″"
End Function
2.2.2 方位角計算函數(shù)
fwj(dx, dy)函數(shù),dx、dy 分別為某點相對于測站的X、Y 的坐標增量;fwj 為對應于dx、dy 的方位角,方位角計算結果單位為弧度。dx=0 時,需要單獨討論。
Function fwj(dx, dy)
If dx = 0 Then
If dy = 0 Then fwj = "出錯!"
If dy > 0 Then fwj = pi / 2
If dy < 0 Then fwj = pi * 3 / 2
Else
xxj = Atn(Abs(dy / dx))
If dx >= 0 And dy > 0 Then fwj = xxj
If dx <= 0 And dy > 0 Then fwj = pi - xxj
If dx <= 0 And dy < 0 Then fwj = pi + xxj
If dx >= 0 And dy < 0 Then fwj = 2 * pi - xxj
End If
End Function
2.2.3 夾角計算
當放樣采用極坐標夾角方式時,后視方向的坐標增量為dtx, dty,中樁方向的坐標增量為dx, dy,jiajiao 為計算結果,是中樁方向方位角與后視方向方位角的差。
Function jiajiao(dx, dy, dtx, dty)
' 計算后視方向
hs = fwj(dtx, dty)
' 計算單個中樁夾角
jiajiao = fwj(dx, dy) - hs
If jiajiao < 0 Then jiajiao = jiajiao + 2 * pi
If jiajiao > 2 * pi Then jiajiao = jiajiao - 2 * pi
End Function
2.3 VBA程序開發(fā)——批量計算數(shù)據(jù)
計算后視方位角,確定計算范圍,表頭填寫,逐樁方位角計算、距離計算、夾角計算,數(shù)據(jù)回填表格。
核心技術是表格的引用。以源代碼中的第五行為例,“Worksheets("主控界面").Cells(4,3)”其他的引用可以參照此。既可以從單元格提取信息(一般提取信息為文本,必要時需要通過VAL 函數(shù)轉變?yōu)閿?shù)值才能參加計算)也可以單元格寫入信息。源代碼略。
3 運行過程
運行總體步驟如下:
第一步:輸入原始數(shù)據(jù)表單并校核;
第二步:利用下拉列表選擇測站點編號、后視點編號、單個中樁樁號,此時excel 自動計算該中樁對應的極坐標放樣數(shù)據(jù)—方位角和距離等;
第三步:選定開始樁號、結束樁號,批量計算放樣數(shù)據(jù)按鈕。
4 結論
本文通過創(chuàng)建excel 模板文件解決的問題如下:
?、賳蝹€數(shù)據(jù)計算為了防止輸入錯誤采用了下拉列表與Vlookup 函數(shù)組合的方式;
②為了完成單個數(shù)據(jù)的計算、格式化自定義了若干函數(shù)并予以引用舉例;
③為了完成批量數(shù)據(jù)計算編制了VBA 程序。
對于道路工程施工數(shù)據(jù)數(shù)據(jù)計算過程具有高效、防錯等作用。本計算思路不但可以用于施工計算,也可以用于設計計算。
相關文章:
6.淺談數(shù)字媒體技術與數(shù)字媒體藝術的融合論文
:$C9999”的第2 列。這里一定要注意,列數(shù)不是在工作表中的列數(shù),而是在查找范圍區(qū)域的第幾列。精確OR 模糊查找:VLOOKUP(B10,中樁坐標! $A
淺談基于Excel的道路工程計算技術論文
道路工程是從事道路的規(guī)劃、勘測、設計、施工、養(yǎng)護等的一門應用科學和技術。是土木工程的一個分支。以下是學習啦小編今天為大家精心準備的:淺談基于Excel 的道路工程計算技術相關論文。內容僅供參考,歡迎閱讀!
淺談基于Excel 的道路工程計算技術全文如下:
道路工程的施工現(xiàn)場數(shù)據(jù)(施工放樣、數(shù)量計算等)采用手工計算(各種計算器)具有直觀好理解的有點,缺點是易出錯、效率低。用傳統(tǒng)的編程方法(VB、VC 等)優(yōu)點是計算準確、效率高,缺點是需要編制專用的程序,需要專業(yè)人員有很好的編程能力,使用者需要一定的培訓。基于此,引入Excel 進行相應計算,數(shù)據(jù)的輸入輸出(均在Excel 界面)變得十分直觀、高效,計算過程可以采用插入函數(shù)計算等,在廣大工程人員中有了廣泛應用;但是,仔細分析尚有如下不足:
?、贁?shù)據(jù)的輸入、輸出在一個界面,操作時宜相互干擾,宜造成原始數(shù)據(jù)易改動,數(shù)據(jù)量大時,操作界面數(shù)據(jù)類型多、混亂;
②對自定義函數(shù)應用較少,所定義的公式過于簡單、缺乏可維護性;
③因為缺乏對高級函數(shù)的應用,數(shù)據(jù)引用處于較低水平,方法不易分工協(xié)作;
?、苷J為VBA 就是編程,多數(shù)人退避三舍,造成批量數(shù)據(jù)計算手工操作過多,效率低、強度高。
下面以常見的已知導線點坐標、已知中樁坐標,按指定導線點為測站和后視點計算極坐標放樣數(shù)據(jù)的excel 過程來展示基于數(shù)據(jù)管理、檢索、批量數(shù)據(jù)處理系統(tǒng)過程、高級函數(shù)、自定義函數(shù)和VBA 程序。
1 界面設計
“導線點”表單、“中樁坐標”表單向“總控界面”表單提供數(shù)據(jù)檢索和關聯(lián)的原始數(shù)據(jù),總控界面計算單個放樣數(shù)據(jù)、同時可以批量計算數(shù)據(jù)填寫于“批量計算”表單。
總控界面可以自動檢索“導線點”表單導線點個數(shù)、“中樁坐標”表單中樁個數(shù),測站、后視點、開始樁號、結束樁號、單個中樁(樁號)均采用下拉列表選擇,相應的坐標(X,Y)自動檢索后填充于表格,這樣可以防止數(shù)據(jù)出錯、同時方便數(shù)據(jù)分類管理。
2 關鍵技術
以下主要討論:單個數(shù)據(jù)防止出錯,需要檢索;批量數(shù)據(jù)處理需要VBA 對單元格調用。
2.1 高級內置函數(shù)應用:數(shù)據(jù)管理、數(shù)據(jù)聯(lián)動檢索使用
2.1.1 VLOOKUP 函數(shù)
本文基于office 2013 版本寫作(其他版本的office可供參考)。該函數(shù)的主要功能:按著查找目標把其他表單對應值返回當前單元格—把具有相同查找目標的值從其他表單返回當前表單指定位置。 “主控界面”(B9 即第2 列第9 行)下拉列表找到單個中樁的樁號(K115+500),則后面兩列(C9、D9)中通過該函數(shù)自動檢索到“中樁坐標”表單對應的X、Y 值(4038008.989、531541.360)。
VLOOKUP 函數(shù)的調用格式VLOOKUP 函數(shù)的調用基本格式為:VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)。
VLOOKUP 函數(shù)的進一步說明,VLOOKUP (查找目標,查找范圍,返回值的列數(shù),精確OR 模糊查找):
查找目標:VLOOKUP (B10, 中樁坐標! $A$2: $C$999999,2,FALSE)中的第一個參數(shù)—“B10”,即中樁樁號,當前為“ZK115+500”。
查找范圍:VLOOKUP (B10, 中樁坐標! $A $2: $C$999999,2,FALSE)中的第二個參數(shù)—“中樁坐標! $A$2:$C$999999”,即 “中樁坐標”表單的A~C 列1-999999 行的區(qū)域,999999—是區(qū)域的行數(shù),可以根據(jù)需要進行相應變化。
需要特別注意的是:查找目標(樁號列)一定要在該區(qū)域的第一列;該區(qū)域中一定要包含要返回值所在的列,本例中要返回的值是X。
返回值的列數(shù):VLOOKUP(B10,中樁坐標! $A$2:$C$999999,2,FALSE)中的第3 個參數(shù)—“2”,它是一個整數(shù)值。它是“返回值”在第二個參數(shù)給定的區(qū)域中的列數(shù)。
本例中我們要返回的是“X”,它是第二個參數(shù)查找范圍“中樁坐標! $A$2:$C$999999”的第2 列。這里一定要注意,列數(shù)不是在工作表中的列數(shù),而是在查找范圍區(qū)域的第幾列。
精確OR 模糊查找:VLOOKUP(B10,中樁坐標! $A$2:$C$999999,2,F(xiàn)ALSE)中最后一個參數(shù)—“FALSE”,是決定函數(shù)精確和模糊查找的關鍵。精確即完全一樣,模糊即包含的意思。第4 個參數(shù)如果指定值是0 或FALSE 就表示精確查找,而值為1 或TRUE 時則表示模糊。
2.1.2 excel 單元格下拉列表的建立
excel 單元格下拉列表的建立流程(以excel2013 為例):
數(shù)據(jù)驗證→數(shù)據(jù)驗證→設置→序列→來源→選定所需表單對應的列。
以設置導線點的測站為例(后視點、開始樁號、結束樁號、單個中樁也需要類似設置),需要選擇導線點表單的第一列數(shù)據(jù)。
2.2 自定義函數(shù):數(shù)據(jù)格式、方位角計算函數(shù)統(tǒng)一的全局常量定義,所有模塊均用到此常量,這樣其他模塊均可以用到常量Pi 的值。原代碼如下:
Public Const pi = 3.1415926
2.2.1 數(shù)據(jù)格式函數(shù)
radtodms(rad)函數(shù)功能:把弧度轉變?yōu)槎确置?,度、分均為整?shù),秒為保留一位小數(shù)的數(shù)值。rad 為參數(shù),radtodms 為函數(shù),源代碼如下:
Function radtodms(rad)
degree = rad * 180 / pi
d = Int(degree)
f = Int((degree - d) * 60)
s = Int(((degree - d - f / 60) * 3600) * 10) / 10
radtodms = Str$(d) + "°" + LTrim(Str$(f)) + "′" +
LTrim(Str$(s)) + "″"
End Function
2.2.2 方位角計算函數(shù)
fwj(dx, dy)函數(shù),dx、dy 分別為某點相對于測站的X、Y 的坐標增量;fwj 為對應于dx、dy 的方位角,方位角計算結果單位為弧度。dx=0 時,需要單獨討論。
Function fwj(dx, dy)
If dx = 0 Then
If dy = 0 Then fwj = "出錯!"
If dy > 0 Then fwj = pi / 2
If dy < 0 Then fwj = pi * 3 / 2
Else
xxj = Atn(Abs(dy / dx))
If dx >= 0 And dy > 0 Then fwj = xxj
If dx <= 0 And dy > 0 Then fwj = pi - xxj
If dx <= 0 And dy < 0 Then fwj = pi + xxj
If dx >= 0 And dy < 0 Then fwj = 2 * pi - xxj
End If
End Function
2.2.3 夾角計算
當放樣采用極坐標夾角方式時,后視方向的坐標增量為dtx, dty,中樁方向的坐標增量為dx, dy,jiajiao 為計算結果,是中樁方向方位角與后視方向方位角的差。
Function jiajiao(dx, dy, dtx, dty)
' 計算后視方向
hs = fwj(dtx, dty)
' 計算單個中樁夾角
jiajiao = fwj(dx, dy) - hs
If jiajiao < 0 Then jiajiao = jiajiao + 2 * pi
If jiajiao > 2 * pi Then jiajiao = jiajiao - 2 * pi
End Function
2.3 VBA程序開發(fā)——批量計算數(shù)據(jù)
計算后視方位角,確定計算范圍,表頭填寫,逐樁方位角計算、距離計算、夾角計算,數(shù)據(jù)回填表格。
核心技術是表格的引用。以源代碼中的第五行為例,“Worksheets("主控界面").Cells(4,3)”其他的引用可以參照此。既可以從單元格提取信息(一般提取信息為文本,必要時需要通過VAL 函數(shù)轉變?yōu)閿?shù)值才能參加計算)也可以單元格寫入信息。源代碼略。
3 運行過程
運行總體步驟如下:
第一步:輸入原始數(shù)據(jù)表單并校核;
第二步:利用下拉列表選擇測站點編號、后視點編號、單個中樁樁號,此時excel 自動計算該中樁對應的極坐標放樣數(shù)據(jù)—方位角和距離等;
第三步:選定開始樁號、結束樁號,批量計算放樣數(shù)據(jù)按鈕。
4 結論
本文通過創(chuàng)建excel 模板文件解決的問題如下:
①單個數(shù)據(jù)計算為了防止輸入錯誤采用了下拉列表與Vlookup 函數(shù)組合的方式;
?、跒榱送瓿蓡蝹€數(shù)據(jù)的計算、格式化自定義了若干函數(shù)并予以引用舉例;
③為了完成批量數(shù)據(jù)計算編制了VBA 程序。
對于道路工程施工數(shù)據(jù)數(shù)據(jù)計算過程具有高效、防錯等作用。本計算思路不但可以用于施工計算,也可以用于設計計算。
相關文章:
6.淺談數(shù)字媒體技術與數(shù)字媒體藝術的融合論文
:$C9999,2,F(xiàn)ALSE)中最后一個參數(shù)—“FALSE”,是決定函數(shù)精確和模糊查找的關鍵。精確即完全一樣,模糊即包含的意思。第4 個參數(shù)如果指定值是0 或FALSE 就表示精確查找,而值為1 或TRUE 時則表示模糊。2.1.2 excel 單元格下拉列表的建立
excel 單元格下拉列表的建立流程(以excel2013 為例):
數(shù)據(jù)驗證→數(shù)據(jù)驗證→設置→序列→來源→選定所需表單對應的列。
以設置導線點的測站為例(后視點、開始樁號、結束樁號、單個中樁也需要類似設置),需要選擇導線點表單的第一列數(shù)據(jù)。
2.2 自定義函數(shù):數(shù)據(jù)格式、方位角計算函數(shù)統(tǒng)一的全局常量定義,所有模塊均用到此常量,這樣其他模塊均可以用到常量Pi 的值。原代碼如下:
Public Const pi = 3.1415926
2.2.1 數(shù)據(jù)格式函數(shù)
radtodms(rad)函數(shù)功能:把弧度轉變?yōu)槎确置?,度、分均為整?shù),秒為保留一位小數(shù)的數(shù)值。rad 為參數(shù),radtodms 為函數(shù),源代碼如下:
Function radtodms(rad)
degree = rad * 180 / pi
d = Int(degree)
f = Int((degree - d) * 60)
s = Int(((degree - d - f / 60) * 3600) * 10) / 10
radtodms = Str$(d) + "°" + LTrim(Str$(f)) + "′" +
LTrim(Str$(s)) + "″"
End Function
2.2.2 方位角計算函數(shù)
fwj(dx, dy)函數(shù),dx、dy 分別為某點相對于測站的X、Y 的坐標增量;fwj 為對應于dx、dy 的方位角,方位角計算結果單位為弧度。dx=0 時,需要單獨討論。
Function fwj(dx, dy)
If dx = 0 Then
If dy = 0 Then fwj = "出錯!"
If dy > 0 Then fwj = pi / 2
If dy < 0 Then fwj = pi * 3 / 2
Else
xxj = Atn(Abs(dy / dx))
If dx >= 0 And dy > 0 Then fwj = xxj
If dx <= 0 And dy > 0 Then fwj = pi - xxj
If dx <= 0 And dy < 0 Then fwj = pi + xxj
If dx >= 0 And dy < 0 Then fwj = 2 * pi - xxj
End If
End Function
2.2.3 夾角計算
當放樣采用極坐標夾角方式時,后視方向的坐標增量為dtx, dty,中樁方向的坐標增量為dx, dy,jiajiao 為計算結果,是中樁方向方位角與后視方向方位角的差。
Function jiajiao(dx, dy, dtx, dty)
' 計算后視方向
hs = fwj(dtx, dty)
' 計算單個中樁夾角
jiajiao = fwj(dx, dy) - hs
If jiajiao < 0 Then jiajiao = jiajiao + 2 * pi
If jiajiao > 2 * pi Then jiajiao = jiajiao - 2 * pi
End Function
2.3 VBA程序開發(fā)——批量計算數(shù)據(jù)
計算后視方位角,確定計算范圍,表頭填寫,逐樁方位角計算、距離計算、夾角計算,數(shù)據(jù)回填表格。
核心技術是表格的引用。以源代碼中的第五行為例,“Worksheets("主控界面").Cells(4,3)”其他的引用可以參照此。既可以從單元格提取信息(一般提取信息為文本,必要時需要通過VAL 函數(shù)轉變?yōu)閿?shù)值才能參加計算)也可以單元格寫入信息。源代碼略。
3 運行過程
運行總體步驟如下:
第一步:輸入原始數(shù)據(jù)表單并校核;
第二步:利用下拉列表選擇測站點編號、后視點編號、單個中樁樁號,此時excel 自動計算該中樁對應的極坐標放樣數(shù)據(jù)—方位角和距離等;
第三步:選定開始樁號、結束樁號,批量計算放樣數(shù)據(jù)按鈕。
4 結論
本文通過創(chuàng)建excel 模板文件解決的問題如下:
?、賳蝹€數(shù)據(jù)計算為了防止輸入錯誤采用了下拉列表與Vlookup 函數(shù)組合的方式;
?、跒榱送瓿蓡蝹€數(shù)據(jù)的計算、格式化自定義了若干函數(shù)并予以引用舉例;
?、蹫榱送瓿膳繑?shù)據(jù)計算編制了VBA 程序。
對于道路工程施工數(shù)據(jù)數(shù)據(jù)計算過程具有高效、防錯等作用。本計算思路不但可以用于施工計算,也可以用于設計計算。
相關文章: