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

        ?

        基于Spatialite的空間數(shù)據(jù)組織管理與應(yīng)用開發(fā)

        2014-02-08 09:32:12關(guān)昆馬駿楊曉峰肖康
        城市勘測 2014年2期
        關(guān)鍵詞:空間數(shù)據(jù)矢量數(shù)據(jù)庫

        關(guān)昆,馬駿,楊曉峰,肖康

        (天津市測繪院,天津 300381)

        1 引言

        SQLite是一種基于文件的輕型數(shù)據(jù)庫產(chǎn)品,主要用于嵌入式應(yīng)用領(lǐng)域。Spatialite是輕量級數(shù)據(jù)庫SQLite具有空間數(shù)據(jù)支持?jǐn)U展的產(chǎn)品,可以按照OGC標(biāo)準(zhǔn)存取空間數(shù)據(jù)。它在目前很多移動端地理信息工程項目中取得了廣泛的應(yīng)用,成為近年來GIS領(lǐng)域的研究熱點之一,在可移植性、輕量級、數(shù)據(jù)處理速度等方面具有強(qiáng)大的優(yōu)勢,在普通WebGIS以及桌面應(yīng)用中也具有廣泛的市場前景。

        除此之外,Spatialite能夠跟很多程序語言相結(jié)合,比如C#、PHP、Java等,并具有ODBC開發(fā)接口?;谏鲜鍪褂脙?yōu)勢,本文開發(fā)了基于Spatialite的數(shù)據(jù)庫管理與應(yīng)用系統(tǒng),通過對數(shù)據(jù)庫API的調(diào)用,實現(xiàn)了矢量數(shù)據(jù)的入庫、輸出、編輯、管理等功能,滿足輕量級GIS應(yīng)用中對空間數(shù)據(jù)庫的需求。

        2 Spatialite空間數(shù)據(jù)庫存儲模型

        2.1 Spatialite空間存儲機(jī)制

        Spatialite是一種基于文件的嵌入式數(shù)據(jù)庫,它的存儲方式只是一個文件,無需配置和安裝,在運(yùn)行速度和遷移性方面有著巨大的使用優(yōu)勢。它占用的資源非常低,被廣泛應(yīng)用在平板電腦、手機(jī)客戶端等輕量級GIS應(yīng)用中。

        對于空間坐標(biāo)信息的存儲,Spatialite采用專門的表示地理坐標(biāo)信息的空間字段實現(xiàn),它包括采用平面直角坐標(biāo)系的Geometry數(shù)據(jù)類型和采用地理坐標(biāo)系的Geography數(shù)據(jù)類型。前者以平面坐標(biāo)XY表示,后者以經(jīng)緯度表示。

        根據(jù)空間實體的不同,Spatialite支持若干空間數(shù)據(jù)類型:點(Point)、線(LineString)、面(Polygon)、點集合(MultiPoint)、線集合(MultiLineString)、面集合(Multi-Polygon)等,這幾種不同類型的空間實體記錄構(gòu)成了復(fù)雜的空間信息數(shù)據(jù)。每一條空間記錄根據(jù)空間引用標(biāo)識(SRID)來對應(yīng)其基于特定橢圓體的空間引用系統(tǒng)。

        Spatialite采用元數(shù)據(jù)機(jī)制來更加高效地檢索和管理地理空間數(shù)據(jù)。它的元數(shù)據(jù)表存儲了空間數(shù)據(jù)的數(shù)據(jù)表名、空間字段名、空間實體的幾何類型,坐標(biāo)維數(shù)以及坐標(biāo)參考信息等。Spatialite空間元數(shù)據(jù)由geometry_column和spatial_ref_sys兩組表來實現(xiàn)。

        2.2 Spatialite的空間索引

        空間索引是支持空間擴(kuò)展的數(shù)據(jù)庫系統(tǒng)的關(guān)鍵技術(shù),是快速高效查詢、檢索和顯示地理空間數(shù)據(jù)的重要指標(biāo)。其中比較常見的空間索引為網(wǎng)格空間索引、四叉樹空間索引和R樹(R-Tree)索引。目前主流的數(shù)據(jù)庫產(chǎn)品多采用上述三類空間索引。

        Spatialite通常采用R-Tree空間索引機(jī)制來提高空間檢索和數(shù)據(jù)分析的速度,用戶可以為不同的空間數(shù)據(jù)類型建立索引。建立索引時,R-Tree的每個節(jié)點包含一個矩形區(qū)域的索引碼,該矩形區(qū)域由對應(yīng)節(jié)點的所有子節(jié)點的最小包含矩形嵌套組成,因此,將要查詢的幾何圖形用最小邊界矩形來表示,便可以確定集合圖形的空間范圍。建立R-Tree索引可采用SQL擴(kuò)展函數(shù)實現(xiàn):

        CreateSpatialIndex(TableName,ColumnName);

        2.3 Spatialite的空間擴(kuò)展SQL

        Spatialite提供了一系列內(nèi)置的空間擴(kuò)展SQL函數(shù)來對空間數(shù)據(jù)進(jìn)行操作。

        (1)數(shù)據(jù)查詢

        Spatialite的Geometry字段默認(rèn)以二進(jìn)制的方式存儲,它包含兩種表述空間對象的標(biāo)準(zhǔn)方式:一個是WKT(the Well-Known Text)形式,另一個是 WKB(the Well-Known Binary)形式,該兩種方式是OGC制定的空間數(shù)據(jù)的組織規(guī)范,WKB以二進(jìn)制形式描述,WKT以文本形式描述,這兩種形式都包括對象的類型信息和形成對象的坐標(biāo)信息。

        在Spatialite數(shù)據(jù)庫中,可按照WKT格式展示空間數(shù)據(jù):

        Select AsText(GeometryColumn_Name)from TableName;

        返回結(jié)果為對象的坐標(biāo)信息,包括POINT、LINESTRING、POLYGON類型的坐標(biāo)值。

        (2)數(shù)據(jù)編輯

        Spatialite同樣采用符合OGC標(biāo)準(zhǔn)的基本SQL函數(shù)來對空間信息進(jìn)行插入與編輯。

        可通過GeomFromWKB將WKB格式的空間數(shù)據(jù)轉(zhuǎn)換為可插入Geometry字段的信息;通過GeomFrom-Text將文本格式的空間數(shù)據(jù)轉(zhuǎn)換為可插入Geometry字段的信息,插入到數(shù)據(jù)庫中。如下語句在表 TableName中插入一條點記錄,坐標(biāo)為(118.2532,39.4783),SRID為4326,即在WGS84坐標(biāo)系下插入一個點記錄。

        Insert into TableName(ID,Geometry)values(1,GeomFrom-Text(‘POINT(118.2532,39.4783,4326)’);

        對于空間記錄更新,同樣采用GeomFromText方法,不同的是將SQL語句Insert改為Update。

        (3)空間分析

        Spatialite提供了常用的空間分析和計算方法,包括計算空間對象之間的距離、緩沖區(qū)計算、求兩個對象之間的交點、計算長度、面積等等。方法包括Intersection、Distance、Area、Length 等??梢詫⒖臻g分析計算方法與標(biāo)注SQL函數(shù)統(tǒng)一使用,可以提高空間數(shù)據(jù)庫的運(yùn)算效率。

        3 Spatialite空間數(shù)據(jù)庫開發(fā)

        3.1 數(shù)據(jù)庫系統(tǒng)體系結(jié)構(gòu)

        系統(tǒng)在.Net環(huán)境下基于WPF框架實現(xiàn),WPF是微軟基于.Net的新一代用戶界面框架,它提供了統(tǒng)一的編程模型、語言和框架,實現(xiàn)了分離界面設(shè)計人員與開發(fā)人員的工作。WPF本質(zhì)屬于桌面應(yīng)用程序,可以方便地訪問和開發(fā)局域網(wǎng)內(nèi)的空間數(shù)據(jù)庫。系統(tǒng)應(yīng)用Esri WPF API實現(xiàn)基礎(chǔ)底圖的加載以及空間坐標(biāo)查詢結(jié)果的可視化加載,實現(xiàn)在系統(tǒng)中查看Spatialite空間表記錄信息的位置的目的。如圖1所示:

        圖1 Spatialite空間數(shù)據(jù)庫管理系統(tǒng)開發(fā)路線

        本文通過引用針對SQLite及其空間擴(kuò)展的.Net Framework支持驅(qū)動,整合在統(tǒng)一的平臺下,所引用的動態(tài)庫包括:

        (1)Spatialite:System.Data.SQLite.dll

        (2)libspatialite-4.dll

        對于SQLite通用的SQL語句開發(fā)功能,利用System.Data.SQLite庫來完成;而對于Spatialite空間擴(kuò)展SQL函數(shù),需要利用libspatialite庫來完成。

        基于.Net的Spatialite空間數(shù)據(jù)庫應(yīng)用與管理系統(tǒng)實現(xiàn)了針對空間數(shù)據(jù)庫的矢量數(shù)據(jù)入庫、存儲管理、數(shù)據(jù)瀏覽、編輯、輸出功能,具備常用的地理信息工程所需要的數(shù)據(jù)庫功能。通過對不同的矢量數(shù)據(jù)格式的讀取,具備了多種矢量數(shù)據(jù)來源的數(shù)據(jù)庫入庫功能。其體系結(jié)構(gòu)如圖2所示:

        圖2 數(shù)據(jù)庫管理應(yīng)用系統(tǒng)體系結(jié)構(gòu)

        3.2 空間數(shù)據(jù)存儲與輸出

        系統(tǒng)的矢量數(shù)據(jù)入庫功能為Shapefile等各類矢量數(shù)據(jù)文件提供了向空間數(shù)據(jù)庫的入庫途徑,利用Spatialite空間擴(kuò)展SQL結(jié)合.Net API來完成,通過對不同格式的空間數(shù)據(jù)文件進(jìn)行讀取和分析的,調(diào)用SQlite SQL語句完成數(shù)據(jù)的插入、編輯等操作,流程如圖3所示:

        圖3 矢量數(shù)據(jù)入庫流程

        矢量數(shù)據(jù)輸出功能能夠?qū)崿F(xiàn)空間數(shù)據(jù)庫中的表導(dǎo)出為所需要的矢量數(shù)據(jù)文件,應(yīng)用.Net API,結(jié)合SQlite SQL語句查詢所要輸出的記錄,再通過地理數(shù)據(jù)的創(chuàng)建、寫入方法來完成數(shù)據(jù)輸出流程。對于SHP格式的文件寫入,通過 SharpMap類庫來實現(xiàn);對于DWG格式的文件寫入,通過DWGDirect類庫來實現(xiàn);對于DXF和KML等文本格式的文件寫入,直接通過.Net類System.IO來實現(xiàn)。流程如圖4所示:

        圖4 矢量數(shù)據(jù)輸出流程

        3.3 數(shù)據(jù)可視化管理

        平臺對于矢量數(shù)據(jù)的瀏覽顯示、編輯等操作,需要有基礎(chǔ)地圖的支撐。本文采用REST地圖服務(wù)作為矢量數(shù)據(jù)管理的基礎(chǔ)底圖,基于Esri API的自適應(yīng)性,REST地圖來源可以有多種,無論是動態(tài)地圖還是瓦片式地圖,都可以加載到平臺來使用。本文采用自定義的切片地圖REST服務(wù)作為基礎(chǔ)底圖的使用。

        對于空間坐標(biāo)的讀取結(jié)果,系統(tǒng)同樣采用Esri WPF API的 Graphic類來實現(xiàn),通過構(gòu)建并指定Graphic的Geometry對象,將符號繪制在GraphicsLayer圖層,實現(xiàn)所讀取的點、線、面坐標(biāo)的顯示。

        3.4 數(shù)據(jù)編輯

        數(shù)據(jù)的編輯與管理模塊包括幾個部分:數(shù)據(jù)讀取(Select)操作、數(shù)據(jù)更新(Update)操作、數(shù)據(jù)新增(Insert)操作。應(yīng)用SQLite通用SQL語句,結(jié)合Spatialite空間擴(kuò)展SQL函數(shù),實現(xiàn)對空間數(shù)據(jù)的讀取以及增刪改操作。

        在WPF環(huán)境下基于.Net框架,采用C#語言進(jìn)行數(shù)據(jù)庫開發(fā)示例如下:

        (1)數(shù)據(jù)更新(Update)操作:

        (2)數(shù)據(jù)新增(Insert)操作:

        3.5 空間數(shù)據(jù)管理系統(tǒng)的應(yīng)用

        空間數(shù)據(jù)管理系統(tǒng)提供給使用Spatialite的GIS工程使用,它提供了將Shp、DWG等矢量數(shù)據(jù)文件導(dǎo)入數(shù)據(jù)庫的功能,為GIS項目提供了數(shù)據(jù)建庫的基礎(chǔ)準(zhǔn)備,并且可以進(jìn)行常用的數(shù)據(jù)可視化管理、編輯和導(dǎo)出操作,為后臺數(shù)據(jù)庫的管理提供便利。

        Spatialite空間數(shù)據(jù)庫管理應(yīng)用系統(tǒng)如圖5所示:

        圖5 Spatialite空間數(shù)據(jù)庫管理系統(tǒng)

        4 結(jié)語

        本文介紹了Spatialite空間數(shù)據(jù)庫的特性,闡述了它的空間存儲機(jī)制、空間索引以及空間擴(kuò)展SQL函數(shù)方法,并結(jié)合SQLite通用SQL開發(fā)以及Spatialite空間擴(kuò)展SQL函數(shù),引用相應(yīng)的動態(tài)庫,開發(fā)了輕量級Spatialite空間數(shù)據(jù)庫的管理應(yīng)用系統(tǒng)。該系統(tǒng)基于微軟WPF框架設(shè)計,是一個脫離第三方插件的獨(dú)立應(yīng)用,能夠在移動端地理信息系統(tǒng)、輕量級地理信息應(yīng)用項目中發(fā)揮簡單實用的功能。隨著地理信息在多個行業(yè)載體中得到越來越多的推廣應(yīng)用,本文為輕量級的應(yīng)用領(lǐng)域提供了一個良好的解決方案。

        [1]孫榮輝.基于Oracle+Spatial的空間數(shù)據(jù)一體化存儲研究[D].北京:首都師范大學(xué);2006.

        [2] 莊云鵬.基于SQLITE的組態(tài)軟件研究與設(shè)計[D].廈門:廈門大學(xué);2008.

        [3] 朱冰.多源空間數(shù)據(jù)集成技術(shù)及應(yīng)用[J].測繪與空間地理信息,2011(6):138~139.

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

        [5]胡偉.SQLite在嵌入式系統(tǒng)上的實現(xiàn)研究[J].計算機(jī)與數(shù)字工程,2009(2):158~163.

        [6]蔣許鋒,王少一,王剛.SQL Server Spatial應(yīng)用開發(fā)研究[J].測繪與空間地理信息,2012(4):107~109.

        [7]張會霞.基于SQL Server Spatial的空間數(shù)據(jù)的組織與查詢[J].測繪與空間地理信息,2012(3):9~11.

        [8]柳華橋,王光昇.輕量數(shù)據(jù)庫Spatialite在AutoCAD中的應(yīng)用[J].城市勘測,2013(5):46~49.

        猜你喜歡
        空間數(shù)據(jù)矢量數(shù)據(jù)庫
        矢量三角形法的應(yīng)用
        數(shù)據(jù)庫
        財經(jīng)(2017年2期)2017-03-10 14:35:35
        數(shù)據(jù)庫
        財經(jīng)(2016年15期)2016-06-03 07:38:02
        基于矢量最優(yōu)估計的穩(wěn)健測向方法
        元數(shù)據(jù)驅(qū)動的多中心空間數(shù)據(jù)同步方法研究
        數(shù)據(jù)庫
        財經(jīng)(2016年3期)2016-03-07 07:44:46
        三角形法則在動態(tài)平衡問題中的應(yīng)用
        數(shù)據(jù)庫
        財經(jīng)(2016年6期)2016-02-24 07:41:51
        基于文件系統(tǒng)的分布式海量空間數(shù)據(jù)高效存儲與組織研究
        客戶端空間數(shù)據(jù)緩存策略
        伊人久久大香线蕉av不变影院| 国产一级大片免费看| 国产精品日本天堂| 亚洲天堂av高清在线| 欧美顶级少妇作爱| 一本加勒比hezyo无码人妻| 在线播放国产女同闺蜜| 精品国产亚洲人成在线观看| 亚洲精品第一页在线观看| 国模无码一区二区三区不卡| 尤物99国产成人精品视频| av网站影片在线观看| 青青草手机在线观看视频在线观看| 久久久免费精品re6| 少妇人妻在线视频| 亚洲va中文字幕欧美不卡| 一区二区三区av在线| 国产二区交换配乱婬| 日本夜爽爽一区二区三区| 男人的天堂av一二三区| 国产成人综合精品一区二区| 中国老熟女重囗味hdxx| 国产精品11p| 美女被插到高潮嗷嗷叫| 少妇被黑人整得嗷嗷叫视频 | av在线亚洲欧洲日产一区二区| 国产亚洲精品日韩综合网| 亚洲综合精品一区二区| 亚洲av无码码潮喷在线观看| 亚洲色偷偷综合亚洲av伊人| 麻豆AV无码久久精品蜜桃久久| 亚洲精品久久视频网站| 国产精品户外野外| 国产精品嫩草影院午夜| 精品一区二区三区老熟女少妇| 亚洲熟妇无码久久精品| 成人免费毛片内射美女-百度| 中文字幕人妻丝袜成熟乱| 亚洲av日韩一卡二卡| 尤物视频在线观看| 成年女人在线观看毛片|