亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種矢量數(shù)據(jù)的存儲方法、查詢方法和管理系統(tǒng)的制作方法

文檔序號:6464601閱讀:348來源:國知局

專利名稱::一種矢量數(shù)據(jù)的存儲方法、查詢方法和管理系統(tǒng)的制作方法一種矢量數(shù)據(jù)的存儲方法、查詢方法和管理系統(tǒng)
技術(shù)領(lǐng)域
5本發(fā)明涉及計算機數(shù)據(jù)管理方法和系統(tǒng),特別是地理信息系統(tǒng)中的矢量數(shù)據(jù)存儲方法,相應的查詢方法和管理系統(tǒng)。
背景技術(shù)
:地理數(shù)據(jù)是以地球表面作為基本參照框架的空間數(shù)據(jù)及其屬性信息。10為了便于獲取、存儲、分析和管理地理數(shù)據(jù),建立了地理信息系統(tǒng),簡稱GIS系統(tǒng)(geographicinformationsystem)。GIS系統(tǒng)表示了真實世界的各種目標,如道路、土地、海拔等等。GIS中常用的數(shù)據(jù)結(jié)構(gòu)包括矢量數(shù)據(jù)和柵格數(shù)據(jù)。矢量數(shù)據(jù)結(jié)構(gòu)中,一個區(qū)域或一個地圖化分為若干個多邊形,每個多邊形由若干條線段或弧組成,矢量數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)存儲量小、圖形精15度高、容易定義單個空間對象,但是處理空間關(guān)系比較費時,常用于描述圖形數(shù)據(jù)。柵格數(shù)據(jù)結(jié)構(gòu)中,地理實體用格網(wǎng)單元的行和列為位置標識,柵格數(shù)據(jù)簡單、容易處理空間位置關(guān)系,但數(shù)據(jù)存儲量大,圖形精度低,常用于描述圖像和影像數(shù)據(jù)。當前,多采用文件系統(tǒng)來管理柵格數(shù)據(jù),采用數(shù)據(jù)庫來管理矢量數(shù)據(jù)。20但是矢量數(shù)據(jù)既包含適合用數(shù)據(jù)庫來管理的結(jié)構(gòu)化數(shù)據(jù),也包含用數(shù)據(jù)庫不易管理的半結(jié)構(gòu)化數(shù)據(jù)。為了讓數(shù)據(jù)庫能夠支持對半結(jié)構(gòu)化矢量數(shù)據(jù)的存儲、查詢和操作,就需要對傳統(tǒng)的數(shù)據(jù)庫進行擴展,進而形成了被稱為空間數(shù)據(jù)庫管理系統(tǒng)(SpatialDataBaseManagementSystem_SDBMS)的擴展數(shù)據(jù)庫。25盡管各大數(shù)據(jù)庫廠商不斷優(yōu)化對矢量數(shù)據(jù)的管理,但是依然存在著一些弊端。數(shù)據(jù)庫提供了豐富的SQL語義,支持復雜的查詢操作,但是對于相對簡單的空間數(shù)據(jù)查詢而言,這些語義功能很多都是空間數(shù)據(jù)處理過程中不會使用到的,反而在入庫和查詢時造成額外的系統(tǒng)資源浪費;30數(shù)據(jù)庫保證了在其中進行的操作都是強事務語義的,但是對于寫少讀多的空間數(shù)據(jù)訪問模式而言,大多數(shù)對空間數(shù)據(jù)的訪問是不需要事務性語義來保證的,保證強事務性語義反而會帶來系統(tǒng)運行時較嚴重的性能損失;數(shù)據(jù)庫系統(tǒng)通常都是運行在一個節(jié)點上的,隨著數(shù)據(jù)規(guī)模的不斷擴大,單點的處理能力逐漸成為瓶頸,單點故障問題日趨嚴重,而支持集群5方式的數(shù)據(jù)庫價格非常昂貴。
發(fā)明內(nèi)容本發(fā)明要解決的技術(shù)問題為避免系統(tǒng)資源浪費和性能損失,提供一種在滿足矢量數(shù)據(jù)管理應用的前提下,實現(xiàn)更簡單的方法和系統(tǒng)。10根據(jù)本發(fā)明的第一方面,提出了一種矢量數(shù)據(jù)的存儲方法,具體包括下列步驟11)將原始shapefile文件的圖層進行區(qū)域劃分;12)將所述劃分的區(qū)域進行編碼;13)將所述原始shapefile文件的圖層中的幾何體根據(jù)所屬區(qū)域的編碼15進行派分;14)將派分到相同編號的所述圖層中的幾何體的集合存儲為一個文件;15)根據(jù)所述存儲的文件,生成配置文件,用于記錄圖層的基本信息。該存儲方法中,所述原始shapefile文件的大小大于閾值。20該存儲方法中,所述步驟12)包括下列步驟21)在X軸和Y軸上,分別給所述劃分的區(qū)域賦值Xi和Yj;22)組合所述Xi和Yj,計算所述區(qū)域的編碼。該存儲方法中,所述步驟21)的Xi和Y」均為二進制值,且XfXi,wXi,n.2…x,,0,Yj=yj,n.iyj,n-2yj,0,其中x和y分別表示X和Y的每位25的值,n是所述原始shapefile文件的圖層在X軸方向和Y軸方向被劃分的份數(shù);所述步驟22)進一步包括221)對于所述Xi和Yj,根據(jù)公式Vij-yj,wXi,n小..yy)Xi,o計算Vij;222)將所述Vij用十進制表示,根據(jù)VF『(y,^,n-Odec…(y」,oX,,o)dec計30算所述區(qū)域的編碼。該存儲方法中,所述步驟13)包括下列步驟31)讀取所述圖層中的幾何體,獲得所述幾何體的最小外包矩形;32)將所述最小外包矩形的每個頂點所在的區(qū)域的編碼作為所述最小外包矩形的每個頂點的編碼;33)比較所述頂點的編碼,從左到右按位掃描,找到第一個值不相等的位k,如果A^l則此幾何體被派分的編號為a^2…a;t";534)如果A:=1,則此幾何體^皮派分的編號為"root"。該存儲方法中,所述步驟15)的所述圖層的基本信息包括所述圖層的名字,所述圖層的最小外包矩形,所述幾何體的類型,所述幾何體的總數(shù)目,所述原始shapefde文件的圖層的劃分信息。該存儲方法中,如果矢量數(shù)據(jù)的文件不是shapefile格式而是其它格式,io則所述步驟11)還包括將所述矢量數(shù)據(jù)的文件轉(zhuǎn)為所述原始shapefile文件。根據(jù)本發(fā)明的第二方面,還提供了一種管理根據(jù)上述的方法存儲的矢量數(shù)據(jù)的系統(tǒng),包括面向用戶的GIS界面、文件系統(tǒng)和空間數(shù)據(jù)管理系統(tǒng)所述面向用戶的GIS界面,用于提供訪問GIS數(shù)據(jù)的接口和界面;is所述文件系統(tǒng),用于存儲shapefile文件和讀耳又所述shapefile文件的圖層中的幾何體,并且根據(jù)查詢條件判斷所述幾何體與矩形范圍的關(guān)系,根據(jù)所述圖層的劃分信息計算在所述查詢范圍內(nèi)的幾何體,并返回給所述空間數(shù)據(jù)管理系統(tǒng),其中所述shapefile文件包^"對原始shapefile文件的圖層進行區(qū)域劃分所得到的所述相同編號的幾何體;20空間數(shù)據(jù)管理系統(tǒng),用于根據(jù)圖層標識讀取所述圖層的劃分信息,判斷所述幾何體與不規(guī)則圖形范圍的關(guān)系,將所述存儲節(jié)點返回的幾何體傳輸給所述面向用戶的GIS界面。該管理系統(tǒng)中,所述文件系統(tǒng)是分布式文件系統(tǒng)。該管理系統(tǒng)中,所述文件系統(tǒng)安裝在存儲節(jié)點中,所述空間數(shù)據(jù)管理25系統(tǒng)安裝在計算節(jié)點中;且至少有兩個存儲節(jié)點。根據(jù)本發(fā)明的第三方面,還提供了一種查詢根據(jù)上述存儲方法存儲的矢量數(shù)據(jù)的方法,根據(jù)圖層標識查詢所述圖層的基本信息。根據(jù)本發(fā)明的第四方面,還提供了一種查詢根據(jù)上述存儲方法存儲的矢量數(shù)據(jù)的方法,根據(jù)圖層標識和幾何體的標識查詢所述幾何體的信息。30根據(jù)本發(fā)明的第五方面,還提供了一種查詢根據(jù)上述存儲方法存儲的矢量數(shù)據(jù)的方法,根據(jù)圖層標識、矩形范圍和標志位查詢所述矩形范圍內(nèi)所有幾何體,其中所述標志位標識所述所查詢的幾何體是被所述矩形范圍全部包含或部分包含。在上述根據(jù)本發(fā)明第五方面提供的查詢方法中,包括下列步驟21)根據(jù)所述圖層標識找到相應的配置文件;22)從所述相應的配置文件中讀取所述圖層的劃分信息;523)根據(jù)所述矩形范圍以及所述圖層的劃分信息,生成兩個文件列表fllejistl和file—list2,其中,所述文件列表內(nèi)文件內(nèi)的幾何體所涉及的區(qū)域與所述矩形范圍有共同部分,且filejist1中的文件中的幾何體都包含在矩形中;24)讀取file一listl中的文件,將所有幾何體加入到結(jié)果列表中;讀io取file—list2中的文件,判斷所述filejist2中的幾何體是否和所述矩形范圍有共同的部分,如果是,將所述幾何體加入結(jié)果列表;25)返回所述結(jié)果列表。根據(jù)本發(fā)明的第六方面,還提供了一種查詢根據(jù)上述存儲方法存儲的矢量數(shù)據(jù)的方法,其特征在于,根據(jù)圖層標識、不規(guī)則圖形范圍和標志位,15查詢所述不^見則圖形內(nèi)所有的幾何體,其中所述標志位標識所述所查詢的幾何體被所述不失見則圖形全部包含或部分包含。根據(jù)本發(fā)明的第七方面,還提供了一種查詢根據(jù)上述存儲方法存儲的矢量數(shù)據(jù)的方法,其特征在于,根據(jù)圖層標識、矩形范圍、標志位和特定條件,查詢該矩形范圍內(nèi)滿足條件的所有的幾何體,其中所述標志位標識20所查詢的幾何體是被矩形范圍全部包含或部分包含。根據(jù)本發(fā)明的第八方面,還提供了一種查詢根據(jù)上述存儲方法存儲的矢量數(shù)據(jù)的方法,其特征在于,根據(jù)圖層標識、不規(guī)則圖形范圍、標志位和特定條件,查詢所述不規(guī)則圖形范圍內(nèi)所有的幾何體,其中該標志位標識所查詢的幾何體是被不規(guī)則圖形范圍全部包含或部分包含。25本發(fā)明簡化了系統(tǒng)實現(xiàn),在保證基本功能的同時,拋棄了數(shù)據(jù)庫中的冗余功能,弱化了事務語義,節(jié)省了系統(tǒng)資源,提高系統(tǒng)性能。本發(fā)明通過分布式文件系統(tǒng)的聚合輸入/輸出帶寬,提高了系統(tǒng)的輸入/輸出性能;同時,采用通過將計算分布到集群中的節(jié)點上運行實現(xiàn)并行,提高了系統(tǒng)的計算能力。30本發(fā)明通過分布式文件系統(tǒng)采用副本的策略來保證系統(tǒng)的可靠性,在系統(tǒng)發(fā)生損壞或者災害的時候不至于由于數(shù)據(jù)過于集中而帶來過大的損失;同時,分布式系統(tǒng)也保證了系統(tǒng)規(guī)??梢栽诰€擴展。圖l是基于矢量數(shù)據(jù)管理系統(tǒng)(VDMS)的應用系統(tǒng)和基于傳統(tǒng)空間數(shù)據(jù)庫管理系統(tǒng)(SDBMS)的應用系統(tǒng)的系統(tǒng)結(jié)構(gòu)比較示意圖;5圖2是根據(jù)本發(fā)明一個實施例劃分的圖層示意圖;圖3是圖2所示的圖層基于改進的四叉樹算法運算得到的索引結(jié)構(gòu)示意圖。圖4是編碼過程示意圖;圖5是在圖2所示的圖層中選擇一個區(qū)域的示意圖;io圖6是VDMS和PostgreSQL的性能對比示意圖。具體實施方式下面結(jié)合附圖對本發(fā)明的具體實施方式作進一步詳細的說明,其中圖1示出了現(xiàn)有技術(shù)的基于傳統(tǒng)空間數(shù)據(jù)庫管理系統(tǒng)的GIS應用系統(tǒng)15和根據(jù)本發(fā)明的一個優(yōu)選實施例提供的基于矢量數(shù)據(jù)管理系統(tǒng)的GIS應用系統(tǒng)。其中現(xiàn)有技術(shù)的GIS應用系統(tǒng)包括l.面向用戶的GIS界面_空間應用,其用于提供對GIS數(shù)據(jù)進行訪問的接口和界面;2.擴展的空間數(shù)據(jù)庫,用于管理空間數(shù)據(jù),以及對空間數(shù)據(jù)進行計算,進一步包括空間應用接口、20核心技術(shù)和對象關(guān)系數(shù)據(jù)庫接口;3.對象關(guān)系數(shù)據(jù)庫,用于對象關(guān)系數(shù)據(jù)存儲,也即存儲空間數(shù)據(jù)?;谑噶繑?shù)據(jù)管理系統(tǒng)的GIS應用系統(tǒng)中,矢量數(shù)據(jù)管理系統(tǒng)除了包括面向用戶的GIS界面、空間應用接口和核心凈支術(shù)外,還包括文件系統(tǒng)和相應的文件系統(tǒng)接口。其中,文件系統(tǒng)優(yōu)選為分布式文件系統(tǒng)。文件系統(tǒng)25用于存儲shapefde文件和讀取shapefile文件中的幾何體,并且根據(jù)查詢條件判斷幾何體與矩形范圍的關(guān)系,根據(jù)圖層的劃分信息計算查詢范圍內(nèi)的幾何體,并返回給文件系統(tǒng)接口,其中所述shapefile文件包括對圖層進行區(qū)域劃分所得到的具有相同編號的幾何體。通過文件系統(tǒng)接口對存儲于文件系統(tǒng)中的數(shù)據(jù)進行訪問。該接口與核心4支術(shù)和空間應用接口共同構(gòu)成空30間數(shù)據(jù)管理系統(tǒng),用于根據(jù)圖層標識讀取所述圖層的劃分信息,判斷所述幾何體與不規(guī)則圖形范圍的關(guān)系,將文件系統(tǒng)返回的幾何體傳輸給面向用戶的GIS界面;還用于判斷幾何體是否滿足查詢的其它特定條件。根據(jù)本發(fā)明的一個優(yōu)選實施例,上述文件系統(tǒng)安裝于存儲節(jié)點,優(yōu)選的,至少包括兩個存儲節(jié)點??臻g數(shù)據(jù)管理系統(tǒng)安裝于計算節(jié)點。所述的存儲節(jié)點和計算節(jié)點通過網(wǎng)絡連接。本發(fā)明將矢量空間數(shù)據(jù)以shapefile的格式存儲在文件系統(tǒng)中,對于5其他格式的數(shù)據(jù),先利用工具轉(zhuǎn)為shapefile格式。對于較小文件,直接存入分布式文件系統(tǒng)中;對于較大文件,首先利用空間索引算法對原始文件中的圖層進行區(qū)域劃分,對劃分得到的區(qū)域進行編碼,把編碼結(jié)果作為文件名的一部分,將所述圖層中的幾何體根據(jù)所屬區(qū)域的編碼進行派分(dispatch),將相同編號的幾何體的集合存入文件,并將文件存入文件系io統(tǒng)中。具體實現(xiàn)如下給定一個原始shapefile文件,優(yōu)選的,首先才艮據(jù)系統(tǒng)給出的閾值T判斷原始shapefile的文件大小,其中該閾值是一個表示文件大小的數(shù)值,優(yōu)選為1M字節(jié)或一個更大值。對于文件大小小于T的文件,直接將其存入文件系統(tǒng)中;對于文件大小大于T的文件,根據(jù)空間索引算法,對15其進行區(qū)域劃分。圖層被劃分為多少個區(qū)域,可由用戶指定,也可根據(jù)原始shapefile文件信息計算。后者為系統(tǒng)讀入原始Shapefile文件的文件信息,得到原始Shapefile文件的大小,假設(shè)原始Shapefile文件為M字節(jié),則原始Shapefile文件的圖層被分成的份數(shù)為N=nxn,其中n=[lg(lg(M/T))],[M]表示對M20進行向上取整。讀入整個圖層的坐標信息,得到其最小外包矩形。將整個圖層沿X軸方向和Y軸方向都均分為n份,記錄X軸和Y軸上的切分點的坐標,如圖4.(X)所示。對上述劃分得到的區(qū)域進行編碼,如圖4.(b)(c)所示。在X軸和Y軸上,給每個區(qū)域R賦值Xi和Yj,纟艮據(jù)本發(fā)明的一個25具體實施例,Xi和Yj都是n位的二進制值,其中0^,)<"。從0開始,沿X軸從左至右,Y軸方向從上至下,依次增1。在每一個值之前補O以湊足n位。X產(chǎn)Xi,n—!Xi,n.2…Xi,0,Y」二yj,n.!yj,n-2...y』,。,其中x""和y》i分別表示Xj和Yj的二進制值的第n位的值,其它類推。如圖4.(b)中所示,其中例如X產(chǎn)xux!,『01,Y2=y2,iy2,。=10。30對每個區(qū)域,組合上述所得的X軸和Y軸方向的值Xi和Yj,計算所述區(qū)域的編碼。在上述具體實施例中,令V『yj,n-!Xi,w…yj,oXi,0,如圖4.(b)中所示,其中例如V,2二y2,!xuy2,oXf1001。用十進制表示每個區(qū)域的值Vjj,VF『(yj,n-iXi,n-Odec…(yj,oXi,o)dec,其中()dec表示將括號內(nèi)數(shù)值轉(zhuǎn)為十進制數(shù)值,則VFjj就是區(qū)域Rij的最終編碼,如圖4.(C)所示,其中例如VFf(y2,^,0dec(y2,()Xw)d^(10)dec(01)dec二21。將原始文件中的幾何體按照其最小外包矩形和劃分的區(qū)域的關(guān)系進5行派分。讀取原始文件中的每個幾何體,獲得其最小外包矩形(MBR)。將最小外包矩形的每個頂點所在區(qū)域的編碼作為每個頂點的VF編碼。比較幾何體的四個頂點的VF編碼值,從左到右按位掃描,找到第一個值不相等的位k。例如,假設(shè)四個點為A、a2…an-"B,H,C^C2…cvt,ioD二山d2…dn.!。4戈到一4立A:,且A;;il,4吏4尋a尸b產(chǎn)c尸d!,a2=b2=c2=d2,…,ah尸t^-產(chǎn)c^產(chǎn)4-"而、,Co4不全相等,則此幾何體^皮派分的編號為a^2…a;tM。如果fc-l,則此幾^T體^C派分的編號為"root"。將所有派分到相同編號的幾何體的集合存成一個新的文件,并存儲在用戶指定的結(jié)果目錄下。15在用戶指定的結(jié)果目錄下生成若干個新的shapefile文件后,在該目錄里面生成一個配置文件,用來記錄圖層的基本信息,包括圖層的名字,圖層的最小外包矩形,幾何體的類型,幾何體的總數(shù)目,原始shapefile文件的圖層的劃分信息。其中原始的shapefile文件的圖層的劃分信息進一步包括劃分得到的區(qū)域的個數(shù)以及區(qū)域的詳細信息。20對如上存儲的矢量數(shù)據(jù)的查詢方法有多種,包括方法一、給定一個圖層標識,查詢圖層的基本信息。方法二、給定一個圖層標識、一個幾何體標識,查詢對應的幾何體的信息。方法三、給定一個圖層標識、一個矩形范圍、一個標志位,其中該標25志位標識所求的幾何體是被矩形范圍全部包含還是部分包含,查詢矩形范圍內(nèi)所有的幾何體。方法四、給定一個圖層標識、一個不規(guī)則圖形范圍、一個標志位,其中該標志位標識所查詢的幾何體是被不規(guī)則圖形范圍全部包含還是部分包含,查詢不規(guī)則圖形范圍內(nèi)所有的幾何體。30方法五、給定一個圖層標識、一個矩形范圍、一個標志位、一個特定的條件,其中該標志位標識所查詢的幾何體是被矩形范圍全部包含還是部分包含,查詢該矩形范圍內(nèi)滿足條件的所有的幾何體。方法六、給定一個圖層標識、一個不規(guī)則圖形范圍、一個標志位、—一個特定的條件,其中該標志位標識所查詢的幾何體是被不規(guī)則圖形范圍全部包含還是部分包含,查詢不規(guī)則圖形范圍內(nèi)所有的幾何體。其中上述方法三的矩形范圍、方法四的不規(guī)則圖形范圍和方法五的矩5形范圍統(tǒng)稱為查詢范圍。下面將對上述五種查詢方法的具體實施方式進行具體描述。對于方法一,根據(jù)圖層標識找到圖層對應的目錄,進而找到配置文件,讀出配置文件中的具體內(nèi)容。對于方法二,根據(jù)圖層標識找到圖層對應的目錄,進而找到配置文件,10從配置文件中讀取該圖層的劃分信息,再根據(jù)幾何體標識定位到幾何體所在shapefile文件中的位置,讀入幾何體的屬性,并且返回;如果沒找到幾^可體,返回空。方法三包括以下步驟步驟10、根據(jù)圖層標識找到圖層對應的目錄,進而找到配置文件。15步驟ll、從配置文件中讀取該圖層的劃分信息。步驟12、根據(jù)矩形范圍的邊界坐標以及圖層的劃分信息,生成兩個文件列表,file—list1和fileJist2,這兩個文件列表中的文件內(nèi)的幾何體所涉及的區(qū)域與矩形范圍有共同部分。而且filejistl中的文件中的幾何體被矩形范圍全部包含;根據(jù)標志位,file—list2中的文件中的幾何體或者被矩形20范圍全部包含或者部分包含,或者與矩形范圍沒有共同部分。如果標示全部包含,執(zhí)行步驟13;如果標示部分包含,執(zhí)行步驟14。步驟13、讀取filejistl中的文件,將所有幾何體加入到結(jié)果列表中;讀取filejist2中的文件,逐個掃描其中的幾何體,如果幾何體被矩形范圍全部包含,那么,將該幾何體加入到結(jié)果列表中。25步驟14、讀取filejistl中的文件,將所有的幾何體加入到結(jié)果列表中;讀取filejist2中的文件,逐個掃描其中的幾何體,如果幾何體被矩形范圍部分包含,將該幾何體加入到結(jié)果列表中。步驟15、返回結(jié)果列表。方法四與方法三類似,根據(jù)不規(guī)則圖形范圍的特點該方法包括以下步30驟步驟20、根據(jù)不規(guī)則圖形范圍計算得到其外切矩形。步驟21、根據(jù)圖層標識、外切矩形和標志位,計算在外切矩形范圍內(nèi)的幾{可體。步驟22、對從步驟21中得到的幾何體依次^故判斷,如果標志位標識為部分包含,且?guī)缀误w被不規(guī)則圖形范圍全部包含或者部分包含,將幾何體加入到最終結(jié)果列表中;如果標志位標識全部包含,則將幾何體加入到5最終結(jié)果列表中。步驟23、返回最終結(jié)構(gòu)列表。方法五可以在執(zhí)行方法三的基礎(chǔ)上進一步操作,從而得到結(jié)果,具體包括以下步驟步驟30、根據(jù)圖層標識、矩形范圍、標志位,計算在所述矩形范圍內(nèi)io的幾何體。步驟31、對從步驟30中得到的幾何體,依次判斷是否滿足特定條件,如果是,則將幾何體加入到最終的結(jié)果列表中。步驟32、返回最終結(jié)果列表。方法六具體包括以下步驟15步驟40、根據(jù)圖層標識、不規(guī)則圖形范圍、標志位,計算在所述不規(guī)則圖形范圍內(nèi)的幾何體。步驟41、對從步驟40中得到的幾何體,依次判斷是否滿足特定條件,如果是,則將幾何體加入到最終的結(jié)果列表中。步驟42、返回最終結(jié)構(gòu)列表。20下面結(jié)合具體實施例進一步闡述。圖2所示的是一個原始Shapefile文件內(nèi)的圖層,里面一共16個幾何體,假如該原始shapefile文件的名字是example.shp?,F(xiàn)在將這個圖層存入系統(tǒng)中。首先將圖層分成22x22個區(qū)域。25然后,對每個區(qū)域進行編碼,編碼后的結(jié)果如圖4(C)所示。將幾何體進行派分。派分的結(jié)果如表1所示表1幾何體派分結(jié)果表<table>tableseeoriginaldocumentpage14</column></row><table>10<table>tableseeoriginaldocumentpage15</column></row><table>將各個幾何體存入相應文件,其中文件名是"example—"加上相應編號,如表2所示表2幾何體及相應文件表<table>tableseeoriginaldocumentpage15</column></row><table>5最后將上述所有文件存入到分布式文件系統(tǒng)中后,可以查詢其中幾何體的屬性,現(xiàn)在結(jié)合該例描述查詢過程。假如需要查詢的區(qū)域如圖5中的虛線所示的矩形,查詢包含在矩形中的所有幾何體。具體查詢過程如下系統(tǒng)先找到圖層,讀取該圖層的劃分信息。找到矩形的4個頂點所在區(qū)域的編號,分別為03,13,23,33。確定10兩個文件列表file_listl和filejist2。其中file—listl包括的文件為Example—30.shp,file—list2包4舌的文"f牛為Example—03.shp、Example—0.shp、Example—12.shp、Example_13.shp、Example—1.shp、Example—21.shp、Example一23.shp、Example—2.shp、Example—31.shp、Example_32.shp、Example—33.shp、Example—3.shp、Example—Root.shp。文件列表中的文件15有可能不存在,不存在的文件在處理的過程中被跳過。將file—listl中的文件中的所有幾4可體加入到結(jié)果集中,在本例中,file—listl中的文件Example—30.shp不存在;對file—list2中的文件中的幾何體,將逐一讀出,并且和矩形進行包含判斷,如果幾何體被包含在矩形中,就將該幾何體加入到結(jié)果集中。最終的結(jié)果集為8、10、15、16。20下面說明應用本發(fā)明和應用現(xiàn)有的空間數(shù)據(jù)庫對比測試的結(jié)果。測試的環(huán)境是一臺DellSC430服務器,Pentuim4CPU,頻率是2.8GHz,2GBDDR內(nèi)存,80GB硬盤。軟件環(huán)境為ReadHatAS4.4操作系統(tǒng),內(nèi)核版本為2.6.20。空間數(shù)據(jù)庫環(huán)境為PostgreSQL8丄7,安裝了空間插件PostGIS1.7。測試的li:據(jù)集為95個Shapefile文件,測試主要分為兩個部分,入庫操作和筒單查詢操作。5圖6示出了對95個文件執(zhí)行入庫操作,矢量數(shù)據(jù)關(guān)系系統(tǒng)和PostgreSQL數(shù)據(jù)庫所需時間的對比。從圖中可以看出,PostgreSQL在執(zhí)行95個文件入庫操作所需的時間為41.378秒,而將所有的文件分為4x4份再存入到矢量數(shù)據(jù)管理系統(tǒng)中,所花費的總時間16.2630秒,PostgreSQL數(shù)據(jù)庫所需的時間是矢量數(shù)據(jù)管理系統(tǒng)的2.54倍。io圖6中還示出了對已經(jīng)入庫的數(shù)據(jù)集執(zhí)行5000條簡單查詢所需時間對比。從時間上來看,PostgreSQL進行這些查詢需要132.056秒,而矢量數(shù)據(jù)管理系統(tǒng)執(zhí)行這些查詢只需要78.61秒,PostgreSQL所花的時間是矢量數(shù)據(jù)管理系統(tǒng)的1.68倍。應該注意到并理解,在不脫離后附的權(quán)利要求所要求的本發(fā)明的精神15和范圍的情況下,能夠?qū)ι鲜鲈敿毭枋龅谋景l(fā)明做出各種修改和改進。因此,要求保護的技術(shù)方案的范圍不受所給出的任何特定示范教導的限制。權(quán)利要求1.一種矢量數(shù)據(jù)的存儲方法,包括下列步驟11)將原始shapefile文件的圖層進行區(qū)域劃分;12)將所述劃分的區(qū)域進行編碼;13)將所述原始shapefile文件的圖層中的幾何體根據(jù)所屬區(qū)域的編碼進行派分;14)將派分到相同編號的所述圖層中的幾何體的集合存儲為一個文件;15)根據(jù)所述存儲的文件,生成配置文件,用于記錄圖層的基本信息。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述原始shapefile文件的大小大于閾值。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述閾值大于或等于1M字節(jié)。4.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述步驟12)包15括下列步驟21)在X軸和Y軸上,分別給所述劃分的區(qū)域賦值Xi和Yj;22)組合所述Xi和Yj,計算所述區(qū)域的編碼。5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述步驟21)的Xi和Yj均為二進制值,且Xi二Xi,^Xi,n-2…Xi,0,Yj:yj,n-iyj,n-..yj,o,其中x和y分20別表示X和Y的每位的值,n是所述原始shapefile文件的圖層在X軸方向和Y軸方向#皮劃分的份數(shù);所述步驟22)進一步包括221)對于所述Xi和Yj,根據(jù)公式V『y,iXi,^…yj,oXi,o計算Vij;222)將所述Vij用十進制表示,根據(jù)VFf(yj,^Xi,n-Odec…(yj,oX^)dec計25算所述區(qū)域的編碼。6.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述步驟13)包括下列步驟31)讀取所述圖層中的幾何體,獲得所述幾何體的最小外包矩形;32)將所述最小外包矩形的每個頂點所在的區(qū)域的編碼作為所述最小30外包矩形的每個頂點的編碼;33)比較所述頂點的編碼,從左到右按位掃描,找到第一個值不相等的位k,如果;^1則此幾何體被派分的編號為aa2…a^;34)如果*=1,則此幾何體被派分的編號為"root"。7.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述步驟15)的所述圖層的基本信息包括所述圖層的名字,所述圖層的最小外包矩形,5所述幾何體的類型,所述幾何體的總數(shù)目,所述原始shapefile文件的圖層的劃分信息。8.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,如果矢量數(shù)據(jù)的文件不是shapefile格式而是其它格式,則所述步驟ll)還包括將所述矢量數(shù)據(jù)的文件轉(zhuǎn)為所述原始shapefile文件。9.—種管理根據(jù)權(quán)利要求1所述的方法存儲的矢量數(shù)據(jù)的系統(tǒng),包括面向用戶的GIS界面、文件系統(tǒng)和空間數(shù)據(jù)管理系統(tǒng)所述面向用戶的GIS界面,用于提供訪問GIS數(shù)據(jù)的接口和界面;所述文件系統(tǒng),用于存儲shapefile文件和讀取所述shapefile文件的圖層中的幾何體,并且根據(jù)查詢條件判斷所述幾何體與矩形范圍的關(guān)系,根15據(jù)所述圖層的劃分信息計算在所述查詢范圍內(nèi)的幾何體,并返回給所述空間數(shù)據(jù)管理系統(tǒng),其中所述shapefile文件包括對原始shapefile文件的圖層進行區(qū)域劃分所得到的所述相同編號的幾何體;空間數(shù)據(jù)管理系統(tǒng),用于根據(jù)圖層標識讀取所述圖層的劃分信息,判斷所述幾何體與不規(guī)則圖形范圍的關(guān)系,將所述存儲節(jié)點返回的幾何體傳20輸給所述面向用戶的GIS界面。10.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,所述文件系統(tǒng)是分布式文件系統(tǒng)。11.根據(jù)權(quán)利要求9或IO所述的系統(tǒng),其特征在于,所述文件系統(tǒng)安裝在存儲節(jié)點中,所述空間數(shù)據(jù)管理系統(tǒng)安裝在計算節(jié)點中。12.根據(jù)權(quán)利要求11所述的系統(tǒng),其特征在于,至少有兩個存儲節(jié)點。13.—種查詢根據(jù)權(quán)利要求1所述的方法存儲的矢量數(shù)據(jù)的方法,其特征在于,根據(jù)圖層標識查詢所述圖層的基本信息。14.一種查詢根據(jù)權(quán)利要求1所述的方法存儲的矢量數(shù)據(jù)的方法,其特征在于,根據(jù)圖層標識和幾何體的標識查詢所述幾何體的信息。15.—種查詢根據(jù)權(quán)利要求1所述的方法存儲的矢量數(shù)據(jù)的方法,其特征在于,根據(jù)圖層標識、矩形范圍和標志位查詢所述矩形范圍內(nèi)所有幾何體,其中所述標志位標識所述所查詢的幾何體是被所述矩形范圍全部包含或部分包含。16.根據(jù)權(quán)利要求15所述的查詢方法,其特征在于,包括下列步驟21)根據(jù)所述圖層標識找到相應的配置文件;22)從所述相應的配置文件中讀取所述圖層的劃分信息;523)根據(jù)所述矩形范圍以及所述圖層的劃分信息,生成兩個文件列表file—listl和filejist2,其中,所述文件列表內(nèi)文件內(nèi)的幾何體所涉及的區(qū)域與所述矩形范圍有共同部分,且filejistl中的文件中的幾何體都包含在矩形中;24)讀取filejistl中的文件,將所有幾何體加入到結(jié)果列表中;讀io取file—list2中的文件,判斷所述filejist2中的幾何體是否和所述矩形范圍有共同的部分,如果是,將所述幾何體加入結(jié)果列表;25)返回所述結(jié)果列表。17.—種查詢根據(jù)權(quán)利要求1所述的方法存儲的矢量數(shù)據(jù)的方法,其特征在于,根據(jù)圖層標識、不規(guī)則圖形范圍和標志位,查詢所述不規(guī)則圖形內(nèi)所有的幾何體,其中所述標志位標識所述所查詢的幾何體被所述不規(guī)則圖形全部包含或部分包含。18.根據(jù)權(quán)利要求17所述的方法,其特征在于,包括下列步驟31)計算所述不規(guī)則圖形的外切矩形;32)根據(jù)所述外切矩形、圖層標識和標志位,計算所述外切矩形內(nèi)的20幾何體;33)判斷所述外切矩形內(nèi)的幾何體是否至少存在一部分在所述不規(guī)則圖形范圍內(nèi),如果是,則加入結(jié)果列表;34)返回所述結(jié)果列表。19.一種查詢根據(jù)權(quán)利要求1所述的方法存儲的矢量數(shù)據(jù)的方法,其25特征在于,根據(jù)圖層標識、矩形范圍、標志位和特定條件,查詢該矩形范圍內(nèi)滿足條件的所有的幾何體,其中所述標志位標識所查詢的幾何體是被矩形范圍全部包含或部分包含。20.根據(jù)權(quán)利要求19所述的方法,其特征在于,包括下列步驟41)根據(jù)所述圖層標識、所述矩形范圍、所述標志位,計算在所述矩30形范圍內(nèi)的幾何體;42)判斷所述步驟41)獲得的幾何體是否滿足所述特定條件,如果是,則將所述幾何體加入結(jié)果列表;43)返回所述結(jié)果列表。21.—種查詢根據(jù)權(quán)利要求1所述的方法存儲的矢量數(shù)據(jù)的方法,其特征在于,根據(jù)圖層標識、不規(guī)則圖形范圍、標志位和特定條件,查詢所述不規(guī)則圖形范圍內(nèi)所有的幾何體,其中該標志位標識所查詢的幾何體是5被不規(guī)則圖形范圍全部包含或部分包含。22.根據(jù)權(quán)利要求21所述的方法,其特征在于,包括下列步驟51)根據(jù)圖層標識、不規(guī)則圖形范圍、標志位,計算在所述不規(guī)則圖形范圍內(nèi)的幾何體;52)判斷步驟51)獲得的幾何體是否滿足所述特定條件,如果是,則io將幾何體加入結(jié)果列表;53)返回所述結(jié)果列表。全文摘要本發(fā)明提供一種矢量數(shù)據(jù)的存儲方法,以及對根據(jù)此方法存儲的矢量數(shù)據(jù)進行查詢的方法和相應的管理系統(tǒng)。其中該存儲方法具體包括下列步驟11)將原始shapefile文件的圖層進行區(qū)域劃分;12)將所述劃分的區(qū)域進行編碼;13)將原始shapefile文件的所述圖層中的幾何體根據(jù)所屬區(qū)域的編碼進行派分;14)將派分到相同編號的所述圖層中的幾何體的集合存儲為一個文件;15)根據(jù)所述存儲的文件,生成配置文件,用于記錄圖層的基本信息。本發(fā)明簡化了系統(tǒng)實現(xiàn),在保證基本功能的同時,拋棄了數(shù)據(jù)庫中的冗余功能,弱化了事務語義,節(jié)省了系統(tǒng)資源,提高系統(tǒng)性能。文檔編號G06F17/30GK101324896SQ20081011714公開日2008年12月17日申請日期2008年7月24日優(yōu)先權(quán)日2008年7月24日發(fā)明者劉旭輝,張書彬,楠王,勁賀,韓冀中,韓承德申請人:中國科學院計算技術(shù)研究所
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1