王明生, 閆小勇
(石家莊鐵道學(xué)院交通工程分院,河北 石家莊 050043)
交通地理信息系統(tǒng)(Geographic Information System for Transportation,GIS-T)是收集、存儲、分析和傳輸關(guān)于交通系統(tǒng)及其相互影響區(qū)域的特定類型信息的地理信息系統(tǒng),其主要功能是對公路、鐵路等線性交通實(shí)體進(jìn)行建模與分析,建立表達(dá)交通線路的數(shù)據(jù)模型是GIS-T研究的核心內(nèi)容[1]。交通線路是一類典型的人工構(gòu)筑物,其線路中線在平面上由直線、圓曲線和緩和曲線按一定規(guī)則組合而成[2]?,F(xiàn)有的大多數(shù)GIS都能夠直接繪制直線和圓曲線對象,但沒有提供專門的緩和曲線繪制方法。針對這一問題,本文對GIS環(huán)境下緩和曲線的繪制方法進(jìn)行研究,用折線擬合的方法實(shí)現(xiàn)緩和曲線對象的準(zhǔn)確繪制,并給出緩和曲線上任意點(diǎn)坐標(biāo)與里程的精確轉(zhuǎn)換方法。
緩和曲線是交通線路中線上連接直線和圓曲線,曲率半徑從無窮大逐漸過渡到圓曲線半徑R的過渡曲線。交通線路中常用的緩和曲線是回旋線,其基本特征是曲線上任一點(diǎn)的曲率半徑和該點(diǎn)距曲線起點(diǎn)弧長的乘積為一常數(shù)。根據(jù)這一幾何特征,可以建立緩和曲線的數(shù)學(xué)模型[2]。若以緩和曲線起點(diǎn)為坐標(biāo)原點(diǎn),起點(diǎn)處切線方向?yàn)閤軸,法線方向?yàn)閥軸建立直角坐標(biāo)系,則緩和曲線可用如下參數(shù)方程描述
從緩和曲線的數(shù)學(xué)描述模型可以看出,緩和曲線是復(fù)雜的高次連續(xù)曲線。而計算機(jī)是離散化的數(shù)據(jù)處理系統(tǒng),由計算機(jī)圖形學(xué)的基本原理可知,在數(shù)字計算機(jī)中任意空間曲線都是用多條直線段(即折線)來近似表示的[3]。其一般過程是在曲線上提取若干樣本點(diǎn),用直線段進(jìn)行連接,創(chuàng)建接近曲線形狀的折線。用折線近似表示曲線的幾何意義就是分段用弦替代弧,由于弦長只有在微分線段的情況下才與弧長相等,因此用折線擬合曲線不可避免地存在誤差,但可以通過增加分段數(shù)量使誤差降低到可接受的范圍之內(nèi)[4]。由于GIS將折線作為描述空間線狀實(shí)體的基本矢量模型,其他空間曲線對象都用折線近似描述,因此在GIS中用折線擬合的方法繪制緩和曲線是可行的。關(guān)鍵是要確定合理的分段數(shù)量,使之既能滿足精度要求,又不至于因?yàn)榉侄芜^多而對數(shù)據(jù)管理和分析帶來困難。
考慮式(1)中的緩和曲線參數(shù)方程,由于該方程中積分的原函數(shù)無法用初等函數(shù)表示,可以運(yùn)用數(shù)值積分方法對其進(jìn)行求解。在這里采用復(fù)化梯形公式[5]求解該積分,有
復(fù)化梯形公式的幾何意義就是用折線分段逼近曲線,其中n為分段數(shù)量。如果能夠選定合適的分段數(shù)n,使式(2)的計算結(jié)果滿足坐標(biāo)計算精度要求,那么用n段折線近似表達(dá)緩和曲線就能滿足精度要求[6]。下面根據(jù)數(shù)值積分中的誤差理論[5-6],推導(dǎo)分段數(shù)n的計算公式。
用式(2)代替式(1)產(chǎn)生的截斷誤差是
要保證緩和曲線的繪制精度,必須使截斷誤差小于一定值ε,即
根據(jù)式(3)和式(4),有
其中
由于ξ∈[0,l],而l∈[0,Ls],故
將式(7)代入式(5)中,可以得到分段數(shù)n的計算公式
分析式(8)可以看出:用緩和曲線的分段數(shù)n與ε成正比,若精度提高一個數(shù)量級,則n值增大約3.3倍;同時,緩和曲線長度越長,終點(diǎn)曲率半徑越小,則需要的分段數(shù)也越多。
表1列出了在不同精度要求下,幾種典型緩和曲線長和終點(diǎn)曲率半徑組合條件下分段數(shù)n的計算值。為驗(yàn)證計算精度,表1中同時列出了擬合后的折線段長度(取6位小數(shù))??梢钥闯?,根據(jù)式(8)計算出的n值,能夠非常精確地用折線擬合緩和曲線。
表1 不同條件組合下分段數(shù)n及折線長度計算值
對于任意一條緩和曲線,在給定緩和曲線長度和終點(diǎn)曲率半徑后,就可根據(jù)式(8)確定擬合折線的分段數(shù)。下一步的工作是計算擬合折線各節(jié)點(diǎn)處的坐標(biāo),然后用直線依次連接這些節(jié)點(diǎn)就可繪制一條緩和曲線。
根據(jù)式(1),折線上第i個節(jié)點(diǎn)的坐標(biāo)可以用下式計算
積分時需將式(9)中的三角函數(shù)展開為有限項(xiàng)麥克勞林級數(shù)
在用式(10)計算各點(diǎn)坐標(biāo)時,為確保所繪制緩和曲線的精度符合要求,節(jié)點(diǎn)坐標(biāo)計算精度一般應(yīng)比曲線擬合精度高出1倍以上[6],這就對式中的級數(shù)展開項(xiàng)數(shù)提出較高的要求。一般文獻(xiàn)建議的只展開到第2~3項(xiàng)是遠(yuǎn)遠(yuǎn)不夠的[7-8],當(dāng)緩和曲線曲率半徑較小時將會產(chǎn)生較大誤差,應(yīng)采用嚴(yán)密的數(shù)學(xué)方法確定各點(diǎn)坐標(biāo)計算時級數(shù)展開的項(xiàng)數(shù)[9]。
上述坐標(biāo)計算是在緩和曲線的局部坐標(biāo)系中進(jìn)行的,實(shí)際應(yīng)用時還要根據(jù)緩和曲線起點(diǎn)處的大地坐標(biāo)、方位角等將各點(diǎn)坐標(biāo)轉(zhuǎn)換為大地坐標(biāo)[2]。此外,實(shí)際的交通線路中還存在一類特殊的緩和曲線——部分緩和曲線。部分緩和曲線連接兩個圓曲線,不能直接用本文中的方法計算坐標(biāo),需要用還原方法先將部分緩和曲線恢復(fù)成完整緩和曲線[10],再進(jìn)行折線擬合和坐標(biāo)計算。
通過前述過程,可以在GIS中實(shí)現(xiàn)緩和曲線對象的準(zhǔn)確繪制。但對基于GIS的交通線路設(shè)計等應(yīng)用系統(tǒng)[11]來說,不僅要求能夠繪制緩和曲線圖形,還要求能夠?qū)崿F(xiàn)曲線上任意點(diǎn)里程(為描述簡便起見,此處的里程定義為緩和曲線上任一點(diǎn)距起點(diǎn)處的弧長)與坐標(biāo)之間的準(zhǔn)確轉(zhuǎn)換。根據(jù)緩和曲線任意點(diǎn)里程計算坐標(biāo)的方法比較簡單,直接利用式(10)即可完成。本節(jié)重點(diǎn)討論根據(jù)點(diǎn)坐標(biāo)計算里程的方法。
給定緩和曲線上任意一點(diǎn)P的坐標(biāo)求其里程,最簡單的方法是以一定的步長從起點(diǎn)開始依次計算每一步長點(diǎn)的坐標(biāo),和點(diǎn)P坐標(biāo)進(jìn)行比對,但這種方法是一種蠻力法,效率較低。本文給出一種效率更高的二分比對算法,其基本思路是在不斷二分緩和曲線弧段的過程中,比較二分點(diǎn)M和P點(diǎn)之間距緩和曲線起點(diǎn)S的距離差,如果此差值縮小到允許誤差之內(nèi),則可以認(rèn)為用M點(diǎn)的里程代替P點(diǎn)的里程符合精度要求。算法的具體步驟如下:
(1)初始化。令迭代算子k=1;輸入最大允許誤差ε,緩和曲線長度L,起點(diǎn)S的坐標(biāo)xs,ys和欲求里程的P點(diǎn)坐標(biāo)xp,yp;計算P點(diǎn)與S點(diǎn)之間的距離令二分點(diǎn)M的里程初始值
(2)根據(jù)當(dāng)前M點(diǎn)的里程值用式(10)計算M點(diǎn)坐標(biāo)再計算M點(diǎn)與S點(diǎn)之間的距離
(5)令迭代算子k=k+1,轉(zhuǎn)第(2)步。
上述算法的迭代次數(shù)與緩和曲線長度L及最大允許誤差ε有關(guān),最不利的情況下,迭代次數(shù)例如,當(dāng)L=1000 m、ε=0.001時,最多迭代20次就可以計算任意給定點(diǎn)處的里程值,效率可以滿足實(shí)際應(yīng)用的要求。
本文從分析緩和曲線幾何特征和數(shù)學(xué)模型出發(fā),借鑒計算機(jī)圖形學(xué)中曲線逼近的思想,用折線擬合的方法實(shí)現(xiàn)了GIS環(huán)境下緩和曲線對象的準(zhǔn)確繪制。基于數(shù)值積分的復(fù)化梯形公式,推導(dǎo)出了緩和曲線擬合折線分段數(shù)計算的嚴(yán)密數(shù)學(xué)公式。進(jìn)一步給出了緩和曲線上任意點(diǎn)坐標(biāo)與里程的精確轉(zhuǎn)換方法,使研究成果更具實(shí)用性。上述方法已采用SuperMap GIS軟件提供的二次開發(fā)平臺SuperMap Objects實(shí)現(xiàn)。經(jīng)實(shí)際使用,在繪圖精度和計算效率等方面能夠滿足復(fù)雜應(yīng)用的需求,可適用于交通線路設(shè)計、移動設(shè)施定位等對線路里程、事件點(diǎn)坐標(biāo)精度有較高要求的GIS-T應(yīng)用系統(tǒng)。
本文提出的方法對于在AutoCAD等軟件環(huán)境中繪制緩和曲線對象同樣適用[12],但在GIS環(huán)境中用折線擬合方法繪制緩和曲線對象更具優(yōu)勢。因?yàn)檎劬€是GIS的基本矢量對象,用折線擬合的緩和曲線不用進(jìn)行任何特殊處理,就具備各類空間分析與空間關(guān)系運(yùn)算功能,而這些功能在CAD環(huán)境中是較難實(shí)現(xiàn)的。
當(dāng)然,用折線擬合緩和曲線也存在曲線外觀光滑性較差的缺陷,特別是當(dāng)放大顯示緩和曲線的細(xì)節(jié)特征時,雖然各點(diǎn)位坐標(biāo)精度依然能滿足要求,但曲線的外觀可視化效果不佳??梢圆捎迷黾訑M合點(diǎn)的方法對曲線進(jìn)行進(jìn)一步平滑,但由此也會帶來繪圖效率下降、數(shù)據(jù)存儲量增加等問題。在GIS環(huán)境中如何改善緩和曲線外觀可視化效果,還需要進(jìn)行更深入的研究。
[1]MILLER H J, SHAW S L. Geographic information systems for transportation: principles and applications [M].Oxford: Oxford University Press, 2001. 11-57.
[2]詹振炎. 鐵路選線設(shè)計的現(xiàn)代理論和方法[M]. 北京:中國鐵道出版社, 2001. 47-51.
[3]魏海濤. 計算機(jī)圖形學(xué)[M]. 北京: 電子工業(yè)出版社,2001. 1-8.
[4]郭仁忠. 空間分析(第2版)[M]. 北京: 高等教育出版社, 2001. 3-78.
[5]李慶揚(yáng), 王能超, 易大義. 數(shù)值分析[M]. 武漢: 華中理工大學(xué)出版社, 1986. 177-193.
[6]李全信, 葉 剛. 完整和不完整緩和曲線在AutoCAD中的精確表示[J]. 城市勘測, 2007, (1):61-65.
[7]邱榮茂, 王大鳴, 周喬勇. 基于AutoCAD的線路緩和曲線的自動繪制[J]. 工程圖學(xué)學(xué)報, 2005, 26(1):30-34.
[8]符鋅砂. 公路計算機(jī)輔助設(shè)計[M]. 北京: 人民交通出版社, 1998. 91-92.
[9]譙生有. 緩和曲線坐標(biāo)計算誤差分析[J]. 測繪通報,200l, (11): 37-38.
[10]張福榮, 焦廣彥. 還原方法計算卵型曲線中間緩和曲線點(diǎn)坐標(biāo)[J]. 測繪通報, 2004, (1): 38-40.
[11]張曉東, 王明生. AutoCAD環(huán)境下的鐵路線路平縱橫集成交互設(shè)計[J]. 工程圖學(xué)學(xué)報, 2006, 27(5):12-15.
[12]王中偉. 道路與匝道中線自動繪制的算法與實(shí)現(xiàn)[J].工程圖學(xué)學(xué)報, 2007, 28(1): 144-147.