

摘 要:隨著智能手機的發展和普及以及各種地圖導航軟件的發展,目前手機地圖已經成為人們外出的重要工具之一。但是在鐵路、公路、電力等線性工程的前期設計階段,還沒有專業的手機地圖輔助軟件。因此,有必要針對此類工程的前期需求進行相關研究。文章就提出了一種Android系統中高德地圖加入kml文件的方法。
關鍵詞:高德地圖API;鐵路;kml文件
1概述
近年來隨著鐵路的跨越式發展,在現今的各類交通和運輸的策略中,鐵路當之無愧成為運輸成本低,效率高以及出行和貨運的首選方式。根據“十三五”規劃,到2020年,高鐵運營里程達到3萬公里,這意味著未來五年1萬多公里的高鐵需要開通。在鐵路的前期規劃設計階段,外業勘測采集數據還難免的采用手寫紙記的方式。同時隨著智能手機的發展和普及以及各種地圖導航軟件的發展,導航軟件逐漸成為大眾不可或缺的手機軟件。kml(Keyhole Makeup Language)主要采用擴展性的標記類型語法以及文件式的數據格式,能夠實現地理數據的客戶端展示[1]。kml目前已經成為各大地理信息平臺通用的標準文件之一。如果鐵路線路前期設計選線階段能結合手機導航軟件及kml文件,在外業測繪調查階段實現智能化,必將達到事半功倍的效果。其中,kml文件作為數據轉換的關鍵,將其融入目前主流的手機地圖軟件尤為重要。
2 Android簡介
Android是一種基于Linux的自由及開放源代碼的操作系統,主要使用于移動設備,如智能手機和平板電腦,由Google公司和開放手機聯盟領導及開發。目前Android逐漸擴展到平板電腦及其他領域上,如電視、數碼相機、游戲機等。在優勢方面,Android平臺首先就是其開發性,開發的平臺允許任何移動終端廠商加入到Android聯盟中來。Android平臺提供給第三方開發商一個十分寬泛、自由的環境,不會受到各種條條框框的阻擾。Google服務如地圖、郵件、搜索等已經成為連接用戶和互聯網的重要紐帶,而作為Google公司旗下的Android平臺手機將無縫結合這些優秀的Google服務。
3 解析kml文件的方法
kml文件是一種特殊XML文件,其讀取解析方式與網頁瀏覽器處理HTML和XML文件的方式類似,此類文件具有的平臺無關性,語言無關性,系統無關性,給數據集成與交互帶來了極大的方便。目前已經成為各大地理信息系統統一的數據文件,因此采用kml文件作為數據文件,可以為將來結合其他平臺數據提供基礎。以下是一個簡單的kml文件的內容:
目前基于JAVA語言的解析方法都已成熟,基本的解析方式有兩種,一種叫SAX,另一種叫DOM。SAX是基于事件流的解析,DOM是基于XML文檔樹結構的解析。在此次的研究中,我們主要是提取kml文件中各標記點的坐標值,即
4 高德地圖API
高德地圖API中的Android SDK 是一套地圖開發調用接口,供開發者在自己的Android應用中加入地圖相關的功能。開發者可以輕松地開發出地圖顯示與操作、室內外一體化地圖查看、興趣點搜索、地理編碼、離線地圖等功能。其中,高德地圖提供了可以添加地圖覆蓋物的接口。所有疊加或覆蓋到地圖的內容,統稱為地圖覆蓋物。如標記、矢量圖形元素(包括:折線、多邊形和圓)等。
例如,繪制一個虛線三角形的代碼如下:
在高德地圖提供的該類接口中,所有的覆蓋物均由地理坐標來確定位置,此步可以按照類別讀取從kml文件中解析得到的坐標,加載至高德地圖上,從而實現加載kml文件的目的。
5 WGS84坐標與高德地圖坐標系統的轉換
目前將設計用北京54及西安80坐標系轉為WGS84的方法均已成熟[2],但是結合實際情況,網絡地圖坐標均是經過加密后的坐標,因此直接使用由kml解析出來的WGS84坐標導入高德地圖,將產生標注與地圖不匹配的現象。針對,這一現象高德地圖API提供了一個CoordinateConvert類,該類可以將常見的坐標類型轉化為高德地圖。轉換代碼如下:
這樣,我們在將覆蓋物加載之前需要將解析到的WGS84坐標轉換成高德坐標后再加載,就可以處理坐標不統一的問題。
6 結論與展望
文章介紹了一種簡單可行的將kml文件加載于高德地圖上的方法。該方法可以方便外業人員進行定位和尋找目的地。同時,也可以結合智能手機的交互操作及定位功能,將采集到的數據存儲于數據庫中并生成kml文件輸出。可以大大的節省外業數據的處理時間,達到事半功倍的效果。
參考文獻
[1]蔡曉樺.云計算及其在地理信息系統中的應用[J].江西測繪,2012(1):39-41.
[2]許捍衛.移動式GIS發展的關鍵技術及應用前景[J].測繪工程,2003,12(1):34-36.