吳冰河 趙麗娜 劉金菊
(黑龍江地理信息工程院,黑龍江 哈爾濱 150081)
隨著安卓平臺的出現(xiàn),安卓手機(jī)、安卓平板電腦等移動終端已經(jīng)占據(jù)了主流移動通訊設(shè)備超過七成的市場份額,擁有大規(guī)模的用戶群體,具備作為移動地理信息系統(tǒng)的載體及大范圍普及推廣的條件。移動地理信息系統(tǒng)能夠簡化傳統(tǒng)的鉛筆、木板、紙質(zhì)地圖的地理信息調(diào)繪方法,在野外作業(yè)時,便于作業(yè)人員輕裝上陣,具有實(shí)時獲取定位、快速找到責(zé)任區(qū)、采集數(shù)據(jù)實(shí)時檢核、采集場景實(shí)時拍照、惡劣環(huán)境持續(xù)工作等技術(shù)優(yōu)勢,目前已經(jīng)廣泛應(yīng)用于地理信息數(shù)據(jù)領(lǐng)域。利用安卓平臺提供的數(shù)據(jù)接口,開發(fā)農(nóng)業(yè)信息采集系統(tǒng),可以對農(nóng)業(yè)信息化的發(fā)展提供有力的技術(shù)支撐,是一種新型的農(nóng)業(yè)地籍調(diào)查、管理手段。
隨著計算機(jī)和軟件技術(shù)的不斷發(fā)展,測繪技術(shù)人員在傳統(tǒng)GIS的基礎(chǔ)上,完善了在手持設(shè)備操控GIS的技術(shù)路線,移動GIS應(yīng)運(yùn)而生。所謂移動GIS就是利用手機(jī)、平板電腦、手持GPS移動終端等設(shè)備,實(shí)時定位,協(xié)同采集地理信息數(shù)據(jù),并能夠展示二維、三維空間數(shù)據(jù)的集成平臺。移動GIS一般與微型計算機(jī)、服務(wù)器、數(shù)據(jù)庫、互聯(lián)網(wǎng)、GPS等相結(jié)合,將地理信息系統(tǒng)嵌入移動設(shè)備,便于攜帶,操控靈活,是一種新型的空間數(shù)據(jù)采集手段。
移動GIS具有可移動性、服務(wù)實(shí)時性、終端多樣性、計算能力較強(qiáng)、信息載體多樣性、空間位置準(zhǔn)確等特點(diǎn),一般需要建立在軟件、硬件和無線通訊網(wǎng)絡(luò)的基礎(chǔ)上,屬于二次開發(fā)的應(yīng)用系統(tǒng)。移動GIS一般采用如下的數(shù)據(jù)控制流程,首先,移動設(shè)備通過衛(wèi)星定位和移動互聯(lián)網(wǎng)基站定位,獲取移動設(shè)備的空間位置,記錄位置信息,通過提前加載到GIS系統(tǒng)中的底圖或影像圖,確定信息采集者的具體位置,通過無線網(wǎng)絡(luò)訪問網(wǎng)絡(luò)服務(wù)器和GIS服務(wù)器,服務(wù)器實(shí)時讀取數(shù)據(jù)庫中數(shù)據(jù),經(jīng)過計算或處理后,反饋給移動終端。
安卓操作平臺是美國谷歌公司研發(fā)的基于Linux平臺的手機(jī)操作系統(tǒng),是一種開放源代碼的手機(jī)平臺,具有占用系統(tǒng)資源少、運(yùn)行速度快、界面友好、開發(fā)門檻低、應(yīng)用廣泛等特點(diǎn)。安卓系統(tǒng)一般包含Activity、Service、Broadcast Receiver、Content Provider等四個主要組成部分,安卓平臺一般提供短信、語音通話、數(shù)據(jù)檢索、衛(wèi)星定位等服務(wù)。安卓平臺開發(fā)一般以Java語言為基礎(chǔ),通過Activity建立應(yīng)用程序窗口,Activity相當(dāng)于前景程序,而對應(yīng)Activity的背景程序即Service,前景與背景通過Service Connection通信,達(dá)到程序復(fù)用和調(diào)用的目的。安卓平臺提供View方式的布局,一般從XML配置文件中讀取數(shù)據(jù),常規(guī)情況下,Activity也是從XML中間接取得View,View是事件驅(qū)動的,系統(tǒng)提供了監(jiān)聽器,將Activity和View聯(lián)系起來,所有事件的觸發(fā)都要向Activity注冊和綁定View.OnClickListener等接口。
在土地調(diào)查、地籍調(diào)查、權(quán)屬調(diào)查等作業(yè)過程中,移動定位服務(wù)扮演著關(guān)鍵的角色,在野外作業(yè)工程中,由于地廣人稀、環(huán)境空曠等原因,很難像在城市中作業(yè)時找到參照物,利用移動定位技術(shù),可以快速進(jìn)入作業(yè)區(qū)域,通過定位找到目標(biāo)地物的具體位置,減少錯誤操作,同時可以實(shí)時記錄作業(yè)位置和作業(yè)軌跡,對作業(yè)人員的安全起到一定的保障作用,應(yīng)用移動定位技術(shù)在農(nóng)業(yè)信息采集過程中十分必要。
傳統(tǒng)的農(nóng)業(yè)信息采集系統(tǒng)一般是調(diào)用已有數(shù)據(jù)底圖或影像,按照標(biāo)準(zhǔn)分幅,制作成紙質(zhì)調(diào)繪片,再將調(diào)繪片固定在60cm×60cm的木質(zhì)繪圖平板上,野外作業(yè)員背著平板和調(diào)繪片深入作業(yè)區(qū)域,用鉛筆繪制、標(biāo)注農(nóng)業(yè)相關(guān)信息。傳統(tǒng)的作業(yè)方式費(fèi)時費(fèi)力,受野外環(huán)境限制大,例如,外出作業(yè)時遇到雨雪天氣容易造成已有成果的損壞,因此農(nóng)業(yè)部門提出需求,能否設(shè)計并實(shí)現(xiàn)手持移動終端的農(nóng)業(yè)信息采集系統(tǒng)。
系統(tǒng)的功能需求描述為:針對野外作業(yè)條件的特殊性,需要設(shè)計并實(shí)現(xiàn)基于安卓平臺的農(nóng)業(yè)信息采集系統(tǒng),滿足作業(yè)人員軌跡記錄、信息采集、地物圈繪、現(xiàn)場照片采集、地圖顯示、地圖導(dǎo)入導(dǎo)出、作業(yè)成果導(dǎo)出等功能。要求定位迅速、準(zhǔn)確,采集現(xiàn)場照片附帶經(jīng)緯度等元數(shù)據(jù),能夠滿足在強(qiáng)光、陰天、霧霾、小雨撐傘等特殊天氣環(huán)境中作業(yè),單機(jī)續(xù)航時間不少于2h,附帶充電寶連續(xù)作業(yè)時間不少于8h,導(dǎo)出數(shù)據(jù)格式能夠與國家相關(guān)數(shù)據(jù)標(biāo)準(zhǔn)無縫對接,數(shù)據(jù)格式可定制。
安卓移動設(shè)備終端通過GPS衛(wèi)星定位,實(shí)時獲取作業(yè)人員位置,在移動互聯(lián)網(wǎng)基站通信滿足數(shù)據(jù)傳輸要求時,通過移動互聯(lián)網(wǎng)與服務(wù)器交互,在通信不滿足數(shù)據(jù)傳輸要求時,先在移動設(shè)備終端暫存,待滿足傳輸條件時再傳輸。數(shù)據(jù)交互時經(jīng)過防火墻,訪問網(wǎng)絡(luò)服務(wù)器,網(wǎng)絡(luò)服務(wù)器采用Tomcat,數(shù)據(jù)服務(wù)分為基礎(chǔ)數(shù)據(jù)服務(wù)器和空間數(shù)據(jù)服務(wù)器,基礎(chǔ)數(shù)據(jù)服務(wù)器保存農(nóng)業(yè)信息采集需要的基本信息,空間數(shù)據(jù)服務(wù)器采用ArcGIS Server,處理和保存空間數(shù)據(jù)(如圖1所示):
圖1 系統(tǒng)架構(gòu)圖
經(jīng)過分析,系統(tǒng)設(shè)計規(guī)劃為四大功能模塊,分別是地圖管理、數(shù)據(jù)采集、軌跡管理和系統(tǒng)管理,下設(shè)12個子模塊,地圖管理模塊包括影像瓦片管理、要素服務(wù)、地圖顯示,數(shù)據(jù)采集模塊包括照片采集、類別采集、幾何服務(wù),軌跡管理模塊包括軌跡采集、軌跡導(dǎo)出、作業(yè)范圍導(dǎo)入,系統(tǒng)管理模塊包括數(shù)據(jù)同步、用戶管理、權(quán)限管理,系統(tǒng)功能模塊圖(如圖2所示):
圖2 農(nóng)業(yè)信息采集系統(tǒng)功能模塊圖
系統(tǒng)數(shù)據(jù)庫采用PostgreSQL,數(shù)據(jù)庫表之間符合第三范式,系統(tǒng)三張核心數(shù)據(jù)表:用戶表、要素表和軌跡表及其之間的關(guān)系E-R圖(如圖3所示):
圖3 系統(tǒng)核心數(shù)據(jù)表ER圖
本論文采用交叉定位算法獲取作業(yè)人員手持移動終端的位置信息。系統(tǒng)開發(fā)環(huán)境為IntelliJ IDEA整合Android Studio,算法通過Java語言實(shí)現(xiàn)。
對于N(N>2)個定位點(diǎn),當(dāng)定位點(diǎn)獲取位置誤差在允許區(qū)間內(nèi)時,各點(diǎn)位置目標(biāo)N條直線交于目標(biāo)的真實(shí)坐標(biāo),如果超出誤差允許區(qū)間,則N條直線并不一定交于真實(shí)坐標(biāo),此時可以通過函數(shù)近似值估算出目標(biāo)坐標(biāo)(如圖4所示):
圖4 交叉定位近似值估算圖
目標(biāo)坐標(biāo)到N條直線的距離平方和如式(1)所示:
式(1)分別對x0、y0求偏導(dǎo)數(shù),并令其等于0,可以得到方程式如式(2)所示:
進(jìn)一步可以求出目標(biāo)坐標(biāo)點(diǎn)的近似估算值如式(3)所示:
式(3)中,當(dāng)θi=90°或θi=270°時,Ai=1,Bi=0,Ci=-xi;當(dāng)θi為其他值時,Ai=tan(θi),Bi=-1,Ci=-tan(θi)·xi。
為了提高獲取坐標(biāo)的精度,可以多次迭代使用交叉定位算法,找到噪聲較大的點(diǎn)位,用第一次求得近似值的位置坐標(biāo)對噪聲點(diǎn)使用新的算法,在聯(lián)合其他點(diǎn)位的初始值,對噪聲點(diǎn)位進(jìn)行二次乃至多次估值。
地圖管理模塊主要有兩個功能:(1)管理矢量數(shù)據(jù);(2)管理影像底圖,由于影像較大,因此采取裁切為瓦片分塊顯示的形式,地圖管理還包含地圖的縮放、平移、矢量對象的選取(點(diǎn)選、拉框選)等(如圖5所示):
圖5 農(nóng)業(yè)信息采集系統(tǒng)地圖管理模塊
數(shù)據(jù)采集模塊是農(nóng)業(yè)信息采集系統(tǒng)的核心模塊,主要負(fù)責(zé)地物的圈繪、屬性數(shù)據(jù)錄入、現(xiàn)場照片采集、屬性數(shù)據(jù)編輯、數(shù)據(jù)導(dǎo)出等功能??紤]到野外作業(yè)受一定環(huán)境因素的限制,為了簡化操作,多個屬性字段采取選擇輸入的方式,農(nóng)作物類型預(yù)先錄入系統(tǒng),采用彈出選擇對話框的方法,既便于操作,又降低了錄入錯誤率(如圖6所示):
圖6 系統(tǒng)數(shù)據(jù)采集模塊
在野外作業(yè)時,作業(yè)員往往身處曠野,作業(yè)人員的行走軌跡是否在安全區(qū)域范圍內(nèi),作業(yè)人員走過哪些軌跡,這些信息都要錄入系統(tǒng)保存,以備發(fā)生問題時查閱,軌跡管理相當(dāng)于作業(yè)員的行走日志,記錄著作業(yè)人員的運(yùn)動路線。軌跡管理主要通過獲取GPS信號,每隔一定距離記錄點(diǎn)位數(shù)據(jù),再將點(diǎn)位數(shù)據(jù)連成曲線矢量對象,經(jīng)過平滑后即為軌跡數(shù)據(jù)。一般默認(rèn)的間隔打點(diǎn)距離為5m,可以在系統(tǒng)中進(jìn)行設(shè)置,打點(diǎn)距離越大,消耗系統(tǒng)資源越少,存儲數(shù)據(jù)量也相對減少;打點(diǎn)距離越小,可能會浪費(fèi)更多的電能,但是軌跡更加精確,不會漏掉軌跡中的關(guān)鍵點(diǎn)(如圖7所示):
圖7 系統(tǒng)軌跡模塊
通過需求調(diào)研、系統(tǒng)開發(fā)、系統(tǒng)測試、用戶使用、需求回歸、再開發(fā)測試等環(huán)節(jié),該系統(tǒng)已經(jīng)投入使用,并獲得國家軟件著作權(quán),后續(xù)系統(tǒng)會繼續(xù)升級,加入矢量編輯功能,并升級照片采集功能,加入數(shù)據(jù)水印功能,該系統(tǒng)可在一定區(qū)域范圍內(nèi)填補(bǔ)行業(yè)空白?;诎沧科脚_的農(nóng)業(yè)信息采集系統(tǒng)是響應(yīng)國家農(nóng)業(yè)“一張圖”戰(zhàn)略布局號召,簡化農(nóng)業(yè)信息普查步驟,便于快速、準(zhǔn)確地獲取農(nóng)業(yè)數(shù)據(jù),是移動通信技術(shù)、移動互聯(lián)網(wǎng)技術(shù)、空間定位技術(shù)、軟件技術(shù)和農(nóng)業(yè)信息化的一次有力結(jié)合,對國家農(nóng)業(yè)信息化的發(fā)展具有一定的推進(jìn)作用。