国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于高德地圖API加載kml文件的方法研究

2016-12-31 00:00:00武希濤
科技創(chuàng)新與應(yīng)用 2016年13期

摘 要:隨著智能手機(jī)的發(fā)展和普及以及各種地圖導(dǎo)航軟件的發(fā)展,目前手機(jī)地圖已經(jīng)成為人們外出的重要工具之一。但是在鐵路、公路、電力等線性工程的前期設(shè)計(jì)階段,還沒有專業(yè)的手機(jī)地圖輔助軟件。因此,有必要針對(duì)此類工程的前期需求進(jìn)行相關(guān)研究。文章就提出了一種Android系統(tǒng)中高德地圖加入kml文件的方法。

關(guān)鍵詞:高德地圖API;鐵路;kml文件

1概述

近年來隨著鐵路的跨越式發(fā)展,在現(xiàn)今的各類交通和運(yùn)輸?shù)牟呗灾?,鐵路當(dāng)之無愧成為運(yùn)輸成本低,效率高以及出行和貨運(yùn)的首選方式。根據(jù)“十三五”規(guī)劃,到2020年,高鐵運(yùn)營里程達(dá)到3萬公里,這意味著未來五年1萬多公里的高鐵需要開通。在鐵路的前期規(guī)劃設(shè)計(jì)階段,外業(yè)勘測(cè)采集數(shù)據(jù)還難免的采用手寫紙記的方式。同時(shí)隨著智能手機(jī)的發(fā)展和普及以及各種地圖導(dǎo)航軟件的發(fā)展,導(dǎo)航軟件逐漸成為大眾不可或缺的手機(jī)軟件。kml(Keyhole Makeup Language)主要采用擴(kuò)展性的標(biāo)記類型語法以及文件式的數(shù)據(jù)格式,能夠?qū)崿F(xiàn)地理數(shù)據(jù)的客戶端展示[1]。kml目前已經(jīng)成為各大地理信息平臺(tái)通用的標(biāo)準(zhǔn)文件之一。如果鐵路線路前期設(shè)計(jì)選線階段能結(jié)合手機(jī)導(dǎo)航軟件及kml文件,在外業(yè)測(cè)繪調(diào)查階段實(shí)現(xiàn)智能化,必將達(dá)到事半功倍的效果。其中,kml文件作為數(shù)據(jù)轉(zhuǎn)換的關(guān)鍵,將其融入目前主流的手機(jī)地圖軟件尤為重要。

2 Android簡(jiǎn)介

Android是一種基于Linux的自由及開放源代碼的操作系統(tǒng),主要使用于移動(dòng)設(shè)備,如智能手機(jī)和平板電腦,由Google公司和開放手機(jī)聯(lián)盟領(lǐng)導(dǎo)及開發(fā)。目前Android逐漸擴(kuò)展到平板電腦及其他領(lǐng)域上,如電視、數(shù)碼相機(jī)、游戲機(jī)等。在優(yōu)勢(shì)方面,Android平臺(tái)首先就是其開發(fā)性,開發(fā)的平臺(tái)允許任何移動(dòng)終端廠商加入到Android聯(lián)盟中來。Android平臺(tái)提供給第三方開發(fā)商一個(gè)十分寬泛、自由的環(huán)境,不會(huì)受到各種條條框框的阻擾。Google服務(wù)如地圖、郵件、搜索等已經(jīng)成為連接用戶和互聯(lián)網(wǎng)的重要紐帶,而作為Google公司旗下的Android平臺(tái)手機(jī)將無縫結(jié)合這些優(yōu)秀的Google服務(wù)。

3 解析kml文件的方法

kml文件是一種特殊XML文件,其讀取解析方式與網(wǎng)頁瀏覽器處理HTML和XML文件的方式類似,此類文件具有的平臺(tái)無關(guān)性,語言無關(guān)性,系統(tǒng)無關(guān)性,給數(shù)據(jù)集成與交互帶來了極大的方便。目前已經(jīng)成為各大地理信息系統(tǒng)統(tǒng)一的數(shù)據(jù)文件,因此采用kml文件作為數(shù)據(jù)文件,可以為將來結(jié)合其他平臺(tái)數(shù)據(jù)提供基礎(chǔ)。以下是一個(gè)簡(jiǎn)單的kml文件的內(nèi)容:

目前基于JAVA語言的解析方法都已成熟,基本的解析方式有兩種,一種叫SAX,另一種叫DOM。SAX是基于事件流的解析,DOM是基于XML文檔樹結(jié)構(gòu)的解析。在此次的研究中,我們主要是提取kml文件中各標(biāo)記點(diǎn)的坐標(biāo)值,即節(jié)點(diǎn)中的數(shù)值,并按照點(diǎn)、線、文字分類處理存儲(chǔ)于數(shù)據(jù)庫中。

4 高德地圖API

高德地圖API中的Android SDK 是一套地圖開發(fā)調(diào)用接口,供開發(fā)者在自己的Android應(yīng)用中加入地圖相關(guān)的功能。開發(fā)者可以輕松地開發(fā)出地圖顯示與操作、室內(nèi)外一體化地圖查看、興趣點(diǎn)搜索、地理編碼、離線地圖等功能。其中,高德地圖提供了可以添加地圖覆蓋物的接口。所有疊加或覆蓋到地圖的內(nèi)容,統(tǒng)稱為地圖覆蓋物。如標(biāo)記、矢量圖形元素(包括:折線、多邊形和圓)等。

例如,繪制一個(gè)虛線三角形的代碼如下:

在高德地圖提供的該類接口中,所有的覆蓋物均由地理坐標(biāo)來確定位置,此步可以按照類別讀取從kml文件中解析得到的坐標(biāo),加載至高德地圖上,從而實(shí)現(xiàn)加載kml文件的目的。

5 WGS84坐標(biāo)與高德地圖坐標(biāo)系統(tǒng)的轉(zhuǎn)換

目前將設(shè)計(jì)用北京54及西安80坐標(biāo)系轉(zhuǎn)為WGS84的方法均已成熟[2],但是結(jié)合實(shí)際情況,網(wǎng)絡(luò)地圖坐標(biāo)均是經(jīng)過加密后的坐標(biāo),因此直接使用由kml解析出來的WGS84坐標(biāo)導(dǎo)入高德地圖,將產(chǎn)生標(biāo)注與地圖不匹配的現(xiàn)象。針對(duì),這一現(xiàn)象高德地圖API提供了一個(gè)CoordinateConvert類,該類可以將常見的坐標(biāo)類型轉(zhuǎn)化為高德地圖。轉(zhuǎn)換代碼如下:

這樣,我們?cè)趯⒏采w物加載之前需要將解析到的WGS84坐標(biāo)轉(zhuǎn)換成高德坐標(biāo)后再加載,就可以處理坐標(biāo)不統(tǒng)一的問題。

6 結(jié)論與展望

文章介紹了一種簡(jiǎn)單可行的將kml文件加載于高德地圖上的方法。該方法可以方便外業(yè)人員進(jìn)行定位和尋找目的地。同時(shí),也可以結(jié)合智能手機(jī)的交互操作及定位功能,將采集到的數(shù)據(jù)存儲(chǔ)于數(shù)據(jù)庫中并生成kml文件輸出。可以大大的節(jié)省外業(yè)數(shù)據(jù)的處理時(shí)間,達(dá)到事半功倍的效果。

參考文獻(xiàn)

[1]蔡曉樺.云計(jì)算及其在地理信息系統(tǒng)中的應(yīng)用[J].江西測(cè)繪,2012(1):39-41.

[2]許捍衛(wèi).移動(dòng)式GIS發(fā)展的關(guān)鍵技術(shù)及應(yīng)用前景[J].測(cè)繪工程,2003,12(1):34-36.

中牟县| 淄博市| 察哈| 西乌| 乐至县| 林周县| 婺源县| 聊城市| 全椒县| 勐海县| 商丘市| 方正县| 潢川县| 和硕县| 庆元县| 荥经县| 东山县| 宜川县| 仙游县| 建阳市| 古蔺县| 东乡族自治县| 阳春市| 长寿区| 策勒县| 年辖:市辖区| 天水市| 神木县| 大渡口区| 临朐县| 扬州市| 定远县| 棋牌| 曲水县| 桂阳县| 兴化市| 尼玛县| 尚志市| 重庆市| 类乌齐县| 北票市|