向繼平
摘要:CASIO fx-5800P是測繪與土木工程領(lǐng)域廣泛使用的計算器,特別適合現(xiàn)場計算。本文通過比較分析,選取基于線元的Gauss-Legendre數(shù)學(xué)模型,結(jié)合CASIO fx-5800P計算器的特點,通過設(shè)計實用的公路坐標(biāo)計算程序,提高現(xiàn)場計算的工作效率和精度。
關(guān)鍵詞:Gauss-Legendre;線元;程序;矩陣;坐標(biāo)計算
中圖分類號:TP311 文獻標(biāo)識碼:A 文章編號:1009-3044(2018)33-0241-03
在公路測量工作中,要經(jīng)常對線路的中樁、邊樁、結(jié)構(gòu)物位置進行實地放樣,這就需要在現(xiàn)場實時快速地獲取放樣點的坐標(biāo)。我國現(xiàn)行《公路路線設(shè)計規(guī)范》規(guī)定,公路平面線形由直線、圓曲線和緩和曲線(回旋線)三種要素組成。在現(xiàn)代高速公路上,有時緩和曲線所占的比例超過了直線和圓曲線,成為平面線形的主要組成部分。緩和曲線的計算復(fù)雜,尤其是非完整緩和曲線,計算器編程計算是解決公路坐標(biāo)現(xiàn)場計算的有效手段。
1 數(shù)學(xué)模型的選擇
公路坐標(biāo)計算的關(guān)鍵是數(shù)學(xué)模型的選擇。傳統(tǒng)的計算采用交點法,它針對組成公路平面線形的直線、圓曲線和緩和曲線采用不同的數(shù)學(xué)模型進行計算,計算時要先建立各個計算單元(直線、圓曲線、緩和曲線)的相對坐標(biāo)系,再根據(jù)點的樁號確定其所在的計算單元,采用對應(yīng)的計算公式求出該點在相對坐標(biāo)系中的坐標(biāo),然后轉(zhuǎn)換為公路統(tǒng)一坐標(biāo)系的坐標(biāo),計算過程復(fù)雜。
線元法將組成公路平面線形的直線、圓曲線和緩和曲線均看作獨立的單元——線元。直線可以看作是曲率半徑為∞的曲線,圓曲線為曲率半徑為定值的曲線,緩和曲線為曲率半徑漸變的曲線,因此,公路中線可以看成是由曲線構(gòu)成的。曲線元上任一點的曲率都隨弧長作線性變化,基于這一共性推導(dǎo)出的任意點坐標(biāo)計算積分通式——Gauss-Legendre公式可作為公路坐標(biāo)計算的通用數(shù)學(xué)模型,該公式與點所在的位置無關(guān)。5節(jié)點Gauss-Legendre公式用于各種情況的緩和曲線坐標(biāo)計算時,能滿足計算誤差小于1mm的精度要求,且其公式符合循環(huán)結(jié)構(gòu)程序的特征。因此,設(shè)計公路坐標(biāo)計算程序時,應(yīng)基于線元法建立數(shù)學(xué)模型,并采用5節(jié)點Gauss-Legendre公式進行計算。
2 坐標(biāo)計算的通用公式
如圖1所示,P是線元SE上的任意中樁。線元起點S的樁號為ZS、曲率半徑為RS、坐標(biāo)為(xS, yS)、切線方位角為αS;線元終點E的樁號為ZE、曲率半徑為RE;中樁P的樁號ZP。當(dāng)曲線左偏時,RS和RE取負(fù)(-);當(dāng)曲線右偏時,RS和RE取正(+)。
3 數(shù)據(jù)存儲設(shè)計
數(shù)據(jù)存儲設(shè)計是程序設(shè)計的核心工作之一。在公路坐標(biāo)計算中,5節(jié)點Gauss-Legendre通用公式的10個計算參數(shù)(A1~A5、V1~V5)和7個線元參數(shù)(包括線元起點的樁號、曲率半徑、坐標(biāo)x、y和切線方位角;線元終點的樁號和曲率半徑)的使用頻次高,其精度直接影響到計算結(jié)果的精度,因此必須存儲在一個固定、可靠的位置。
計算參數(shù)的使用具有一定的規(guī)律性,如計算時A1對應(yīng)V1、A2對應(yīng)V2、……、A5對應(yīng)V5,因此宜采用額外變量來存儲這些參數(shù)。程序設(shè)計時,可采用10個額外變量Z[1]~Z[10]分別存儲這10個計算參數(shù),具體分配方案見圖2。
線元參數(shù)的存儲可采用三種形式:額外變量、統(tǒng)計串列、矩陣。存儲一個線元的參數(shù)至少需要7個額外變量,n個線元組成的路線需要7n個額外變量。CASIO fx-5800P計算器的統(tǒng)計串列每行只能存儲3個數(shù),存儲一個線元的參數(shù)至少需占用3行。無論是采用額外變量,還是采用統(tǒng)計串列,線元參數(shù)之間的對應(yīng)關(guān)系不直觀,用戶查看時容易造成困擾。CASIO fx-5800P計算器的矩陣每行可以存儲10個數(shù)據(jù),一行即可存放一個線元的全部參數(shù),線元之間、線元參數(shù)之間的對應(yīng)關(guān)系簡單明了。若程序計算時指定將線元參數(shù)存放在矩陣Mat A中,程序運行結(jié)束后,可在COMP模式下,通過賦值命令將Mat A賦值給其他矩陣(如賦值給Mat F可執(zhí)行命令Mat A→Mat F)。賦值完成后,在進行公路坐標(biāo)計算前,只需將其對應(yīng)的線元參數(shù)矩陣賦值給Mat A即可直接進行計算,無須重新輸入線元參數(shù),可有效地提高計算效率。CASIO fx-5800P計算器有多個矩陣,因此一個計算器中可以存放多個路線的數(shù)據(jù)。由上述分析可知,公路坐標(biāo)計算程序宜采用矩陣存儲線元參數(shù),n個線元時的存儲分配方案見圖3。
4 線元參數(shù)輸入設(shè)計
4.1 輸入方式的選擇
線元參數(shù)輸入可采用三種方式:①直接創(chuàng)建,即在程序運行前,使用矩陣編輯器直接將線元參數(shù)輸入到矩陣中;②基于數(shù)據(jù)庫子程序,即先按規(guī)定的語句格式(語句中包含線元參數(shù))建立數(shù)據(jù)庫子程序,通過調(diào)用子程序,自動建立線元參數(shù)矩陣;③基于線元參數(shù)子程序,即先編寫一個線元參數(shù)輸入子程序,通過調(diào)用子程序,直接從鍵盤輸入線元參數(shù),程序自動建立線元參數(shù)矩陣。第一種方式用戶不但要熟悉矩陣編輯器,而且要事先獲得各個參數(shù)。第二種方式要根據(jù)設(shè)計數(shù)據(jù)修改數(shù)據(jù)庫子程序的相關(guān)語句,用戶需要具備一定的程序設(shè)計能力。第三種方式對用戶的要求最低,只需要根據(jù)提示信息輸入相應(yīng)參數(shù)即可。為了提高程序的易用性,程序設(shè)計時應(yīng)采用第三種方式。
4.2 輸入項的選取
程序應(yīng)通過控制輸入數(shù)據(jù)的數(shù)量來減少輸入錯誤,提高效率。設(shè)計程序時,要確定好線元參數(shù)輸入的最小子集,凡能通過計算得到的參數(shù),應(yīng)采用程序自動計算的方式獲得,以減少參數(shù)輸入,降低出錯概率。
公路是由若干首尾相連的線元組合而成,其線形連續(xù)是保證車輛安全行駛的基本要求。線形連續(xù)是指線元實體的起終點位置和切線方位角是連續(xù)的,即上一線元的終點是下一線元的起點,上一線元終點的切線方位角是下一線元起點的切線方位角。利用這一特性,在選取輸入項時,只需將計算路段第1個線元起點的坐標(biāo)和切線方位角、全部線元起點和終點的樁號及曲率半徑作為線元參數(shù)輸入的最小子集。
4.3 子程序的功能設(shè)計
在輸入線元參數(shù)時,錯誤在所難免,若每次出錯后都要將全部參數(shù)重新輸入一遍,會嚴(yán)重影響用戶的使用體驗。為了解決這個問題,可將線元參數(shù)子程序設(shè)計成新建路線(NEW)、數(shù)據(jù)更新(UPDATE)兩個子功能,若個別線元的參數(shù)輸入錯誤(或設(shè)計變更),可先用矩陣編輯器直接修改Mat A中的對應(yīng)數(shù)據(jù),然后選擇“數(shù)據(jù)更新”功能,讓程序根據(jù)正確數(shù)據(jù)重新計算線元參數(shù),并自動更新Mat A的數(shù)據(jù)。
4.4 子程序的主要代碼
5 公路坐標(biāo)計算程序設(shè)計
公路坐標(biāo)計算包括中樁計算和邊樁計算,前者要計算指定中樁的坐標(biāo)和切線方位角,后者要計算對應(yīng)邊樁的坐標(biāo)。
計算中樁坐標(biāo)時,應(yīng)先根據(jù)樁號確定其是否在Mat A所對應(yīng)的路線區(qū)間上。若不在,應(yīng)給出相應(yīng)的提示信息;若在,則確定中樁所在的線元,然后調(diào)用該線元的參數(shù)計算中樁的坐標(biāo)和切線方位角。中樁計算子程序(文件名為“ZZJS”)的主要代碼如下:
6 結(jié)語
利用CASIO fx-5800P計算器以Gauss-Legendre公式為數(shù)學(xué)模型,采用矩陣存儲線元參數(shù),可精確的計算公路任意樁號的中樁和邊樁坐標(biāo)。本文的程序充分發(fā)揮了程序的自動計算功能,用戶只需輸入少量的線元參數(shù),大量的參數(shù)由程序自動生成,程序可自動判斷樁號的合法性,健壯性好,設(shè)計的輸入和輸出界面友好,用戶使用非常方便。程序適用于各種類型的平曲線計算,若路線出現(xiàn)斷鏈,可以斷鏈處為分界點,將路線分為多個路段進行處理。
參考文獻:
[1] 李全信.Gauss-Legendre公式在線路坐標(biāo)計算中的應(yīng)用研究[J].勘察科學(xué)技術(shù),2004(2):44-47,52.
[2] 何名燈.CASIO fx-5800P型計算器在線路測量中的應(yīng)用[J].城市勘測,2018(1):141-144.
[3] 覃輝,段長虹.CASIO fx-5800P矩陣編程計算器原理與實用程序[M].上海:同濟大學(xué)出版社,2007.
[4] 王中偉.CASIO fx-5800P計算器與道路坐標(biāo)放樣計算[M].廣州:華南理工大學(xué)出版社,2008.
[5] 顧孝烈,程效軍.fx-5800P計算器土木工程測量計算程序開發(fā)與應(yīng)用[M].上海:同濟大學(xué)出版社,2007.
【通聯(lián)編輯:光文玲】