亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于World Wind移動端的地質(zhì)數(shù)據(jù)野外采集系統(tǒng)①

        2019-04-29 08:58:30陳根深劉軍旗張志庭
        計算機系統(tǒng)應(yīng)用 2019年4期
        關(guān)鍵詞:圖幅線程投影

        陳根深,劉軍旗,何 憶,黃 挺,張志庭,劉 剛

        1(中國地質(zhì)大學(xué)(武漢)教育部長江三峽庫區(qū)地質(zhì)災(zāi)害研究中心,武漢 470074)

        2(中國地質(zhì)大學(xué)(武漢)計算機學(xué)院,武漢 430074)

        3(中國地質(zhì)大學(xué)(武漢)智能地學(xué)信息處理湖北省重點實驗室,武漢 430074)

        1 引言

        野外地質(zhì)數(shù)據(jù)采集作為地理信息系統(tǒng)中重要的部分,是開展地質(zhì)研究的基礎(chǔ),其質(zhì)量直接影響解釋結(jié)果與客觀實際的接近程度[1-6].野外地質(zhì)數(shù)據(jù)具有類型繁多、信息量龐大、內(nèi)容復(fù)雜、以描述性信息為主、受人為因素以及其他因素的影響等特點,傳統(tǒng)的野外地質(zhì)數(shù)據(jù)采集工作是使用野簿記錄,地質(zhì)人員將采集到紙質(zhì)數(shù)據(jù)帶回去并對其進行數(shù)字化成為電子文件或?qū)⑵浯嫒霐?shù)據(jù)庫中,通過紙質(zhì)數(shù)據(jù)與原圖進行比較來檢查.具有記錄內(nèi)容隨意、格式不規(guī)范以及使用不方便等缺點,數(shù)字化過程繁瑣也會降低數(shù)據(jù)采集的質(zhì)量和準確性,容易存在數(shù)據(jù)質(zhì)量問題,難以滿足地學(xué)定量化和地礦信息化的要求[7,8].傳統(tǒng)的掌機具有輕便與省點的優(yōu)點,但其內(nèi)存小,一般只有32 M,處理圖形能力差,只適合記錄文字信息,無法滿足記錄大量的地層、構(gòu)造以及礦產(chǎn)等屬性信息以及遙感影像、素描與數(shù)碼照片等數(shù)碼信息的實際工作需求[9,10].智能化的數(shù)據(jù)采集系統(tǒng)主要是基于掌上電腦(PDA)的野外采集系統(tǒng),通過將PDA 集成在某種儀器設(shè)備上,用戶可以通過設(shè)備原裝軟件進行數(shù)據(jù)處理,從而將GPS 與GIS 系統(tǒng)結(jié)合,實現(xiàn)地質(zhì)數(shù)據(jù)采集數(shù)字化,但其價格高昂,功能受硬件約束較大,在全面性與易用性上存在不足.

        隨著移動通信網(wǎng)絡(luò)的快速發(fā)展和移動電子設(shè)備的快速升級,移動設(shè)備的普及性得到極大提高,尤其是近幾年井噴式的發(fā)展,基于Android 平臺的智能設(shè)備因具有用戶數(shù)量大、應(yīng)用場景多、開發(fā)成本低、攜帶與充電方便等優(yōu)勢,得到了廣泛的應(yīng)用.

        本文基于開源的Android 平臺,集成World Wind 地圖技術(shù)、網(wǎng)絡(luò)通信技術(shù)、多線程技術(shù)和數(shù)據(jù)存儲技術(shù),針對野外地質(zhì)采集工作中存在的步驟繁瑣、效率低、工作周期長等問題,研發(fā)了一種基于World Wind 移動端的地質(zhì)數(shù)據(jù)野外采集系統(tǒng),充分利用移動互聯(lián)網(wǎng)的普遍性與便捷性,實現(xiàn)野外地質(zhì)工作的信息化采集、瀏覽和展示,為地質(zhì)研究工作人員提供便捷的數(shù)據(jù)錄入方式,提高野外地質(zhì)數(shù)據(jù)采集的工作效率.

        2 系統(tǒng)設(shè)計

        2.1 系統(tǒng)設(shè)計分析

        地質(zhì)數(shù)據(jù)野外采集系統(tǒng)主要針對的用戶群體為從事地質(zhì)勘查數(shù)據(jù)采集的研究工作人員,考慮到用戶群體的特殊性,需要對系統(tǒng)進行性能、可靠性、可擴展性等需求進行分析.Android 系統(tǒng)已經(jīng)較為完善,但由于國內(nèi)基于World Wind 移動端開發(fā)的例子很少,依據(jù)實際業(yè)務(wù)需求,在系統(tǒng)設(shè)計與實現(xiàn)中需要解決以下3 個難點:(1)系統(tǒng)健壯性與可擴展性.考慮到移動智能設(shè)備的迅速升級和地質(zhì)工作信息化的進一步推進,系統(tǒng)需要隨著業(yè)務(wù)的更新與設(shè)備的升級進一步優(yōu)化,不僅要求能夠靈活修改已有的功能模塊,還要求能夠方便添加新的功能模塊.(2)基于北斗/GPS 和移動網(wǎng)絡(luò)的綜合定位策略.GPS 定位精度高,但是獲取定位的時間較長,同時對所處地形和所在區(qū)域的衛(wèi)星數(shù)量有一定要求;移動網(wǎng)絡(luò)的定位精度較低,但是獲取定位的時間較短.(3)基于World Wind 移動GIS 圖形編輯、導(dǎo)航及投影研究.

        通過分析,針對以上問題分別提出的解決方案如下:(1)系統(tǒng)需要較大的冗余空間,充分采用模塊設(shè)計模式,為將來的功能擴展和系統(tǒng)升級優(yōu)化做好鋪墊.(2)建立北斗/GPS 與移動網(wǎng)絡(luò)結(jié)合的綜合定位策略,在定位過程中,當無法通過GPS 定位時,通過移動網(wǎng)絡(luò)獲取定位,當獲取到GPS 定位后,用GPS 定位替換移動網(wǎng)絡(luò)定位.在此基礎(chǔ)上,基于移動GIS 的可視化采集用戶接口,實現(xiàn)結(jié)構(gòu)化與非結(jié)構(gòu)化的原始數(shù)據(jù)在矢量化地質(zhì)底圖的實時定位錄入.(3)World Wind 移動端開發(fā)包括基于空間庫的地質(zhì)底圖數(shù)據(jù)組織與配置,基于移動端World Wind 控件的開發(fā),以及圖層管理、自定義圖形、地圖標注、屬性查詢、空間查詢及空間量算與空間分析[11].

        2.2 系統(tǒng)體系架構(gòu)

        整個系統(tǒng)分為用戶界面層、邏輯功能層和數(shù)據(jù)訪問層,如圖1所示.用戶界面層為用戶提供友好的圖形交互界面,包括界面顯示、地圖加載顯示和數(shù)據(jù)對話框展示等;邏輯功能層是針對某種特定的業(yè)務(wù)需求提供完整的邏輯功能,包括移動設(shè)備的觸屏基本操作、數(shù)據(jù)編輯、數(shù)據(jù)上傳和數(shù)據(jù)更新等[12];數(shù)據(jù)訪問層用于對數(shù)據(jù)進行訪問、管理及標準化.通過響應(yīng)用戶的請求,形成相應(yīng)的檢索語句,對用戶所采集的數(shù)據(jù)進行數(shù)據(jù)庫增刪改查等管理操作.

        2.3 功能模塊設(shè)計

        地質(zhì)數(shù)據(jù)野外采集系統(tǒng)旨在輔助地質(zhì)研究工作人員在野外便捷、精確地采集各種地質(zhì)勘查數(shù)據(jù),因此在采用模塊化設(shè)計模式的基礎(chǔ)上,系統(tǒng)主要分為GPS/北斗定位模塊、地球三維展示模塊、可視化數(shù)據(jù)錄入模塊、數(shù)據(jù)導(dǎo)出模塊、可視化數(shù)據(jù)編輯模塊、移動GIS 地質(zhì)實體投影模塊和移動GIS 地質(zhì)實體導(dǎo)航模塊,總體功能結(jié)構(gòu)如圖2所示.

        2.3.1 定位模塊

        定位模塊通過北斗/GPS 衛(wèi)星導(dǎo)航系統(tǒng)結(jié)合移動基站進行目標地的定位與位置信息獲取,利用GIS 地圖對所在的位置進行實時顯示并與用戶實時交互.主要分為網(wǎng)絡(luò)定位和衛(wèi)星定位.網(wǎng)絡(luò)定位時通過集成百度底圖進行定位,衛(wèi)星定位是通過北斗或者GPS 芯片進行定位.衛(wèi)星定位利用北斗衛(wèi)星導(dǎo)航系統(tǒng)進行目標的定位與位置信息獲取,北斗衛(wèi)星導(dǎo)航系統(tǒng)是由空間段、地面段和用戶段三部分組成.其可在全球范圍內(nèi)全天候、全天時為各類用戶提供高精度、高可靠性定位、導(dǎo)航和授時服務(wù),并具有短報文通信能力,已經(jīng)初步具備區(qū)域?qū)Ш?、定位和授時能力,定位精度10 米,測速精度02 米/秒,授時精度10 納秒[13,14].北斗模塊的定位原理:首先移動設(shè)備發(fā)送信號到衛(wèi)星,接著衛(wèi)星轉(zhuǎn)發(fā)到總控站進行解算,然后總控站把解算結(jié)果轉(zhuǎn)發(fā)給衛(wèi)星.最后,衛(wèi)星將結(jié)果傳回到客戶端.延遲相對較高,但是定位精度相對較高.百度地圖定位時通過百度地圖得到定位信息,利用GIS 地圖所在位置進行實時顯示,其中調(diào)用GIS 地圖服務(wù)必須先獲取其Map API Key.在野外工作中,網(wǎng)絡(luò)定位受信號、設(shè)備等因素的影響,精度一般在10-20 米左右,GPS 定位也會受到云層、地形等因素的影響導(dǎo)致定位誤差;因此,建立北斗/GPS 與移動網(wǎng)絡(luò)結(jié)合的綜合定位策略,在定位過程中,當無法通過GPS 定位時,通過移動網(wǎng)絡(luò)獲取定位,當獲取到GPS 定位后,用GPS 定位替換移動網(wǎng)絡(luò)定位.在此基礎(chǔ)上,基于移動GIS 的可視化采集用戶接口,實現(xiàn)結(jié)構(gòu)化與非結(jié)構(gòu)化的原始數(shù)據(jù)在矢量化地質(zhì)底圖的實時定位錄入.

        圖1 系統(tǒng)體系架構(gòu)

        圖2 系統(tǒng)功能結(jié)構(gòu)圖

        2.3.2 數(shù)據(jù)操作模塊

        對地質(zhì)數(shù)據(jù)進行錄入和保存,同時基于定位模塊實現(xiàn)可視化的數(shù)據(jù)錄入和數(shù)據(jù)編輯,該模塊根據(jù)業(yè)務(wù)需求分為六個子模塊:巖體、土體、水體、構(gòu)造、資源和災(zāi)害,如圖3所示.巖體數(shù)據(jù)錄入主要記錄野外巖體調(diào)查點的巖體綜合信息,包括地理位置、經(jīng)緯度坐標、巖體名稱、高程、巖性等;土體數(shù)據(jù)錄入主要記錄土質(zhì)類型、顏色、顆粒粗細等;水體數(shù)據(jù)錄入主要記錄水體類型、流量、水深、動態(tài)變化等;構(gòu)造數(shù)據(jù)主要記錄構(gòu)造類型、走向等;資源數(shù)據(jù)主要記錄調(diào)查點的礦種類別、資源量、礦體特征等;災(zāi)害數(shù)據(jù)主要記錄調(diào)查點的災(zāi)害類型、災(zāi)害范圍、災(zāi)害程度等.

        圖3 數(shù)據(jù)錄入模塊結(jié)構(gòu)圖

        2.3.3 實體投影模塊

        實體投影主要是能夠在World Wind 地球儀上對調(diào)查路線調(diào)查區(qū)進行實體投影,方便野外工作人員采集數(shù)據(jù);同時也能夠?qū)ぷ魅藛T當前位置進行投影展示,進行導(dǎo)航或通過在底圖上投影的調(diào)查點查看采集的調(diào)查點的詳細信息.投影包括調(diào)查點投影以及實際勘探路線直線投影,導(dǎo)航指通過點擊地圖上調(diào)查點投影跳轉(zhuǎn)到對應(yīng)的調(diào)查點詳情界面.

        要在地圖上獲得實際路線投影,首先要遍歷數(shù)據(jù)庫里的所有調(diào)查點,使用HashMap 將不同圖幅的調(diào)查點進行分組,同一圖幅調(diào)查點放到同一個List 數(shù)列中;再依次對同一圖幅的調(diào)查點List 使用HashMap 分組得到每條路線所對應(yīng)的調(diào)查點List.根據(jù)同一路線的每個調(diào)查點的經(jīng)緯度創(chuàng)建一個position 對象,創(chuàng)建path對象并將所有position 加入其中,最后將path 對象加入RenderableLayer 對象中,再將RenderableLayer加入World Wind 圖層即可在地圖上顯示路線投影.

        調(diào)查點投影遍歷數(shù)據(jù)庫下所有調(diào)查點,對每個調(diào)查點創(chuàng)建Placemark(地標:調(diào)查點標志)和Lable(標簽:調(diào)查點編號)對象,并將其加入RenderableLayer 對象中,再將RenderableLayer 加入World Wind 圖層即可在地圖上顯示調(diào)查點投影.調(diào)查點導(dǎo)航首先需要添加觸摸事件,判斷觸摸的是否為所添加的調(diào)查點投影.若為調(diào)查點投影,則根據(jù)該點的經(jīng)緯度與所有調(diào)查點的經(jīng)緯度進行比較,若一致,則使用startActivity 函數(shù)并攜帶Point 對象跳轉(zhuǎn)到相對應(yīng)的調(diào)查點詳情界面.

        2.3.4 三維展示模塊

        三維展示模塊可以很好地展現(xiàn)地球的各種宏觀形態(tài),可以對地球上的一些人類活動進行模擬;通過旋轉(zhuǎn)地球,可以從多角度來觀察地球上的地形地貌;通過“日夜循環(huán)”模式,清晰地了解地球自轉(zhuǎn)情況,通過模擬飛行器繞地飛行,宏觀地展示地面的復(fù)雜情況,方便規(guī)劃飛行路線;該模塊還可以在地表進行地標的拖拽、分析地表紋理以及在地球上進行一些簡單的模型搭建等等.

        2.4 數(shù)據(jù)庫設(shè)計

        2.4.1 圖幅基本信息數(shù)據(jù)庫設(shè)計

        圖幅基本信息數(shù)據(jù)庫用于存儲每張圖幅切片所對應(yīng)的基本信息,用戶選擇圖幅后系統(tǒng)可以根據(jù)數(shù)據(jù)庫中的入伏基本信息和SD 卡中對應(yīng)的圖幅,將其加載到World Wind 地圖上,圖幅基本信息表數(shù)據(jù)結(jié)構(gòu)如表1所示.

        表1 圖幅基本信息表數(shù)據(jù)結(jié)構(gòu)

        2.4.2 地質(zhì)數(shù)據(jù)庫設(shè)計

        系統(tǒng)數(shù)據(jù)庫模型采用圖幅-路線-調(diào)查點以及調(diào)查點的相關(guān)地質(zhì)要素數(shù)據(jù),包括巖體、土體、水體、構(gòu)造、資源、災(zāi)害6 大要素.地質(zhì)數(shù)據(jù)模型E-R 圖如圖4所示.

        圖4 地質(zhì)數(shù)據(jù)模型E-R 圖

        對地質(zhì)數(shù)據(jù)進行錄入和保存,按照地質(zhì)要素分類,每個地質(zhì)要素類別中包含多張數(shù)據(jù)表,例如調(diào)查點要素類別中包含調(diào)查點基本信息表、調(diào)查點查證表、樣品信息表、調(diào)查點影像表和應(yīng)用評價表;水體要素類別中包含水體(泉)調(diào)查表、水體(井、鉆孔)調(diào)查點表、水體(河)調(diào)查點表、井/孔水文地質(zhì)柱狀圖信息表等;其他地質(zhì)要素類別中包含的數(shù)據(jù)表歸納整理后,如表2所示.

        表2 地質(zhì)數(shù)據(jù)庫表清單

        其中以調(diào)查點基本信息數(shù)據(jù)表為例的數(shù)據(jù)結(jié)構(gòu)如表3所示,數(shù)據(jù)表采用GUID 主鍵,其中調(diào)查點統(tǒng)一編號、圖幅編號、路線編號和調(diào)查點號為必填字段,當用戶在數(shù)據(jù)錄入時,遺漏填寫必填字段,系統(tǒng)在交互界面中設(shè)計有溫馨提示對話框.

        表3 調(diào)查點數(shù)據(jù)表的數(shù)據(jù)結(jié)構(gòu)表

        5 調(diào)查點性 PointType varchar 10 不必6 調(diào)查種類 PointSort varchar 2 不必7 調(diào)查手段 PointMethod varchar 10 不必8 地理位置 Location varchar 80 不必9 經(jīng)度 Longitude double 20 ° 不必10 緯度 Latitude double 20 ° 不必11 高程 Altitude float 2 m 不必12 調(diào)查日期 SurveyDate Date 不必13 天氣狀況 Weather varchar 10 不必14 記錄人 Recorder varchar 20 不必15 參加人員 Participant varchar 40 不必

        3 系統(tǒng)關(guān)鍵技術(shù)

        3.1 World Wind 地圖技術(shù)

        在GIS 底圖選取時,使用基于World Wind 的三維地球儀作為載體,替換傳統(tǒng)的二維平面底圖.World Wind 是美國航空宇航局研發(fā)的一款開源的地理軟件,能夠展現(xiàn)NASA、UGCS 等服務(wù)商所提供的地球圖像,是一個可視化地球儀.World Wind 實質(zhì)上是為應(yīng)用程序表達、處理和分析空間數(shù)據(jù)提供了一個平臺,其最大的特性是它是唯一擁有將多種公開和專用地理數(shù)據(jù)聚合功能,不但可以提供NASA 自身的數(shù)據(jù),還可以提供從其他政府部門、行業(yè)和普通大眾中得到的數(shù)據(jù);此外,它還能夠自動更新衛(wèi)星數(shù)據(jù),應(yīng)用程序通過其接口可以獲取最新的衛(wèi)星數(shù)據(jù),例如火山噴發(fā)、地震等衛(wèi)星影像.軟件開發(fā)人員能夠使用該軟件迅速搭建一個應(yīng)用程序,實現(xiàn)地圖與地理信息的可視化交互,也能夠根據(jù)特定領(lǐng)域的需求,研發(fā)相關(guān)的應(yīng)用程序.

        World Wind 在地圖顯示時通過采用使用多分辨率圖層技術(shù),達到快速瀏覽、縮放遙感影像數(shù)據(jù)的目的.所謂多分辨率圖層技術(shù)[15]就是對被顯示的數(shù)據(jù)進行重采樣,提取不同分辨率的圖層,然后根據(jù)World Wind 的視距顯示不同分辨率的圖層.World Wind 首先對地球進行網(wǎng)格劃分,在不同的分辨率層次上劃分大小不同的網(wǎng)格,并進行編號[16].在第0 層,World Wind將地球分成50 塊瓦片,每一塊影像跨度為36°×36°;第1 層在圖層0 的基礎(chǔ)上提高4 倍的分辨率,也就是說對于同一影像,它被分成18°×18°的片段,因此產(chǎn)生200 塊信息的瓦片;在圖層2,分辨率提高到含有800 塊9°×9°的瓦片;圖層3 就是4.5°×4.5°,而且含有3200 塊瓦片,以此類推.

        World Wind 采用了先進的流傳輸技術(shù),傳統(tǒng)的數(shù)據(jù)傳輸方式是直接傳輸空間數(shù)據(jù),而World Wind 客戶端和服務(wù)器采用了傳輸圖片的方式,也就是說當用戶向服務(wù)器請求數(shù)據(jù)時,服務(wù)器不用即時生成數(shù)據(jù),而是將先前準備好的圖片數(shù)據(jù)拼接成用戶需要的范圍,并返回給用戶,這在一定程度上極大地降低了服務(wù)器和網(wǎng)絡(luò)寬帶的負擔.

        相對于具有較強商業(yè)性的GoogleEarth,World Wind 是完全免費的,其本身并不是一個應(yīng)用程序,而是一個SDK,能夠提供完全開源的API 來進行軟件開發(fā)的工具包,其數(shù)據(jù)也更全面,結(jié)構(gòu)更開放,支持加載GoogleEarth 的KML 文件.

        World Wind 地圖的實現(xiàn)主要包含以下幾個步驟:

        1)使用Gradle 將World Wind 庫添加到項目中;

        2)在Activity 對應(yīng)布局文件中添加FragmentLayout;

        3)在Activity 中創(chuàng)建一個WorldWindow 的實例并添加到FragmentLayout 中;

        4)要使得WorldWind 地球能夠下載圖像,需要將下面兩個網(wǎng)絡(luò)訪問權(quán)限添加到AndroidManifest 中.

        <uses-permission android:name=”android.permission.INTERNET”/>

        <uses-permission android:name=”android.permission.ACCESS_NETWORK_STATE”/>

        3.2 網(wǎng)絡(luò)通信技術(shù)

        Android 提供了兩種常用的網(wǎng)絡(luò)通信方式,分別包括使用TCP/IP 協(xié)議的Socket 通信以及另一種基于HTTP 協(xié)議的[17].本系統(tǒng)研發(fā)采用基于TCP/IP 協(xié)議的Socket,主要是因為HTTP 采用了“請求-響應(yīng)”方式,服務(wù)器不能主動向客戶端發(fā)送消息,而系統(tǒng)的進一步完善,服務(wù)器發(fā)送、更新以及服務(wù)器主動確認客戶端實時位置等可能都需要服務(wù)器向客戶端發(fā)送請求;TCP是面向連接的,其三握手原則能確保將連接的不穩(wěn)定性降到最低.而不采用UDP 套接字是因為UDP 不是面向連接的,不需要在數(shù)據(jù)傳輸之前建立連接,并且在接收到數(shù)據(jù)之后也不會向數(shù)據(jù)源發(fā)送確認信號.發(fā)送端沒有接收到確認信號,便無法確認是否數(shù)據(jù)成功發(fā)送到對方手上,當然也不需要你重新發(fā)送數(shù)據(jù),因此它是一種沒有連接、缺乏可靠性的一種數(shù)據(jù)傳輸協(xié)議.而地質(zhì)數(shù)據(jù)十分重要,保證數(shù)據(jù)傳輸?shù)目煽啃?、安全性決定了我們應(yīng)該使用TCP 套接字.系統(tǒng)Android 客戶端和服務(wù)器端利用Socket 進行數(shù)據(jù)交互通信的具體流程如圖5所示.

        3.3 多線程技術(shù)

        Android 一般會將線程分為兩種,其中一種叫做Main Thread,其余的線程則被稱為Worker Thread.當用戶在運行某個程序的時候,Android 操作系統(tǒng)都會開啟一個主要的線程給該程序,這個線程主要被用來加載UI 界面,與用戶進行交互并將交互結(jié)果根據(jù)需要顯示到屏幕上,這個線程通常被稱為Main Thread,又叫UI Thread.程序要想在Worker Thread 中更新Main Thread 的UI 界面,這就涉及到Worker Thread 和Main Thread 之間的消息通信問題[18].Android 操作系統(tǒng)為開發(fā)人員提供了處理多線程之間的消息通信問題的兩種方式:Handler 機制和AsyncTask 機制.

        (1)通過Handle 機制來實現(xiàn)的通信方式:Android 一般使用Handler 處理線程中的消息隊列,每當線程中的Looper 對象獲取到消息隊列傳過來的某個消息時,Handler 就會把該消息發(fā)送給對象,每個線程中只能包含唯一的一個Handler 對象,使用該Handler對象便可以向其對應(yīng)的線程傳遞消息,即Message 對象;Handler 一般用于實現(xiàn)某一個定時的任務(wù)或者用于線程之間的數(shù)據(jù)傳遞.

        (2)通過AsyncTask 機制來實現(xiàn)的通信方式:Async Task 通過將線程池和Handler 進行封裝來處理線程間的通信問題,其優(yōu)點在于能夠比較方便地在主線程中進行用戶界面更新,主要是因為AsyncTask 中擁有一個Handler 對象,能夠向主線程傳遞消息并讓其更新界面;使用線程池是為了避免不必要的線程創(chuàng)建和銷毀.

        本文使用多線程機制主要是為了進行網(wǎng)絡(luò)數(shù)據(jù)請求,在進行網(wǎng)絡(luò)請求時,往往耗時較久,需要在子線程中進行,由于Handler 具有結(jié)構(gòu)清晰,函數(shù)定義清晰等特點,本文也不需要AsyncTask 所包含的線程池進行管理,因此采用Handler 機制來解決主線程與工作線程之間的通信問題,具體實現(xiàn)流程如圖6所示.

        3.4 數(shù)據(jù)存儲技術(shù)

        數(shù)據(jù)持久化通常指將存儲在某個存儲器中的臨時數(shù)據(jù)存儲到設(shè)備中,確保設(shè)備關(guān)閉時數(shù)據(jù)不會丟失.本系統(tǒng)采用了兩種數(shù)據(jù)持久化方式:文件存儲到SD 卡和SQLite 數(shù)據(jù)庫存儲.文件存儲到SD 卡中主要用于存儲較大的圖幅切片,結(jié)構(gòu)性復(fù)雜、數(shù)據(jù)量大的關(guān)系型數(shù)據(jù)存儲到SQLite 數(shù)據(jù)庫.文件存儲不會對保存的數(shù)據(jù)做任何格式化的處理,任何數(shù)據(jù)都是按照其原本的狀態(tài)存儲到對應(yīng)的文件中,文件存儲適合粗出二進制數(shù)據(jù)或者不是很復(fù)雜的文本數(shù)據(jù).SQLite 數(shù)據(jù)庫作為一種輕量級的關(guān)系型數(shù)據(jù)庫,占用了非常少量的系統(tǒng)資源,讀寫速度非???被廣泛應(yīng)用于移動通信中.SQLite 數(shù)據(jù)庫文件存放在應(yīng)用程序根目錄下的databases 目錄里面,不僅支持標準的SQL 語法,還支持數(shù)據(jù)庫的ACID 事務(wù),相對于其他的數(shù)據(jù)庫,其方便之處在于不需要用戶名和密碼等訪問權(quán)限.Android 正是通過將其設(shè)置為操作系統(tǒng)自帶的數(shù)據(jù)庫,進一步促進了數(shù)據(jù)的本地持久化.

        圖5 客戶端與服務(wù)器通信流程圖

        3.4.1 圖幅切片存儲到SD 卡實現(xiàn)步驟

        1)創(chuàng)建File 類,指向圖幅切片保存位置;

        2)創(chuàng)建File 類對應(yīng)的緩存輸出流BufferOutput Stream;

        3)將字節(jié)流數(shù)列轉(zhuǎn)換為Bitmap 對象;

        4)調(diào)用Bitmap 類下的compress 方法將圖片以png 文件格式保存到SD 卡對應(yīng)目錄中.

        3.4.2 SQLite 存儲數(shù)據(jù)實現(xiàn)步驟

        1)完成LitePal 的配置工作;

        2)創(chuàng)建數(shù)據(jù)庫并創(chuàng)建需要的數(shù)據(jù)表;

        3)繼承DataSupport 類,實現(xiàn)增、刪、改、查功能.

        4 系統(tǒng)運行效果測試

        本系統(tǒng)已在Android 系統(tǒng)的設(shè)備上進行安裝調(diào)試,并通過大量的測試,對系統(tǒng)的功能進行優(yōu)化和升級,最終版本已經(jīng)應(yīng)用到實際工作中,并取得較好的效果.系統(tǒng)安裝及運行效果如圖7所示.根據(jù)實際業(yè)務(wù)需求,系統(tǒng)實現(xiàn)了高空鳥瞰圖與地平線視角兩種顯示方式,供用戶在實際應(yīng)用中進行選擇,運行效果如圖8所示.

        圖6 客戶端獲取圖幅多線程數(shù)據(jù)通信流程圖

        圖7 系統(tǒng)安裝及運行界面

        三維展示模塊能夠很好地展示地球的各種宏觀形態(tài),通過旋轉(zhuǎn),可以從多種角度來觀察地球上投影的地形地貌;通過“日夜循環(huán)”模式,模擬飛行器繞地飛行,宏觀地觀察地面的各種復(fù)雜地形情況,方便規(guī)劃野外地質(zhì)勘查路線;也能夠?qū)崿F(xiàn)地標拖拽、紋理分析及模型搭建等.

        圖8 高空鳥瞰圖、地平線視角

        5 總結(jié)

        本文針對地質(zhì)數(shù)據(jù)野外采集與數(shù)字化的實際問題,集成World Wind 地圖技術(shù)、網(wǎng)絡(luò)通信技術(shù)、多線程技術(shù)和數(shù)據(jù)存儲技術(shù),設(shè)計并實現(xiàn)了一種基于World Wind 移動端的地質(zhì)數(shù)據(jù)野外采集系統(tǒng),替換傳統(tǒng)的紙質(zhì)錄入方法和掌上電腦平面文本錄入的方法.基于北斗/GPS 與移動網(wǎng)絡(luò)的綜合定位策略研究取得了較好的成果;基于移動GIS 的可視化數(shù)據(jù)采集用戶接口,實現(xiàn)了結(jié)構(gòu)化與非結(jié)構(gòu)化的原始數(shù)據(jù)矢量化地質(zhì)底圖的實時定位錄入;基于WorldWind 移動GIS 圖形編輯、導(dǎo)航及投影研究取得了突破性成果;本系統(tǒng)的研發(fā)提高了資源勘查工作的效率,減少工作人員數(shù)量,降低資源勘查的成本;利用移動互聯(lián)網(wǎng)的普遍性、便捷性以及安全性實現(xiàn)野外地質(zhì)工作的信息化采集、瀏覽和展示,為用戶提供了一種全新高效的工作方式.

        圖9 數(shù)據(jù)增刪改查效果圖

        猜你喜歡
        圖幅線程投影
        解變分不等式的一種二次投影算法
        基于最大相關(guān)熵的簇稀疏仿射投影算法
        找投影
        找投影
        淺談linux多線程協(xié)作
        基于EXCEL的地形圖圖幅號轉(zhuǎn)換查詢方法
        自然保護地(2015年3期)2015-12-03 02:29:54
        基于ArcMap的圖幅接合表快速生成方法研究
        地形圖圖幅編號規(guī)則及實現(xiàn)
        城市勘測(2014年4期)2014-06-24 14:33:27
        基于Bing Maps的地形圖圖幅編號的網(wǎng)絡(luò)可視化查詢
        測繪通報(2013年2期)2013-12-11 07:27:54
        Linux線程實現(xiàn)技術(shù)研究
        91中文人妻熟女乱又乱| 白白色发布永久免费观看视频| 视频一区中文字幕日韩| 国内精品免费一区二区三区| 无码乱人伦一区二区亚洲一| 老熟女毛茸茸浓毛| 亚洲av激情久久精品人| 免费观看人妻av网站| 中文字幕乱码无码人妻系列蜜桃| 日本大片免费观看完整视频| 成人国产乱对白在线观看| 99久久精品一区二区国产| 久久精品国产精品青草| 无遮挡亲胸捏胸免费视频| 国产一区二区在线观看我不卡 | 久久成人国产精品| 九九精品无码专区免费| 亚洲全国最大的人成网站| 国产无套内射又大又猛又粗又爽| 女人被爽到呻吟gif动态图视看 | 亚洲中文无码精品久久不卡| 国产内射一级一片内射高清视频1 成人av一区二区三区四区 | 洲色熟女图激情另类图区| 性色av无码久久一区二区三区| 高清国产一级毛片国语| 亚洲一区在线二区三区| 成人中文乱幕日产无线码| 初尝黑人嗷嗷叫中文字幕| 日本女优一区二区在线免费观看| 日本伊人精品一区二区三区| 18禁黄久久久aaa片| 无码不卡一区二区三区在线观看| 邻居少妇太爽在线观看| 偷看农村妇女牲交| 亚洲日本va中文字幕久久| 亚洲av网站首页在线观看| 色狠狠一区二区三区中文| 一本一道av无码中文字幕| 日本岛国精品中文字幕| 亚洲最新精品一区二区| 伊人久久大香线蕉综合网站|