999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Spatialite在移動端離線數據解決方案中的應用研究

2015-02-06 05:12:17陳俊明
地理空間信息 2015年2期
關鍵詞:數據庫分析

陳俊明

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

Spatialite在移動端離線數據解決方案中的應用研究

陳俊明1

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

簡要分析了移動終端數據調用的主要方式,尤其是離線數據的調用格式,重點介紹了Spatialite空間數據庫原理,探討了其應用于離線空間數據查詢分析的可行性,最后根據實際業務需求,實現了基于Spatialite空間數據庫的離線數據查詢分析與管理。

Spatialite;移動GIS;離線數據

1 移動客戶端空間數據的加載

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

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

2 Spatialite空間數據庫原理

2.1 Spatialite數據庫簡介

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

2.2 Spatialite空間數據庫管理

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

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

3 基于Spatialite的離線數據查詢與分析

本研究在了解掌握Spatialite空間數據庫原理的基礎上,根據實際應用中調用離線數據的具體業務需求,尤其是離線數據的查詢與分析,基于Spatialite空間數據庫,統一管理移動客戶端的離線矢量數據,以XCode4.6.1為開發平臺,采用Objective-c開發語言重構Spatialite API,并搭建業務邏輯層框架,實現對離線數據瀏覽、查詢分析等,具體技術流程如圖1。

3.1 Spatialite空間數據庫建庫管理

圖 1 技術流程圖

Spatialite空間數據庫支持*.shp、*.xls、*.txt、*.dbf、*.csv等格式的表格文件作為數據源,創建或導入后的數據以table形式存在。Spatialite提供2種方式用以操作數據庫,包括可視化界面操作(Spatialite GUI)與命令行方式。

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

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

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

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

3.2 Spatialite API重構與應用開發

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

圖2 業務邏輯框架接口

圖3 綜合查詢

4 結 語

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

圖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輕量級空間數據庫的GIS數據管理[J].地理信息世界, 2010,8(4):71-75

[4] 唐群,韋源生,勞景寮.利用Spatialite數據庫處理宗地數據及GIS入庫實現[J].桂林理工大學學報,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

陳俊明,碩士,研究方向為空間數據庫管理。

2014-09-18。

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

猜你喜歡
數據庫分析
隱蔽失效適航要求符合性驗證分析
電力系統不平衡分析
電子制作(2018年18期)2018-11-14 01:48:24
數據庫
財經(2017年15期)2017-07-03 22:40:49
數據庫
財經(2017年2期)2017-03-10 14:35:35
電力系統及其自動化發展趨勢分析
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
中西醫結合治療抑郁癥100例分析
在線教育與MOOC的比較分析
主站蜘蛛池模板: 国产av无码日韩av无码网站| 国产精品亚欧美一区二区| 免费Aⅴ片在线观看蜜芽Tⅴ| 国产精品19p| 亚洲无码熟妇人妻AV在线| 久久夜色精品| 91免费片| 国产爽妇精品| 日韩精品一区二区三区大桥未久| 亚洲激情99| 在线观看国产精美视频| 国产亚洲欧美日韩在线一区二区三区 | 国产SUV精品一区二区6| 日韩精品久久无码中文字幕色欲| 国产高清在线观看| 国内精品小视频在线| 91麻豆精品国产高清在线| 亚洲高清在线播放| 国产福利免费视频| 亚洲精品无码久久久久苍井空| 国产一区二区三区免费| 一区二区午夜| 中文字幕在线播放不卡| 一本一道波多野结衣av黑人在线| 又大又硬又爽免费视频| 精品国产www| 青青草原偷拍视频| 国产爽妇精品| 朝桐光一区二区| 色综合婷婷| 岛国精品一区免费视频在线观看| 国产女同自拍视频| 中日无码在线观看| 亚洲欧美激情小说另类| 99久久精品免费看国产电影| 欧美国产菊爆免费观看| 国产精品99在线观看| 日韩人妻少妇一区二区| 日韩小视频网站hq| 99在线视频免费观看| 国产对白刺激真实精品91| 欧美日韩国产在线人| 亚洲永久色| 日本午夜在线视频| 日韩激情成人| 无码国产伊人| 亚洲不卡影院| 国产成人永久免费视频| 国产欧美精品午夜在线播放| 色综合网址| 国产区成人精品视频| 国产午夜一级毛片| 亚洲精选无码久久久| 欧美爱爱网| 国产va视频| 亚洲av成人无码网站在线观看| 少妇精品在线| 亚洲日韩国产精品无码专区| 国产麻豆精品久久一二三| 国产精品任我爽爆在线播放6080 | 波多野结衣亚洲一区| 成人在线观看一区| 久久五月天国产自| 国产成人艳妇AA视频在线| av在线无码浏览| 免费网站成人亚洲| 国产91av在线| 日本高清免费一本在线观看 | 久久狠狠色噜噜狠狠狠狠97视色 | 精品综合久久久久久97| 99久久无色码中文字幕| 欧美日韩中文字幕二区三区| 国产玖玖视频| 伊人久热这里只有精品视频99| 伊人大杳蕉中文无码| 在线不卡免费视频| 免费人成在线观看成人片| 亚洲日韩每日更新| 日韩高清在线观看不卡一区二区| 成人av手机在线观看| 国产午夜精品鲁丝片| 成人毛片免费在线观看|