賈進(jìn)科,方發(fā)全,劉 勇
(1.長江巖土工程總公司,湖北 武漢430010)
利用位置服務(wù)實(shí)現(xiàn)野外找點(diǎn)與實(shí)地指界
賈進(jìn)科1,方發(fā)全1,劉 勇1
(1.長江巖土工程總公司,湖北 武漢430010)
介紹了位置服務(wù)在尋找控制點(diǎn)等方面的應(yīng)用,編制程序?qū)⒖刂泣c(diǎn)坐標(biāo)生成KML文件,并利用奧維互動(dòng)地圖實(shí)現(xiàn)手機(jī)野外找點(diǎn)和實(shí)地指界,具有一定的實(shí)際應(yīng)用價(jià)值。
位置服務(wù);KML;奧維互動(dòng)地圖;野外找點(diǎn)
位置服務(wù)已廣泛應(yīng)用于移動(dòng)資源監(jiān)控管理、人員安全監(jiān)控、地圖導(dǎo)航等,是一種與空間位置有關(guān)的新型服務(wù)。到新測(cè)區(qū)實(shí)地尋找控制點(diǎn)一直是野外測(cè)繪人員的難點(diǎn),一般利用點(diǎn)記號(hào)到野外尋找,但很不直觀,尤其是在偏僻或地物較少的地方難度更大。也可以利用設(shè)置坐標(biāo)參數(shù)的手持GPS來找點(diǎn),但成本較高,普及較難。在道路實(shí)地選線和現(xiàn)場(chǎng)指定坐標(biāo)邊界等工作中,需要根據(jù)設(shè)計(jì)坐標(biāo)實(shí)地指界。一般是將邊界畫到紙質(zhì)圖上,然后到現(xiàn)場(chǎng)判斷,或用全站儀或RTK進(jìn)行邊界放樣,這些辦法均不直觀和簡(jiǎn)便。通過研究,手機(jī)位置服務(wù)可實(shí)現(xiàn)這些功能,主要方法是編制坐標(biāo)轉(zhuǎn)換及生成KML文件的程序,再利用具有GPS定位功能的智能手機(jī)配合免費(fèi)應(yīng)用軟件奧維互動(dòng)地圖,就可以直觀地引導(dǎo)野外測(cè)繪人員找點(diǎn)。
KML是Keyhole標(biāo)記語言(keyhole markup language)的縮寫,最初由Keyhole公司開發(fā),是一種基于XML語法與格式、用于描述和保存地理信息(如點(diǎn)、線、圖像、多邊形和模型等)的編碼規(guī)范,可以被Google Earth和Google Maps識(shí)別并顯示[1]。KML文件格式使用標(biāo)簽來描述地理對(duì)象的各種屬性。以下是KML中常見的幾種標(biāo)簽:
1)<kml>標(biāo)簽:用來表示當(dāng)前文件是一個(gè)KML文件,并說明文件的版本。
2)<Folder>標(biāo)簽:表示一個(gè)目錄,可以包含各種地名標(biāo)注。用戶可以把具有相同類別信息的地名標(biāo)注都?xì)w入一個(gè)目錄下。
3)<Style>標(biāo)簽:用來指定顯示樣式,諸如自定義圖標(biāo)、幾何形狀、顏色和標(biāo)簽大小。
4)<Placemark>標(biāo)簽:表示一個(gè)地名標(biāo)注,地名標(biāo)注的幾何類型可以是點(diǎn)(Point)、線(LineString)、面(Polygon)等KML中描述的幾何對(duì)象類型。該標(biāo)簽除了包含幾何類型的描述,還可包含地名標(biāo)注的樣式信息與視點(diǎn)信息。
5)<coordinates>標(biāo)簽:表示對(duì)象的地理位置信息,以10進(jìn)制的WGS84經(jīng)緯度(和海拔)表示。6) <Point>標(biāo)簽:表示對(duì)象為一個(gè)單點(diǎn)標(biāo)注。7)<LineString>標(biāo)簽:表示對(duì)象為一段折線。
奧維互動(dòng)地圖是北京元生華網(wǎng)公司開發(fā)的一款與谷歌地圖類似的地圖軟件,有PC版、安卓版、ios版、Windows phone版,是基于Google Earth API、 Baidu API、 Sougou API的跨平臺(tái)地圖瀏覽器。把多種API提供的衛(wèi)星照片、航空影像、GIS都布置在一張地圖上,具有實(shí)時(shí)定位功能,能探索豐富的地理資源,并支持加載KML文件。
3.1 技術(shù)路線
將控制點(diǎn)坐標(biāo)或邊界拐點(diǎn)坐標(biāo)利用自編軟件生成標(biāo)準(zhǔn)的展點(diǎn)標(biāo)注和連線KML文件,然后將KML文件導(dǎo)入智能手機(jī),在奧維互動(dòng)地圖中調(diào)用這些KML文件,結(jié)合衛(wèi)星照片和GIS路網(wǎng)圖進(jìn)行實(shí)時(shí)定位,并導(dǎo)航到目的地。
3.2 KML文件生成
首先需將坐標(biāo)數(shù)據(jù)轉(zhuǎn)換成KML標(biāo)準(zhǔn)文件格式。以一個(gè)簡(jiǎn)單的點(diǎn)位標(biāo)注為例:
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns: gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom= "http://www.w3.org/2005/Atom">
<Document>
<Placemark>
<name>A1</name>
<Point>
<coordinates>110.802746977745,32.8329727034436, 0</coordinates>
</Point>
</Placemark>
</Document>
</kml>
除<name> 標(biāo)簽中的點(diǎn)名“A1”和<coordinates>標(biāo)簽中的經(jīng)緯度外,其他都是標(biāo)記語言語法。KML標(biāo)記語言語法比較簡(jiǎn)單,點(diǎn)位以WGS84坐標(biāo)系統(tǒng)的經(jīng)緯度(單位為°)表示,故需要將高斯坐標(biāo)轉(zhuǎn)換為WGS84經(jīng)緯度。
通過VB自編程序?qū)⒆鴺?biāo)轉(zhuǎn)為WGS84經(jīng)緯度。由于控制點(diǎn)一般是1954北京坐標(biāo)系統(tǒng)或1980西安坐標(biāo)系統(tǒng),故涉及到不同坐標(biāo)系之間的轉(zhuǎn)換。最精確的轉(zhuǎn)換為七參數(shù)轉(zhuǎn)換,但由于手機(jī)GPS精度不太高(5 m左右),且找點(diǎn)也不需要太高的精度,所以用簡(jiǎn)化的三參數(shù)轉(zhuǎn)換公式就可以滿足要求。利用已知的不同橢球之間的長半軸差和扁率倒數(shù)差da、df以及計(jì)算出的三參數(shù)dx、dy、dz,用投影變換公式將坐標(biāo)轉(zhuǎn)換為WGS84經(jīng)緯度[2]。再按KML標(biāo)記語言語法,得到批量坐標(biāo)標(biāo)注KML文件和坐標(biāo)連線KML文件,且根據(jù)需要可修改展點(diǎn)標(biāo)注類型、顏色及連線寬度、顏色等,程序界面如圖1所示。值得注意的是,KML文件如果是普通ASCII碼的文本文件,需要另存為unicode格式的文本,否則會(huì)出現(xiàn)亂碼。
3.3 KML文件導(dǎo)入手機(jī)
圖1 程序界面
在手機(jī)端安裝奧維互動(dòng)地圖,安卓手機(jī)可通過安卓市場(chǎng)等安裝,iPhone可通過蘋果Appstore安裝。以iPhone為例,首先,必須通過iTunes將KML文件同步給奧維互動(dòng)地圖。打開奧維互動(dòng)地圖,點(diǎn)右下角“更多”菜單-“數(shù)據(jù)管理”-“導(dǎo)入導(dǎo)出標(biāo)記”-“從文件導(dǎo)入”,這時(shí)會(huì)顯示同步的KML文件(如果沒有文件顯示,則表示同步KML文件目錄不正確),選“文件導(dǎo)入”即可。安卓手機(jī)的KML文件導(dǎo)入類似,只需要將KML文件復(fù)制到軟件安裝目錄sdcardomap即可,其他操作與iPhone一致。
3.4 現(xiàn)場(chǎng)驗(yàn)證
比如,我們?nèi)ふ摇癇長江委”這個(gè)控制點(diǎn),以及設(shè)計(jì)工作邊界(綠色線),可以先將坐標(biāo)文件通過軟件生成KML文件,將KML文件導(dǎo)入手機(jī)。在手機(jī)上可以清晰地看到這個(gè)點(diǎn)在衛(wèi)片上的具體位置(右邊紅色大頭針位置)、綠色的工作邊界以及手機(jī)所在的實(shí)時(shí)位置(左邊藍(lán)色圓圈中心)和行進(jìn)方向,如圖2所示。
圖2 現(xiàn)場(chǎng)演示圖
利用手機(jī)位置服務(wù),結(jié)合奧維互動(dòng)地圖,就能實(shí)現(xiàn)野外找控制點(diǎn)和野外指界的功能,為野外工作者提供了便利,大大提高了野外找點(diǎn)指界的效率。
[1] 王艷,何憑宗.基于VC++的Google Earth KML地標(biāo)文件的自動(dòng)生成及應(yīng)用[J].北京測(cè)繪,2009(2):32-33
[2] 蔡昌盛,高井祥,鄭南山,等.北京54坐標(biāo)轉(zhuǎn)換至WGS-84坐標(biāo)的方法[J].四川測(cè)繪,2005,28(3):125-127
[3] 顏小平,耿曉民,初啟鳳.基于KML在Google Earth批量標(biāo)記方法[J].測(cè)繪與空間地理信息,2012,35(4):92-93
[4] 陸柏樹,劉云彪.勘探點(diǎn)在Google Earth中顯示的程序?qū)崿F(xiàn)[J].資源環(huán)境與工程,2007,21(4):450-454
[5] 劉珍,劉建勛.淺談Google Earth 二次開發(fā)技術(shù)[J].地理空間信息,2009,7(4):72-74
[6] 殷強(qiáng),王方雄.應(yīng)用Google Earth 的基礎(chǔ)地理信息模塊實(shí)現(xiàn)方法[J].地理空間信息,2011,9(6):105-106
[7] 向民錦,李云星.利用Google Earth建立旅游資源導(dǎo)航信息平臺(tái)[J].湖南城市學(xué)院學(xué)報(bào):自然科學(xué)版,2010,19(1):64-65
P208
B
1672-4623(2016)02-0073-02
10.3969/j.issn.1672-4623.2016.02.025
賈進(jìn)科,高級(jí)工程師,主要從事工程測(cè)量、GPS測(cè)量與研究等工作。
2014-06-10。