1.一種基于Oracle數(shù)據(jù)庫的多源異構(gòu)空間數(shù)據(jù)流轉(zhuǎn)方法,其特征在于,包括基于Oracle的多源異構(gòu)空間數(shù)據(jù)存取方法和基于Oracle的多源異構(gòu)空間數(shù)據(jù)處理方法;
所述基于Oracle的多源異構(gòu)空間數(shù)據(jù)存取方法,包括以下步驟:
步驟A1:數(shù)據(jù)管理層接收到數(shù)據(jù)應(yīng)用層數(shù)據(jù)請(qǐng)求,將請(qǐng)求傳遞給用戶權(quán)限角色認(rèn)證模塊;
步驟A2:用戶權(quán)限角色認(rèn)證模塊對(duì)用戶角色進(jìn)行審核,驗(yàn)證通過后轉(zhuǎn)入數(shù)據(jù)庫節(jié)點(diǎn)管理模塊;
步驟A3:數(shù)據(jù)庫節(jié)點(diǎn)管理模塊根據(jù)數(shù)據(jù)存儲(chǔ)的目的地址確定訪問的數(shù)據(jù)庫節(jié)點(diǎn);
步驟A4:數(shù)據(jù)請(qǐng)求調(diào)度模塊查找空間數(shù)據(jù)緩存區(qū),若沒有發(fā)現(xiàn)所需數(shù)據(jù),則將數(shù)據(jù)請(qǐng)求發(fā)送至數(shù)據(jù)統(tǒng)一訪問口模塊;
步驟A5:數(shù)據(jù)統(tǒng)一訪問接口模塊讀取多源異構(gòu)數(shù)據(jù),并通過空間數(shù)據(jù)轉(zhuǎn)換模塊進(jìn)行空間數(shù)據(jù)模型轉(zhuǎn)換,轉(zhuǎn)換為統(tǒng)一數(shù)據(jù)模型后,存入到數(shù)據(jù)緩沖區(qū)中;
步驟A6:數(shù)據(jù)預(yù)處理模塊對(duì)數(shù)據(jù)進(jìn)行簡單的質(zhì)檢;
步驟A7:數(shù)據(jù)統(tǒng)一訪問接口模塊將預(yù)處理后的數(shù)據(jù)通過空間數(shù)據(jù)存取模塊錄入到對(duì)應(yīng)的Oracle數(shù)據(jù)庫節(jié)點(diǎn)中,完成數(shù)據(jù)的存??;
所述基于Oracle的多源異構(gòu)空間處理方法,包括以下步驟:
步驟B1:數(shù)據(jù)管理層接收到數(shù)據(jù)應(yīng)用層數(shù)據(jù)請(qǐng)求;
步驟B2:用戶權(quán)限角色認(rèn)證模塊對(duì)用戶角色和數(shù)據(jù)的訪問權(quán)限進(jìn)行認(rèn)證;
步驟B3:數(shù)據(jù)庫節(jié)點(diǎn)管理模塊根據(jù)請(qǐng)求數(shù)據(jù)的基本信息確定訪問的數(shù)據(jù)庫節(jié)點(diǎn)信息;
步驟B4:數(shù)據(jù)請(qǐng)求調(diào)度模塊查找空間數(shù)據(jù)緩存區(qū),若發(fā)現(xiàn)緩存區(qū)沒有所需數(shù)據(jù),則發(fā)起數(shù)據(jù)請(qǐng)求;
步驟B5:數(shù)據(jù)統(tǒng)一訪問接口模塊通過數(shù)據(jù)庫操作模塊獲取所需數(shù)據(jù),存入到數(shù)據(jù)緩沖區(qū)中;
步驟B6:空間數(shù)據(jù)處理模塊對(duì)數(shù)據(jù)進(jìn)行運(yùn)算與分析,將結(jié)果集存入到數(shù)據(jù)緩存區(qū);
步驟B7:數(shù)據(jù)請(qǐng)求調(diào)度模塊將數(shù)據(jù)結(jié)果集返回至上層應(yīng)用,完成操作。
2.根據(jù)權(quán)利要求1所述的基于Oracle數(shù)據(jù)庫的多源異構(gòu)空間數(shù)據(jù)流轉(zhuǎn)方法,其特征在于,步驟A5中,所述統(tǒng)一數(shù)據(jù)模型包括統(tǒng)一矢量數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)和統(tǒng)一柵格數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)。
3.根據(jù)權(quán)利要求2所述的基于Oracle數(shù)據(jù)庫的多源異構(gòu)空間數(shù)據(jù)流轉(zhuǎn)方法,其特征在于,所述統(tǒng)一矢量數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)包括基于BLOB對(duì)象存取方式的矢量數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)和基于SDO_GEOMETRY對(duì)象存取方式的矢量數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)。
4.根據(jù)權(quán)利要求3所述的基于Oracle數(shù)據(jù)庫的多源異構(gòu)空間數(shù)據(jù)流轉(zhuǎn)方法,其特征在于,所述基于BLOB對(duì)象存取方式的矢量數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)的關(guān)系表包括矢量元數(shù)據(jù)表、矢量空間索引表、矢量空間參考表和矢量空間數(shù)據(jù)表。
5.根據(jù)權(quán)利要求4所述的基于Oracle數(shù)據(jù)庫的多源異構(gòu)空間數(shù)據(jù)流轉(zhuǎn)方法,其特征在于,所述基于SDO_GEOMETRY對(duì)象存取方式的矢量數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)的關(guān)系表包括空間元數(shù)據(jù)表、空間坐標(biāo)系統(tǒng)表、空間索引信息表、空間索引元數(shù)據(jù)表和矢量空間數(shù)據(jù)表。
6.根據(jù)權(quán)利要求2所述的基于Oracle數(shù)據(jù)庫的多源異構(gòu)空間數(shù)據(jù)流轉(zhuǎn)方法,其特征在于,所述統(tǒng)一柵格數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)包括:提取柵格數(shù)據(jù)元數(shù)據(jù)信息,生產(chǎn)柵格元數(shù)據(jù)信息表;按照波段對(duì)柵格數(shù)據(jù)進(jìn)行抽取,并形成波段信息表;對(duì)每一波段進(jìn)行分塊,每一塊作為一個(gè)Blob字段數(shù)據(jù)存儲(chǔ)在柵格數(shù)據(jù)表中;選擇重采樣算法,生成影像金字塔,形成金字塔信息表;對(duì)生成的金子塔數(shù)據(jù)先按照波段分層,同一波段內(nèi)再分塊,生成金字塔數(shù)據(jù)表。
7.根據(jù)權(quán)利要求6所述的基于Oracle數(shù)據(jù)庫的多源異構(gòu)空間數(shù)據(jù)流轉(zhuǎn)方法,其特征在于,所述統(tǒng)一柵格數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)的關(guān)系表包括柵格信息表、波段信息表、金字塔信息表、柵格數(shù)據(jù)表、金字塔數(shù)據(jù)表。
8.根據(jù)權(quán)利要求5所述的基于Oracle數(shù)據(jù)庫的多源異構(gòu)空間數(shù)據(jù)流轉(zhuǎn)方法,其特征在于,還包括基于統(tǒng)一矢量數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)的矢量數(shù)據(jù)查詢檢索方法;
所述基于統(tǒng)一矢量數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)的矢量數(shù)據(jù)查詢檢索方法,包括以下步驟:
步驟C1:對(duì)于基于BLOB對(duì)象存取方式的矢量數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)的空間數(shù)據(jù),建立空間索引后,能夠直接對(duì)BLOB對(duì)象進(jìn)行精確的空間查詢;
步驟C2:對(duì)于基于SDO_GEOMETRY對(duì)象存取方式的矢量數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)的空間數(shù)據(jù),首先對(duì)矢量空間索引表或是建立的索引文件,對(duì)最小包圍框進(jìn)行空間查詢,初步篩選出FID結(jié)果集;
步驟C3:根據(jù)初步篩選出的FID結(jié)果集,去數(shù)據(jù)庫提取對(duì)應(yīng)要素;
步驟C4:對(duì)提取的要素與空間過濾條件進(jìn)行空間幾何運(yùn)算,進(jìn)行幾何關(guān)系的精確查詢,得出滿足空間過濾條件的最終結(jié)果。
9.根據(jù)權(quán)利要求7所述的基于Oracle數(shù)據(jù)庫的多源異構(gòu)空間數(shù)據(jù)流轉(zhuǎn)方法,其特征在于,還包括基于統(tǒng)一柵格數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)的柵格數(shù)據(jù)查詢檢索方法;
所述基于統(tǒng)一柵格數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)的柵格數(shù)據(jù)查詢檢索方法,包括以下步驟:
步驟D1:根據(jù)柵格數(shù)據(jù)大小及柵格的地理范圍,計(jì)算柵格數(shù)據(jù)的cell大小:
步驟D2:根據(jù)請(qǐng)求的地理坐標(biāo)范圍,計(jì)算當(dāng)前請(qǐng)求柵格數(shù)據(jù)的大?。?/p>
其中,reqx、reqy分別表示請(qǐng)求的柵格數(shù)據(jù)的長度和寬度,filterminx、filtermaxx、filterminy、filtermaxy分別表示請(qǐng)求的地理范圍的最小x坐標(biāo)值、最大x坐標(biāo)值、最小y坐標(biāo)值、最大y坐標(biāo)值,cellx、celly分別表示柵格數(shù)據(jù)一個(gè)像素點(diǎn)能夠表示的地理坐標(biāo)x維度的大小和y維度的大??;
步驟D3:計(jì)算當(dāng)前視窗范圍內(nèi)的比例尺scale,找到與比例尺最近一級(jí)金字塔級(jí)別i:
其中,scale是當(dāng)前視窗比例尺,winx、winy分別為當(dāng)前視窗的寬和高度,pyramidi為第i級(jí)金字塔的比例尺,S為各級(jí)金字塔比例尺集合,level為金字塔級(jí)別總數(shù),pyramidmin為最接近scale的一級(jí)的金字塔的比例尺;
步驟D4:根據(jù)金字塔級(jí)別,查找該級(jí)金字塔在某一波段內(nèi)塊的位置:
其中,blockx、blocky分別表示柵格數(shù)據(jù)某一波段中切割塊的長度和寬度,tileminx、tileminy、tilemaxx、tilemaxy分別為所請(qǐng)求的塊號(hào)的最小行號(hào)、最小列號(hào)、最大行號(hào)、最大列號(hào),reqminx、reqminy、reqmaxx、reqmaxy分別標(biāo)識(shí)請(qǐng)求的地理范圍的最小x坐標(biāo)值、最小y坐標(biāo)值、最大x坐標(biāo)值、最大y坐標(biāo)值,imgminx、imgminy分別表示柵格數(shù)據(jù)地理范圍的最小x坐標(biāo)值、最小y坐標(biāo)值;
步驟D5:按照塊號(hào)請(qǐng)求數(shù)據(jù)后,對(duì)柵格邊界的塊進(jìn)行塊內(nèi)查找,得到最終查詢的柵格數(shù)據(jù)實(shí)體。