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

        ?

        Spatialite在移動端離線數(shù)據(jù)解決方案中的應(yīng)用研究

        2015-02-06 05:12:17陳俊明
        地理空間信息 2015年2期
        關(guān)鍵詞:空間數(shù)據(jù)離線矢量

        陳俊明

        (1.福建省基礎(chǔ)地理信息中心,福建 福州 350003)

        Spatialite在移動端離線數(shù)據(jù)解決方案中的應(yīng)用研究

        陳俊明1

        (1.福建省基礎(chǔ)地理信息中心,福建 福州 350003)

        簡要分析了移動終端數(shù)據(jù)調(diào)用的主要方式,尤其是離線數(shù)據(jù)的調(diào)用格式,重點(diǎn)介紹了Spatialite空間數(shù)據(jù)庫原理,探討了其應(yīng)用于離線空間數(shù)據(jù)查詢分析的可行性,最后根據(jù)實際業(yè)務(wù)需求,實現(xiàn)了基于Spatialite空間數(shù)據(jù)庫的離線數(shù)據(jù)查詢分析與管理。

        Spatialite;移動GIS;離線數(shù)據(jù)

        1 移動客戶端空間數(shù)據(jù)的加載

        目前,移動客戶端加載空間數(shù)據(jù)有在線和離線2種調(diào)用方式。在線的數(shù)據(jù)調(diào)用方式實質(zhì)是訪問已發(fā)布的各種地圖服務(wù),不僅可以實現(xiàn)基本的地圖瀏覽操作與屬性查詢功能,還能滿足用戶對空間分析與幾何運(yùn)算的功能需求,但也存在一定的局限性:第一,用戶并不一定始終處于有網(wǎng)絡(luò)的環(huán)境中;第二,復(fù)雜的空間分析與幾何運(yùn)算需要頻繁地與服務(wù)器進(jìn)行交互,數(shù)據(jù)吞吐量大,對網(wǎng)絡(luò)帶寬要求高。因此,在無法保證網(wǎng)絡(luò)環(huán)境與網(wǎng)絡(luò)帶寬的情況下,離線數(shù)據(jù)調(diào)用方式在實際應(yīng)用中的需求是較為普遍的。

        離線地圖數(shù)據(jù)存儲格式主要有4種:json文本、Shapefile、Spatialite以及地圖緩存(*.bundle/*.tpk)[1],均可較好地支持對離線數(shù)據(jù)的加載與瀏覽。但是,json文本需要預(yù)先加載在線服務(wù)下載獲取;Shapefile數(shù)據(jù)獲取方便,但其本身并不提供對離線數(shù)據(jù)的查詢分析接口,且文件類型太多,不利于數(shù)據(jù)的統(tǒng)一管理;地圖緩存(*.Bundle/*.tpk)則因數(shù)據(jù)量太大,拷貝或攜帶都相對不方便,同樣不支持對數(shù)據(jù)的查詢與分析。作為開源的輕量級空間數(shù)據(jù)庫,Spatialite支持SQL語句對幾何類型字段的操作,因此,本研究結(jié)合實際項目需求,在了解和掌握Spatialite空間數(shù)據(jù)庫原理的基礎(chǔ)上,探索研究在移動客戶端實現(xiàn)離線數(shù)據(jù)查詢分析的技術(shù)可行性。

        2 Spatialite空間數(shù)據(jù)庫原理

        2.1 Spatialite數(shù)據(jù)庫簡介

        Spatialite空間數(shù)據(jù)庫是一個簡單、實用的輕量級空間數(shù)據(jù)庫,支持跨平臺空間數(shù)據(jù)操作[2]。按照OGC標(biāo)準(zhǔn)存取空間數(shù)據(jù),支持以ESRI Shapefile、dbf、txt/ csv文本以及*.xls表格等作為數(shù)據(jù)源,不僅支持對一般屬性表的查詢操作,而且提供了豐富的SQL擴(kuò)展函數(shù),用以支持SQL語句操作幾何類型字段,包括各種空間查詢與分析操作。李玲等將Spatialite空間數(shù)據(jù)庫嵌入GPS/PDA的GIS外業(yè)土地調(diào)查系統(tǒng)中,實現(xiàn)了空間數(shù)據(jù)與屬性數(shù)據(jù)的集中管理[3]。同時,作為一個開源類庫,它也提供了豐富的跨平臺二次開發(fā)接口,用戶可在此基礎(chǔ)上進(jìn)行深層次的GIS應(yīng)用開發(fā)。其主要依賴于GNU iconv、Geos、PROJ.4以及FreeXL等開源類庫,其中,Geos與PROJ.4提供了操作幾何對象以及坐標(biāo)重投影的函數(shù)接口。唐群等利用開源數(shù)據(jù)庫Spatialite的空間分析功能和AutoCAD的二次開發(fā)語言O(shè)bjectARX.Net對dwg格式的宗地數(shù)據(jù)進(jìn)行處理,并實現(xiàn)入庫管理[4]。

        2.2 Spatialite空間數(shù)據(jù)庫管理

        為了高效地管理、查詢與分析矢量空間數(shù)據(jù),Spatialite采用了元數(shù)據(jù)與空間索引機(jī)制。Spatialite空間數(shù)據(jù)庫以*.sqlite/*.db格式的單文件形式存在,易于攜帶或拷貝,適用于不同的操作系統(tǒng)或平臺環(huán)境。入庫后的矢量數(shù)據(jù)表現(xiàn)為一般的屬性表,通過Geometry字段來統(tǒng)一管理空間數(shù)據(jù),而數(shù)據(jù)的基本描述信息則存儲于Spatialite空間元數(shù)據(jù)表中(geometry_columns表、spatial_ref_sys表[3]),包括空間數(shù)據(jù)的表名、空間字段名、空間實體的幾何類型、坐標(biāo)維數(shù)以及坐標(biāo)參考信息等。

        Spatialite空間數(shù)據(jù)庫提供了豐富的SQL擴(kuò)展函數(shù),以支持SQL語句操作幾何類型字段,實現(xiàn)對離線空間數(shù)據(jù)的查詢與分析操作,包括Buffer、Intersect、Union等。為了加快數(shù)據(jù)庫的訪問速度,Spatialite通過R-tree索引機(jī)制來提高空間查詢與空間分析的速度[3]。R-tree是一種空間索引數(shù)據(jù)結(jié)構(gòu),是B-tree向多維空間發(fā)展的另一種形式,它將空間對象按范圍劃分,每個節(jié)點(diǎn)都對應(yīng)一個區(qū)域和一個磁盤頁,葉節(jié)點(diǎn)的磁盤頁中存儲其區(qū)域范圍內(nèi)所有空間對象的外接矩形[5]。Spatialite矢量數(shù)據(jù)的R-tree索引實質(zhì)上就是該圖層內(nèi)所有幾何對象的分層MBR索引,建立R-tree索引時,每個節(jié)點(diǎn)包含一個矩形區(qū)域的索引碼,該矩形區(qū)域由對應(yīng)節(jié)點(diǎn)所有子節(jié)點(diǎn)的最小外接矩形(MBR)嵌套組成[3]。Spatialite提供了2種方式:①采用SQL語句建立索引;②采用擴(kuò)展SQL函數(shù)Create SpatialIndex創(chuàng)建索引。為了保證空間索引與數(shù)據(jù)庫的一致性,在完成對空間數(shù)據(jù)庫Insert/Update/Delete等操作后,需要及時同步更新R-tree索引。

        3 基于Spatialite的離線數(shù)據(jù)查詢與分析

        本研究在了解掌握Spatialite空間數(shù)據(jù)庫原理的基礎(chǔ)上,根據(jù)實際應(yīng)用中調(diào)用離線數(shù)據(jù)的具體業(yè)務(wù)需求,尤其是離線數(shù)據(jù)的查詢與分析,基于Spatialite空間數(shù)據(jù)庫,統(tǒng)一管理移動客戶端的離線矢量數(shù)據(jù),以XCode4.6.1為開發(fā)平臺,采用Objective-c開發(fā)語言重構(gòu)Spatialite API,并搭建業(yè)務(wù)邏輯層框架,實現(xiàn)對離線數(shù)據(jù)瀏覽、查詢分析等,具體技術(shù)流程如圖1。

        3.1 Spatialite空間數(shù)據(jù)庫建庫管理

        圖 1 技術(shù)流程圖

        Spatialite空間數(shù)據(jù)庫支持*.shp、*.xls、*.txt、*.dbf、*.csv等格式的表格文件作為數(shù)據(jù)源,創(chuàng)建或?qū)牒蟮臄?shù)據(jù)以table形式存在。Spatialite提供2種方式用以操作數(shù)據(jù)庫,包括可視化界面操作(Spatialite GUI)與命令行方式。

        1)Spatialite GUI是一款具有可視化界面的Spatialite數(shù)據(jù)庫管理工具,主要是通過SQLite DBMS引擎,能夠支持幾何字段操作的擴(kuò)展SQL函數(shù)、虛擬shape、虛擬文本、虛擬網(wǎng)絡(luò)以及R-tree和Mbrcache來組織和管理空間數(shù)據(jù)[6]。通過Spatialite GUI可以創(chuàng)建一個后綴名為sqlite或db的Spatialite數(shù)據(jù)庫文件,并通過“Load Shapefile”或“Virual Shapefile”導(dǎo)入shape矢量數(shù)據(jù)。操作過程中需要注意編碼類型的選擇,錯誤的編碼類型易導(dǎo)致中文字段亂碼,同時還要保證SRID對應(yīng)的空間參考系統(tǒng)與矢量圖層一致,其空間數(shù)據(jù)存儲在Geometry字段中,最后需要對入庫后的空間數(shù)據(jù)建立R-tree索引。

        2)命令行的操作流程主要包括3個步驟:①利用spatialite_init(0)初始化數(shù)據(jù)庫;②sqlite3_open()函數(shù)可以打開或創(chuàng)建數(shù)據(jù)庫,對于指定的數(shù)據(jù)庫路徑,若存在,則直接打開,否則創(chuàng)建并打開數(shù)據(jù)庫;③利用sqlite3_exec()執(zhí)行SQL語句,完成對表的各種操作[7]。

        Spatialite空間數(shù)據(jù)庫不僅支持對非空間數(shù)據(jù)表的創(chuàng)建、查詢、刪除、更新等操作,同時,還提供了豐富的SQL擴(kuò)展函數(shù),用以支持對空間數(shù)據(jù)表的空間查詢與空間分析。幾何對象的空間查詢主要有2種方式:①查詢2個幾何對象的真實空間位置關(guān)系;②查詢2個幾何對象的最小外接矩形的空間位置關(guān)系,即近似空間位置關(guān)系。

        由于第2種方式的查詢結(jié)果無法代表幾何對象之間的真實空間關(guān)系,因此,本研究采用第1種方式??蓸?gòu)造SQL語句:“select * from table name where intersects(geom1 Geometry,geom2 Geometry)”,完成對空間數(shù)據(jù)的空間查詢與分析,其中intersects為擴(kuò)展的SQL函數(shù),可利用sqlite3_prepare()執(zhí)行上述語句,并將查詢到的結(jié)果保存到sqlite3_stmt對象中。最后,利用sqlite3_step(stmt)命令可依次取出結(jié)果集中的每條記錄,以供進(jìn)一步的顯示分析操作。

        3.2 Spatialite API重構(gòu)與應(yīng)用開發(fā)

        本研究以XCode4.6.1為開發(fā)平臺,采用Objective-c開發(fā)語言,集成GNU iconv、Geos、PROJ.4以及FreeXL等開源類庫,對Spatialite API進(jìn)行重構(gòu)、重編譯,并在此基礎(chǔ)上,根據(jù)實際業(yè)務(wù)功能需求,進(jìn)行二次API設(shè)計與封裝,包括查詢分析、圖層管理與配置(包括字段)以及系統(tǒng)管理等API接口與數(shù)據(jù)對象(圖2)。最后利用二次封裝的API接口,設(shè)計并實現(xiàn)了綜合查詢、POI查詢、圖層管理(包括書簽、字段以及Shapefile的管理與配置)、地圖標(biāo)繪以及系統(tǒng)管理等,并重點(diǎn)解決了離線矢量數(shù)據(jù)的查詢與分析,實現(xiàn)了在IPAD端對離線矢量數(shù)據(jù)的點(diǎn)擊查詢(Identify)與緩沖區(qū)分析以及結(jié)果展示,如圖3、圖4。

        圖2 業(yè)務(wù)邏輯框架接口

        圖3 綜合查詢

        4 結(jié) 語

        本文簡要介紹了當(dāng)前移動客戶端調(diào)用空間數(shù)據(jù)的2種主要方式,并在了解掌握Spatialite空間數(shù)據(jù)庫原理的基礎(chǔ)上,提出了基于Spatialite解決移動客戶端無法對離線地圖數(shù)據(jù)進(jìn)行查詢分析操作的局限性。主要介紹了Spatialite GUI與命令行2種方式統(tǒng)一管理離線矢量數(shù)據(jù),并基于原生的Spatialite API,進(jìn)行重構(gòu)、重編譯,生成靜態(tài)庫,根據(jù)實際項目中的功能需求,基于該靜態(tài)庫進(jìn)行二次API接口設(shè)計與封裝,搭建數(shù)據(jù)業(yè)務(wù)邏輯層框架,實現(xiàn)了地圖瀏覽、書簽管理、地圖標(biāo)繪、快速定位、地圖管理、綜合查詢以及空間查詢等功能,解決了在移動客戶端無法對離線矢量數(shù)據(jù)進(jìn)行空間查詢與空間分析操作的局限性。下一步的研究重點(diǎn)是進(jìn)一步優(yōu)化離線矢量數(shù)據(jù)的繪制與查詢分析效率。

        圖4 空間查詢分析

        [1] 百度文庫.ArcGIS移動客戶端離線底圖的幾種解決方案[EB/ OL].http:// wenku.baidu.com /view/b265102eed630b1c59 eeb594.html,2014-05-16

        [2] Wikipedia. SpatiaLite [EB/OL].http://en.wikipedia.org/wiki/ SpatiaLite,2014-05-18

        [3] 李玲,王慶,王慧青.基于Spatialite輕量級空間數(shù)據(jù)庫的GIS數(shù)據(jù)管理[J].地理信息世界, 2010,8(4):71-75

        [4] 唐群,韋源生,勞景寮.利用Spatialite數(shù)據(jù)庫處理宗地數(shù)據(jù)及GIS入庫實現(xiàn)[J].桂林理工大學(xué)學(xué)報,2013,33(1):90-94

        [5] 百度文庫.R-tree [EB/OL].http://baike.baidu.com/view/5086047.htm?fr=aladdin, 2014-05-18

        [6] OSGeo-Live.SpatiaLite快速入門 [EB/OL].http://live.osgeo.org/zh/quickstart/spatialite_ quickstart.html,2014-05-20

        [7] GDAL.SQLite/Spatialite RDBMS [EB/OL].http://www.gdal.org/drv_sqlite.html,2014-05-20

        P208

        B

        1672-4623(2015)02-0068-03

        10.3969/j.issn.1672-4623.2015.02.025

        陳俊明,碩士,研究方向為空間數(shù)據(jù)庫管理。

        2014-09-18。

        項目來源:福建省科技廳產(chǎn)學(xué)研資助項目(2012Y4001);福建省測繪地理信息局局校合作資助項目(2013S17);福建省測繪地理信息局2013~2014年科技基金資助項目。

        猜你喜歡
        空間數(shù)據(jù)離線矢量
        矢量三角形法的應(yīng)用
        異步電機(jī)離線參數(shù)辨識方法
        呼吸閥離線檢驗工藝與評定探討
        淺談ATC離線基礎(chǔ)數(shù)據(jù)的準(zhǔn)備
        離線富集-HPLC法同時測定氨咖黃敏膠囊中5種合成色素
        中成藥(2018年2期)2018-05-09 07:20:09
        基于矢量最優(yōu)估計的穩(wěn)健測向方法
        元數(shù)據(jù)驅(qū)動的多中心空間數(shù)據(jù)同步方法研究
        三角形法則在動態(tài)平衡問題中的應(yīng)用
        基于文件系統(tǒng)的分布式海量空間數(shù)據(jù)高效存儲與組織研究
        客戶端空間數(shù)據(jù)緩存策略
        亚洲av无码一区二区三区乱子伦| 日本高清色一区二区三区| 粉嫩人妻91精品视色在线看| 亚洲色精品三区二区一区| 国产激情精品一区二区三区| 亚洲AV无码精品一区二区三区l| 女女同性av一区二区三区| 中文字幕亚洲精品一区二区三区| 色多多a级毛片免费看| 亚洲AV无码一区二区三区天堂网 | 麻豆av在线免费观看精品| 日韩精品专区在线观看| 欧美xxxx色视频在线观看| 纯肉无遮挡H肉动漫在线观看国产 国产精品自产拍在线观看免费 | 国产一区二区三区的区| 久久精品国产亚洲av影院| 污污污污污污污网站污| 男女上床视频在线观看| 白浆国产精品一区二区| 国产成人亚洲综合色婷婷 | 亚洲免费观看一区二区三区| 99久久国内精品成人免费| 亚洲伊人一本大道中文字幕| 中文字幕不卡在线播放| 日韩精品资源在线观看免费| 国产成人精品无码片区在线观看| 亚洲av伊人久久综合密臀性色| 日本韩国三级aⅴ在线观看| 国产三级精品三级在线专区| 国产精品久久久国产盗摄| 精品四虎免费观看国产高清| 日本一道高清在线一区二区| 亚洲精品一区二区三区麻豆| 中文字幕人妻丝袜美腿乱| 成人自拍视频国产一区| 成人av在线久色播放| 成人免费看www网址入口| 国产成人精品三上悠亚久久| 一区二区高清免费日本| 久久精品无码一区二区三区免费| 中文字幕无码人妻丝袜|