楊進功
(中鐵第一勘察設計院集團有限公司,西安 710043)
Google Earth衛星地圖數據在鐵路勘察設計中的應用研究
楊進功
(中鐵第一勘察設計院集團有限公司,西安 710043)
針對目前鐵路勘察設計前期階段線路方案所采用的小比例尺地圖陳舊,新增地面建筑物缺失,對線路走向影響大;數字化程度低,人工獲取地面高程數據效率低等問題,提出基于Google Earth平臺實現快速下載地圖、自動拼接成線路帶狀圖和自動批量提取線路縱、橫斷面地面高程數據的方法,并采用VC++和Google Earth的COM API函數進行二次開發,介紹該方法的實現原理及算法,結合工程實例分析該方法的可靠性及高效性,為鐵路前期研究選線設計提供一種良好的便捷方法。
Google Earth;鐵路勘察設計;帶狀地圖;高程數據;坐標轉換;算法
我國鐵路勘察設計所涉及的范圍廣、線路長,特別是在預可研設計階段,往往需要在大量的小比例尺地圖上進行選線和方案比選工作。目前,小比例尺數字化地形圖的應用還不普及,仍然以紙質版地圖為主,而該地圖又往往因其繪制年代久遠,缺失較新的城市建筑、高速公路、鐵路網等構筑物,這給鐵路前期勘察設計帶來了諸多不便。Google Earth近年來發展迅速,其提供的衛星地圖影像和數字高程信息不僅更新速度快、地理信息種類多、成圖年代晚,還可以通過計算機二次開發,快速下載地圖和自動提取高程信息。
Google Earth(以下簡稱“GE”)是一款Google公司開發的虛擬地球儀軟件,它將TB級的海量衛星影像圖布置于一個圓球體模型上,并同步提供地形三維數字高程信息(Digital Altitude Model,簡稱“DEM”)給用戶免費使用,其數據來源是衛星影像與航拍、航測數據的整合體。只要下載一款GE軟件便可查看全球每個角落的衛星地圖和三維數字信息,包括地面高程信息等。
為了快速、靈活地獲取適合我國鐵路設計習慣所需的帶狀地圖和線路逐樁地面高程數據,筆者用VC++和GE COM API函數編寫了基于GE的帶狀地圖快速下載和中樁高程數據提取程序,從而實現了批量、便捷的構建鐵路帶狀地圖和自動獲取高程數據的設計需要,對加快鐵路勘察設計具有重要的意義。
2.1 GE衛星影像地圖精度
GE提供的全球基本衛星影像地圖平面分辨率有SRTM1和SRTM3兩種。SRTM1為30 m,即寬度為30 m的物品在影像圖上僅為一個像素點;SRTM3為90 m(每個90 m的數據點是由9個30 m的數據點算術平均得來的[3])。但針對大城市、著名風景區、建筑物區域會提供分辨率為0.5~2 m[3]的更高精度影像(如快鳥二代提供的衛星影像圖),視點高度為500 m左右,即在此視高下,可以分辨出地圖上的人影圖像、鐵路軌道及道路上箭頭標線等圖像元素。
2.2 GE DEM高程信息精度
DEM數據的采集一般依靠衛星或飛機,通過其機載激光雷達(LIDAR)裝置、激光測距儀等[2]設備,并結合GPS地面控制點來生成等高線圖。配合SRTM1和SRTM3的高程數據精度一般為4~16 m,配合高精度影像的DEM數據精度可達1~2 m級。
2.3 鐵路設計對高程數據的精度要求
在鐵路勘察設計中,隨設計階段的不同對地面高程數據的精度要求不同,在預可研階段,一般采用1∶10萬、1∶5萬和1∶1萬的地圖,其高程精度要求依等高距的疏密分別為10 m、5 m和2 m[11,12]。
GE軟件衛星地圖影像圖采用“金字塔”式圖片分級存儲方式(圖1,圖2),且位于金字塔底部的圖片,地物最為清晰。全球地圖每一級由2n×2n(0≤n≤23)張圖片組成,最頂端為一張全球展開圖(圖3)。
GE采用衛星地圖圖片和與圖片相關聯DEM信息同步下載和計算顯示的方式工作。根據用戶設定的視點高度(Eye Alt),GE按需下載恰當級別的圖像,以圓球體模型無縫銜接后顯示于用戶計算機屏幕上(圖4)。GE地圖視窗(Render Window)除顯示經合成后的地圖影像圖外,當用戶開啟了“Terrain”效果的情況下,還可以觀察到3D方式顯示的高原、山地等立體實景地形。GE還支持三維動態拖動、縮放、編輯地標等操作。

圖1 GE地圖影像存儲圖

圖2 GE地圖顯示圖

圖3 GE頂層影像圖

圖4 在GE中圖3的顯示
GE軟件的可查詢DEM高程數據精度與當前顯示的影像圖圖片自身清晰度無關,僅與顯示的圖片級別有關。視點高度設置越低,GE采用的圖片級越高(越接近金字塔的底部),查詢到的高程數據精度也越高。但當視高小于已顯示的最末級圖片時,其平面及高程精度不會隨視高的下降而增加,圖像亦僅為像素的放縮而已。
GE軟件的二次開發方式有2種,一種是基于軟件文本數據文件(KML)方式,另一種是基于GE COM API方式?;贙ML格式的方式是通過編寫包含地理要素標簽(XML格式)的文件,經GE軟件加載后實現地圖的更新控制操作;基于API的方式是通過設置GE地圖視窗中視點高度、視點角度和動畫播放等參數來動態控制GE地圖的平滑移動、旋轉顯示和動畫播放等行為。筆者為更加靈活地控制GE地圖的移動、旋轉等操作,故采用API方式進行編程實現。
GE最新公布的二次開發接口API函數共包括11個接口類,這些接口涵蓋了GE從控制顯示到點坐標查詢等諸多功能。本文從GE上下載地圖和提取高程信息主要用到的接口類有3個,在此僅對該類進行簡單介紹[9]。
(1)IApplicationGE是GE COM API函數最主要的接口,通過這個接口,可以讓外部程序訪問和控制GE應用程序。該接口包括了GE API函數幾乎所有的功能。
(2)IPointOnTerrainGE是函數IApplicationGE:: GetPointOnTerrainFromScreenCoords的返回點坐標查詢接口類,它可以理解為一個結構體,記錄了地面上點的坐標等信息。可通過該類的Longitude、Latitude及Altitude方法獲取經度、緯度和高程數據。
(3)ICameraInfoGE接口用視點高度及視線方向等信息描述了一個特殊的視角。它包括的屬性有地圖視窗中心點經緯度、視點高度、視點角度等。在IApplicationGE接口中與之相關的兩個函數為GetCamera和SetCamera,功能分別是獲得和設置視點信息。程序可通過SetCamera函數來動態控制地圖的顯示位置、范圍及旋轉方向角等。
5.1 GE地圖坐標系及其屏幕坐標系
GE軟件地圖視窗有兩種坐標系統:一種為大地坐標系,即采用WGS 84橢球參數的圓球墨卡托坐標系[1,4](以下簡稱“WGS”),WGS點坐標表示為(經度,緯度,高程);另一種為地圖視窗屏幕坐標系(以下簡稱“RSS”),其窗口左上角坐標為(-1,-1),右下角坐標為(1,1),中央坐標為(0,0),坐標為(screenX, screenY)。
5.2 鐵路設計用UCS坐標系
通常在進行鐵路線路設計時,采用的坐標系為笛卡爾平面直角坐標系,坐標點表示為(X,Y,Z),如北京1954坐標系、西安1980坐標系、獨立坐標系等,這些坐標系在AutoCAD中通稱為用戶平面直角坐標系統,簡稱“UCS”。
5.3 坐標轉換方法
5.3.1 RSS與WGS坐標轉換
RSS點坐標可通過GE API提供的GetPointOnTerrainFromScreenCoords函數獲取對應的WGS坐標信息。GE API沒有提供WGS坐標轉換為RSS坐標的方法,即該方法不可逆,只能通過線形插值法得到其近似值。
5.3.2 WGS與UCS坐標轉換
由于WGS為墨卡托圓球坐標系,而UCS為平面直角坐標系,無法進行坐標的直接轉換,但可借助于我國大地測量學常用的高斯平面坐標系(以下簡稱“GKS”)與WGS的轉換方法進行,也稱為高斯-克呂格投影公式,見圖5。

圖5 WGS、GKS與UCS關系
UCS坐標與WGS坐標轉換關系見圖6。

圖6 UCS坐標與WGS坐標轉換關系
UCS與GKS坐標轉換采用正交仿射變換公式,見式(1);GKS與WGS坐標轉換采用高斯-克呂格投影公式,見式(2)、(3)。
(1)UCS與GKS坐標轉換算法
UCS與GKS坐標系均為平面直角坐標系,故可采用正交仿射變換公式[1]進行坐標轉換,公式為

式中 XT、YT——新坐標系中點的坐標值,m;
XS、YS——原坐標系中點的坐標值,m;
XTO、YTO——原坐標系的原點在新坐標系中的坐標值;
θ——原坐標系兩坐標軸旋轉到與新坐標系對應坐標軸重合時需要轉動的角度,逆時針旋轉為正,rad;
MX、MY——原坐標系兩坐標軸單位長度,以新坐標系對應軸單位長度的比例因子,亦稱放縮系數。
(2)GKS與WGS坐標轉換算法
①WGS坐標轉換為GKS坐標
又稱高斯-克呂格投影正解計算公式[4,10],即(B, L)→(XN,YE),公式為:


式中 XN,YE——GKS點的北坐標(N)和東坐標(E)值,m;
L,B——WGS點的坐標經度和緯度值,rad;
a——WGS 84橢球長半軸值,m;
e,e′——橢球的第一偏心率和第二偏心率;
L0——中央子午線經度,rad;
FE——地圖坐標計算中為了消除經度出現負值而采用的加常數,我國采用FE=500 000 m。
②GKS轉換為WGS坐標
又稱高斯-克呂格投影反解計算公式[4,10],即(X, Y)→(B,L),公式為

式中,FN為地圖坐標計算中為了消除緯度出現負值而采用的加常數,北半球FN=0,南半球FN= 10 000 000 m。其他符號同(式2)。
6.1 基本原理
為獲取鐵路帶狀地圖需要,筆者采用GE API動態控制和調整GE地圖視窗,包括設置相機位置(地圖平移)、旋轉角度、視點高度等操作,并保存當前地圖視窗屏幕圖像至JPG格式外部文件,同步記錄圖像信息(包括圖像的邊界信息,其對應的UCS坐標,旋轉角等)至Images.idx文本文件,完成帶狀圖的自動下載。
自動拼接程序依據Images.idx信息在AutoCAD環境下以“加載外部圖像參照”方式完成JPG格式地圖圖片的帶狀拼圖工作。
6.2 數據源格式及仿射轉換點對
(1)數據源文件
數據源為線路逐樁坐標表文本文件(*.xy0),數據記錄行格式為:
樁號 UCS北坐標(XN) UCS東坐標(YE)
……
該數據文件可由設計軟件自動生成,或采用手工繪制Pline線方式提取其坐標信息后經Excel簡單編輯即可得到。
(2)正交仿射變換參考點對
本文進行UCS與GKS坐標轉換采用大地測量學四參數法[10],即dX,dY,dθ,dS(其中dX,dY為坐標系平移量,dθ為坐標系旋轉量,dS為坐標系長度放縮比例)。該四參數又可通過2個參考點(又稱參考點對)的坐標關系得到。參考點對的坐標由該兩點分別位于UCS和GKS坐標系下的兩組坐標構成,即
參考點A:(XN_UCS_A,YE_UCS_A)、(XN_GKS_A,YE_GKS_A);
參考點B:(XN_UCS_B,YE_UCS_B)、(XN_GKS_B,YE_GKS_B);
為轉換方便需要,筆者將參考點對的GKS坐標直接定義為WGS坐標,其GKS坐標可通過式(2)直接計算得到,定義方式見圖7,可通過程序界面直接輸入,并保存至程序初始化文件中。

圖7 坐標正交仿射變換參考點定義
通常,上述參考點對的UCS和WGS坐標由GPS測量得到。但在前期設計工作中對于精度要求不高的情況下,設計者可直接通過選取線路設計范圍內的任意兩點,如建筑物角點。在AutoCAD中查詢其UCS坐標值,并在GE中找到對應點位置,使用“添加地標”工具查詢該點WGS經緯度坐標值即可得到。其它如WGS 84橢球參數中的“中央子午線”值可取參考點對的經度平均值即可,“加常數Y0”同式(2)的FE變量。
6.3 帶狀圖參考軸線自動計算
程序將自動進行逐樁坐標數據(*.xy0)到帶狀圖參照軸線的轉換,方式見圖8。

圖8 帶狀圖參考軸線轉換圖
6.4 帶狀圖自動拼接方法
帶狀地圖下載程序自動生成的圖像信息索引文件(Images.idx)內容格式見圖9。

圖9 帶狀圖自動拼接數據
該文件記錄了下載圖片的名稱、對齊模式、對齊點坐標、縮放比例和旋轉角度等信息,并通過ObjectArx編寫的自動拼接程序(或編寫成獨立模塊,采用寫DXF文件接口方式),以“外部光柵圖像參照”方式自動拼接成CAD帶狀圖。
6.5 程序界面及實現
為便于可視化操作,將程序運行界面設計成交互式,帶狀圖自動下載程序見圖10。

圖10 影像地圖自動下載程序界面
本程序中【每幅圖的可視寬度】為控制下載單幅地圖屏幕水平方向的寬度,單位為m,程序將根據該值自動計算下載圖片的數量,并自動設置適宜的視點高度,單幅圖豎向高度則由GE軟件自動確定(注:視點高度越高,則單幅圖像所包含的線路長度越長,地圖范圍更廣,但地物較低視點高度下的圖像模糊。筆者建議設置為500~1 500 m,即可得到GE提供的最為清晰的圖像)。下半部為“正交仿射變換”坐標關系輸入區域,下載后的圖像列表如圖11所示。
衛星地圖下載后,進入AutoCAD環境并加載自動拼接程序(Arx程序),程序界面如圖12所示。

圖12 影像地圖自動拼接程序界面
輸入的【文件名】即為帶狀地圖下載程序生成的圖像信息索引文件(Images.idx)。在CAD中自動拼接后的圖像如圖13所示,坐標系為UCS。

圖13 拼接后的帶狀地圖效果圖
7.1 方法即數據源
本文采用GE API的GetPointOnTerrainFromScreen Coords函數完成高程數據的自動提取。為提取高精度的高程數據,筆者采用視高設置為500 m,并動態移動GE地圖視窗中地圖的方法完成縱斷面地面點高程數據的獲取。
本程序采用的數據源文件(*.xy0)同帶狀圖下載程序用數據源格式。
7.2 程序界面及實現
可視化程序界面如圖14所示。
操作方法和參數設置與帶狀地圖下載程序相似。提取的高程數據信息如圖15(b)所示。
8.1 帶狀地圖下載及自動拼接

圖14 縱斷面地面線高程提取程序界面

圖15 縱斷面地面線高程提取程序界面
經測試,在GE中自動下載圖像的快慢與用戶網速和GE地圖服務器有關,筆者從計算機下載50張,線路長度為60 km的鐵路帶狀圖,所需時間為3 min左右。由于本程序采用單張地圖下載和離散拼接法,有效避免了鐵路長大線路上的圖像誤差疊加問題。
8.2 縱斷面地面線高程數據批量采集
本程序在GE中提取1 518個點(約30 km,樁距20 m)的高程信息所需時間為2.6 min,與某鐵路定測外業中樁實測地面高程數據比對情況見表1。

表1 縱斷面地面線高程數據比對統計
經對比,高程差小于2 m采樣點占36.5%;小于5 m者占92.2%。比對發現除溝渠、坎邊、道路及新開挖的邊坡等地物變化處高程差值較大外,地形點高程一般平原區小于2 m,山區小于5 m。造成高程差異的主要原因是GE所采用的數據為按方格網等距點采集所得,網格內點采用線性內插計算得到,而鐵路定測采用實測方式得到地物和地形突變點高程數據。
本程序與楊鑫、鄧加娜等人的高程數據研究結果[6,7,8]基本吻合,但時間差異較大,原因是:GE API提供的高程查詢函數,只可在GE地圖視窗顯示的地圖范圍內進行坐標高程信息查詢,而鐵路線路往往較長,為提高獲取DEM高程數據精度,本程序視點高度設置為500 m,并采用動態平移地圖方式以獲取與地圖關聯的DEM數據下載更新。待其地圖顯示完成后,方可查詢高程數據,故速度較慢。當然,這也與網速和GE地圖服務器有直接的關系。
對于鐵路預可研階段通常采用的1∶1萬、1∶5萬地圖,其等高線間距通常為5 m或10 m,本軟件所提取的高程數據能夠滿足設計對高程數據的精度要求,其研究結論是:GE中DEM數據若采用高清衛圖數模(直接表現為地圖較為清晰),精度在2~3 m,若采用SRTM1,精度在5~10 m,且平原中心地帶較山區精度高[7,8]。
隨著GE的不斷發展,在鐵路勘察設計中運用GE數據進行前期勘察設計的應用會越來越多,本文的方法充分利用了Google Earth的共享數據,為鐵路設計用帶狀圖和高程信息的獲取提供了一種便捷的方法。經在多條鐵路勘察設計中的應用證明,本方法是可行的,且程序操作簡便、易用,設計人員能很快的熟練運用。程序可作為GE的擴展模塊獨立運行,具有較好的推廣價值。
[1] International Addociation of Oil&Gas Producers(國際石油技術軟件開發公司).Coordinate Conversions and Transformation includeing Formulas[P].OGP publication,2009.
[2] 李桂芳.基于三維空間場景的鐵路選線技術研究[J].鐵道標準設計,2012(10):19-21.
[3] 韓浩.Google Earth在鐵路勘察設計前期工作中的應用[J].鐵道勘察,2010(1):9-12.
[4] 戴勤奮.常用地圖投影轉換公式[E].Gis空間站http://www. gissky.net.
[5] 王一波.基于GIS鐵路選線CAD系統的研究與應用[D].蘭州:蘭州交通大學,2011.
[6] 楊鑫,鄭新奇,等.基于Google Earth的高程信息快速提取方法[D].北京:中國地質大學,2008.
[7] 鄧加娜,胡茂林,等.數字地球及其在電力勘測設計中的應用[J].電力勘測設計,2006(5):48-52.
[8] 解云琳,彭明軍.用MapInfo快速提取高程點信息[J].測繪通報, 2003(1):48-50.
[9] 江寬,龔小鵬,等.Google API開發詳解Google Maps與Google Earth雙劍合璧[M].2版.北京:電子工業出版社,2010.
[10]孔祥元,等.大地測量學基礎[M].武漢:武漢大學出版社,2009: 97-204.
[11]中華人民共和國鐵道部.TB 10101—99新建鐵路工程測量規范[S].北京:中國鐵道出版社,1999.
[12]國家測繪局.CH/T 1015.2—2007基礎地理信息數字產品1∶10 000 1∶50 000生產技術規程第2部分:數字高程模型(DEM) [S].北京:國家測繪局,2007.
Research on How to Use Google Earth Satellite Map Data in the Process of Railway Design and Survey
YANG Jin-gong
(China Railway First Survey and Design Institute Group Co.,Ltd.,Xi'an 710043,China)
In the small-scale map which is commonly used for route selection design in the early stage of railway survey and design,there are a number of problems:the data in the map are out-of-date and come with the shortage of the newly-built ground buildings information which have great influence on the route alignment;the digitization level is poor;the efficiency of manual work for data acquisition of ground elevation is low,and so on.To solve those problems,this research put forward a new method,which is based on Google Earth platform for quickly downloading the maps,then automatically splicing them into route strip map and then automatically extracting ground elevation data of route longitudinal and transverse profiles in batches.Furthermore,secondary development was carried out in this research by using VC++ and Google Earth's COM API function.In the paper,this new method's implementation principle and algorithm was introduced,and the reliability and high efficiency of this method were analyzed in combination with actual projects.This method can serve as a good,convenient and fast method for route selection design in the early stage of railway project.
GoogleEarth;railwaysurveyanddesign;stripmap;altitudedata;coordinate transformation;algorithm
U212.24+1
A
10.13238/j.issn.1004-2954.2014.08.008
1004-2954(2014)08-0034-06
2014-01-07;
2014-01-18
楊進功(1972—),男,高級工程師,2013年畢業于西安理工大學土木工程專業,E-mail:ayungerstudio@163.com。