目前,BIM技術已經成為各行業解決實際問題的重要生產力工具。在公路、鐵路、市政道路、水運航道等帶狀交通工程項目中,融合BIM技術和GIS技術進行工程設計、施工建設、運營管養應用,是未來的發展方向。在基於BIM技術和GIS技術的交通工程信息化系統中,一個重要的需求就是根據指定裡程樁號,計算其對應的平面直角坐標、大地經緯度坐標,以及通過平面直角坐標、大地經緯度坐標計算其對應的裡程樁號。
當前,常用的方法是通過提取公路路線上的構成點的相關信息,存儲在Oracle空間資料庫中,利用Oracle空間資料庫的功能進行投影和臨近計算,以及裡程樁號和經緯度的相互換算。該方法以構成點為單位構建查詢資料庫,在裡程樁號轉坐標過程,其查找臨近點的過程需要與資料庫遠程交互,查詢距離接收到的裡程最近的構成點;在坐標轉裡程樁號過程,其需要首先查找離點最近的投影點,再查找與最近的投影點最近的構成點。上述方案存在計算效率較低的不足,並且高度依賴特定資料庫;同時,以構成點為單位存儲空間位置信息,難以保存路線點之間的區間屬性信息,進而難以實現不同的線型區間的高精度定位。
針對現有定位方法計算效率較低、定位精度較低的不足,研究了一種新的基於BIM+GIS的路線點定位系統方法。
本方法以路線的區間信息作為定位方法的數據來源基礎,對於單條路線,其區間信息的集合構成該條路線信息,區間信息至少包括區間起點和終點的裡程樁號信息以及坐標信息。其中,起點和終點分別表示區間的兩個端點,在本方法中如無其他限定,起點和終點本身不具有包括順序在內的限定作用,可以視為能夠互換的同一概念。
提取信息
提取路線的區間信息,所述區間信息包括起點里程樁號、終點里程樁號、起點坐標和終點坐標。
從設計階段產生的路線設計文件中提取路線的區間信息。具體實施方式中,信息的來源包括AutoCAD、HintCAD、Civil3D、PowerCivil、OpenRoads等,常用設計軟體產生的信息,可以通過在上述設計軟體平臺上,開發提取插件完成區間信息的提取,也可以直接提取從上述設計軟體輸出的路線區間信息。路線區間信息提取後存儲到XML文件或其他開放數據文件或資料庫,並將該文件或文件的內容存儲到對象存儲系統或資料庫中。在此,路線區間信息的來源可以是任意的,其保存形式和保存地址也可以是任意的。
由於交通工程中的坐標表示通常包括平面直角坐標系表示和地理坐標(即大地經緯度坐標)表示,根據實際應用需要,本方法中的坐標包括其中的任意一種表示或者同時包括兩種表示方式。與之相適應的,本方法所述的裡程樁號-坐標轉換中的單向轉換的坐標,可以包括平面直角坐標系表示和地理坐標任一種表示,也可以同時包括平面直角坐標表示和地理坐標表示兩種方式。換言之,本方法能夠實現裡程樁號-平面直角坐標、裡程樁號-地理坐標、平面直角坐標-裡程樁號、地理坐標-裡程樁號4種轉換定位。
進一步地,按照預定的空間間隔提取路線的區間信息,預定的空間間隔可以是均勻的,也可以是非均勻的。一方面,對於只包含直線、緩曲線、圓曲線線形的設計路線,可以靈活劃分路線區間,避免區間數量過多或者過少,便於從所述查詢資料庫中查詢目標區間。例如一段直線段區間長度為10km,則可以將所述直線段區間分割為10個1km的直線區間。另一方面,對於包含直線、緩和曲線、圓曲線線形以外的其他線形的設計路線,對路線提取區間信息時,可能需要對區間線形進行近似處理,越密集的區間劃分能夠提高區間線形的近似精度,從而提高定位精度。
構建查詢資料庫
可以選擇構建裡程樁號-區間信息查詢資料庫和坐標-區間信息查詢資料庫的其中一種,或者同時構建兩者。構建其中一種,即實現裡程樁號-坐標雙向轉換中的單向轉換;同時構建兩者,即能夠實現裡程樁號-坐標雙向轉換中的雙向轉換。在此,以裡程樁號為查詢條件,構建裡程樁號-區間信息查詢資料庫,以及以點坐標為查詢條件,構建點坐標-區間信息查詢資料庫。若坐標表示同時包括平面直角坐標和地理坐標,則可構建3個查詢資料庫——
①以裡程樁號為查詢條件,構建裡程樁號——區間信息查詢資料庫;
②以平面直角點坐標為查詢條件,構建平面直角點坐標-區間信息查詢資料庫;
③以地理點坐標為查詢條件,構建地理點坐標-區間信息查詢資料庫。
查詢目標信息
接收輸入的裡程樁號或點坐標,從所述查詢條件-區間信息查詢資料庫中查詢目標區間信息。
採用臨近搜索算法(KNN算法)從所述查詢條件-區間信息查詢資料庫中查詢目標區間信息。採用R樹構建內存查詢資料庫,通過KNN算法從R樹查詢資料庫中查詢目標信息避免了遍歷所有的區間信息,降低計算複雜度,提高計算效率。還可以構建多維線段樹或R*樹查詢數據結構作為查詢資料庫,實現以裡程樁號或點坐標為查詢條件查詢目標區間信息。
R樹是用來做空間數據存儲的樹狀數據結構。「R」代表「Rectangle(矩形)」。因為所有節點都在它們的最小外接矩形中,所以跟某個矩形不相交的查詢,就一定跟這個矩形中的所有節點都不相交。例如給地理位置,矩形和多邊形這類多維數據建立索引。
R*樹是R樹的一種變體,可用來建立索引空間信息(英語:Spatial database)。R*樹的構造花費比標準R樹略高。例如數據可能需要被重新插入,但這通常能獲得更好的查詢性能。像標準R樹一樣,它能存儲點和空間數據。
幾何函數計算
根據所述目標區間信息返回的所述線段類型,採用線段類型對應的空間幾何函數,計算所述裡程樁號對應的坐標;或者採用線段類型對應的空間幾何函數,計算所述點坐標對應的裡程樁號。
以下分別為直線段、圓曲線段和緩和曲線段的裡程樁號-坐標、點坐標-裡程樁號路線點定位算法,需要說明的是,各類線形的定位算法中的表達式相互獨立,直線段、圓曲線段和緩和曲線段表示起點和終點之間的區間,直線和圓曲線表示起點、終點所在的直線或者圓曲線。
以直線段為例:
1. 裡程樁號-坐標
裡程樁號m對應的坐標(x,y)滿足:
當 x1≠x2 且 y1≠y2 時:
當 x1=x2 且 y1≠y2 時:
當 x1≠x2 且 y1=y2 時:
(1)
其中,m為輸入的裡程樁號,(x1,y1)、(x2,y2)為目標直線段的起點和終點坐標,m1、m2為起點里程樁號和終點里程樁號。由(1)式計算得到裡程樁號m對應的坐標(x,y)。
2. 點坐標-裡程樁號
若輸入的點坐標與直線共線,點坐標(x3,y3)對應的裡程樁號m滿足:
(2)
其中,(x3,y3)為輸入的點坐標,(x1,y1)、(x2,y2)為目標直線段的起點和終點坐標,m1、m2為起點里程樁號和終點里程樁號。由(2)式求得點坐標(x3,y3)對應的裡程樁號m,此種情況對應於坐標點位於路線上。
對於大多數輸入的點坐標位於路線兩側的情況,點坐標對應的裡程樁號m滿足:
當 x1≠x2 且 y1≠y2 時:
當 x1=x2 且 y1≠y2 時:
當 x1≠x2 且 y1=y2 時:
(3)
其中,(x3,y3)為輸入的點坐標,(x,y)為(x3,y3)在目標直線段的垂直投影點,(x1,y1)、(x2,y2)為目標直線段的起點和終點坐標,m1、m2為起點里程樁號和終點里程樁號, 由(3)式計算得到點坐標(x3,y3)對應的裡程樁號m。
圓曲線段與緩和曲線段思路一致,幾何關係如附圖所示。
根據輸入的平面直角點坐標和查詢得到的所述坐標系轉換參數,利用高斯投影坐標反算計算得出對應的地理坐標;或者,根據輸入的地理點坐標和查詢得到的所述坐標系轉換係數,利用高斯投影坐標正算計算得出對應的平面直角點坐標。
與原有技術相比,本方法通過以路線區間為單位構建區間信息查詢資料庫,區間長短可靈活劃分,根據輸入的裡程樁號或者點坐標直接查詢目標區間信息,降低了裡程樁號-坐標相互轉換的計算複雜度,提高了計算效率。
通過在區間信息中增添線段類型信息,區分直線段和曲線段,針對不同的線段類型分別採取與之適應的定位算法,顯著提高了定位精度。
通過構建內存查詢資料庫結合特定的搜索算法,進一步提高了用於定位算法的目標區間的查詢效率。同時,本方法提供的定位算法不依賴內定的資料庫系統,具有良好的移植性。
以此方法為基礎,可開展基於BIM+GIS技術的多項工作,為智慧交通的發展打下了基礎,為公路建設管理由「智能」向「智慧」升級提供了可能。通過建設實時的動態的工程信息共享平臺,深度挖掘從設計、施工、運維等工程相關數據,通過BIM平臺,實現行業資源配置優化能力、公共決策能力、行業管理能力、公眾服務能力的提升,推動交通運輸更安全、更高效、更便捷、更經濟、更環保、更舒適的運行和發展,帶動交通運輸相關產業轉型、升級。
本文刊載 /《橋梁 · BIM視界》雜誌 2020年 第2期 總第13期
作者 / 朱明 黎宇陽
作者單位 / 四川省交通勘察設計研究院有限公司BIM中心