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

基于Oracle遙感影像庫的構建與實現

2013-06-29 07:26:54史少維劉云廣
城市勘測 2013年2期
關鍵詞:數據庫

史少維,劉云廣

(北京建筑工程學院測繪與城市空間信息學院,北京 100044)

1 前言

隨著遙感技術的迅速發展,獲取的對地觀測影像數據越來越多,如何有效管理組織這些遙感影像數據,就顯得尤為重要。目前影像數據的管理方式主要可以分成三大類。①基于文件存儲的方式:隨著系統的應用目的不同,文件結構、組織、格式等都而存在差異,文件與應用程序有著非常密切的關聯,這樣系統往往需要重新修改調整。這種文件存儲管理方式對于實現多用戶之間的數據共享和并發控制比較困難,并且數據安全性也很難得到保證。②基于文件與關系數據庫結合的方式:影像數據作為外部文件存儲,而影像的元數據用關系數據庫管理,通過在數據庫中存儲影像數據的路徑名來存取影像。這種管理方式的影像數據本質上仍然是文件管理,在影像數據的共享和統一安全控制上有一定的弊端。如ERDAS公司的IMAGINE中,Image Catalog基于文件與關系數據庫圖像數據管理系統。其主要用于顯示影像文件的相關信息和簡單的顯示瀏覽功能,有待進一步的優化。③基于對象關系數據庫管理方式:采用商用數據庫技術支撐,優勢較明顯但開發難度大,其具有數據獨立性強,數據集中控制,數據冗余度小,并發控制容易實現,數據庫易恢復,數據安全性和完整性較好等特點,可以實現多用戶訪問及元數據與影像數據無縫集成管理。許多系統都在研究和發展階段。目前比較成熟的海量影像數據管理系統是國內武漢吉奧公司Geo-ImageDB 4.0影像數據庫管理系統。它是基于Oracle數據庫并且利用組件技術建立的。

本文針對遙感影像數據存儲管理方法特點,基于Oracle大型對象關系數據庫的管理模式開發,主要從數據存儲數據類型、Oracle數據庫的引擎接口和利用PL/sql數據庫存儲過程的角度,結合影像庫的研究技術,來闡述遙感影像庫的構建以及遙感影像庫的基礎功能模塊的實現,為進一步提高遙感影像庫的運行性能提出了可行的方案。

2 Oracle數據庫技術

2.1 Oracle數據庫

Oracle作為大型對象關系數據庫,具有強大的數據庫管理功能,具有以下特點:處理的數據容量大,已升級到TB級;數據運算速度快;不受操作系統的限制,具有可移植性和可持續性;為監控數存取提供系統可靠的安全性;支持數據分布式處理。Oracle具備的特點滿足了影像數據庫開發存儲數據量大、效率高、安全性強的要求。

2.2 影像庫整體設計

在Windows操作系統環境下,以Oracle 10g數據庫為載體,在VS2008平臺上以C語言為宿主語言進行數據庫的開發,影像數據采用SPOT-5的衛星影像及TM衛星系列的影像,圍繞遙感影像處理進行影像庫的流程框架設計如圖1所示。

影像庫結構設計為三層:表示層、中間層、數據層。其中表示層就是用戶程序界面端,主要用于用戶數據輸入、影像數據錄入、查詢及顯示等操作;中間層為OCI接口,實現程序與Oracle之間的數據交互的工作;底層Oracle數據庫作為影像庫的數據層,主要利用Oracle內部的數據類型組件及設計的影像表來存儲管理影像的屬性信息和實體數據。其使用VC調用OCI接口的影像數據庫結構設計框架如圖2所示。

圖1 影像庫運行流程框架

圖2 影像庫結構框架

2.3 Oracle影像庫數據類型

Oracle可以用于存儲影像的數據類型主要有3種:BFile、BLOB、InterMedia,其中 BFile存放在數據庫外部,讀取的時間效率高,但作為影像存儲的安全性很差;BLOB為二進制數據類型,讀取的時間效率低;InterMedia為Oracle數據庫升級版本新增的數據組件,可以利用這個組件存儲、管理與檢索多媒體數據,包括影像數據、視頻數據、音頻數據、文本數據以及Web數據,具體情況如表1所示。

Oracle數據類型的比較 表1

InterMedia組件中的ORDSYS.ORDImage對象用于影像數據管理,其用于存儲如BMP、PCX、TIFF、GIF等多種遙感影像數據格式[1]。ORDImage是一種對象數據類型,定義中既包括了影像屬性信息的定義,又包括了實體數據的定義,還集成了很多影像操作的方法函數。將影像作為對象來存儲,便于組織與管理。當對影像進行一些基本操作時,直接調用ORDImage的成員方法和成員函數即可。本文就采用ORDImage類型存儲影像,功能強大,方便靈活,從而達到高效管理的目的。

3 影像數據庫關鍵技術

3.1 構建金字塔影像

金字塔影像,就是以原始影像為基礎通過重采樣等方法依次生成不同分辨率的各層影像數據,形成分辨率由高到低、數據量由大到小的金字塔結構。

在重采樣之前,先對原始影像進行影像分塊[2],對影像塊按照所在圖幅的行列號進行編號,在檢索查詢時通過網格索引的算法鎖定目標影像塊。

一般構建金字塔影像時采用的重采樣方法為三種:最鄰近法、雙線性插值法、三次卷積法。其中最鄰近法速度最快,但噪點誤差多,效果差;三次卷積法生成的影像效果好,但處理時間長;雙線性插值法速度適中,且影像效果能夠達到用戶顯示要求。

采用金字塔影像結構,便于遙感影像數據的組織與管理,能夠實現跨分辨率的索引與瀏覽,這樣在不降低可視效果的情況下,傳輸較少的數量,盡量避開對底層原始影像數據的檢索,從而減輕處理大數據量的運算負荷,有利于系統的運行效率。

3.2 數據庫影像表結構設計

根據遙感影像解析的元數據、實體數據,結合金字塔影像結構設計相應的影像索引表及表里包含的字段,設計主鍵字段與外鍵字段來反映影像表之間的索引關系。設計的影像表主要有金字塔等級信息表、影像圖幅信息表、影像塊信息表、原始影像實體數據表和影像塊實體數據表5個表。其中金字塔等級信息表、影像圖幅信息表、影像塊信息表主要用來存儲的是影像元數據,原始影像實體數據表、影像塊實體數據表是用來放置實體數據的表,從而實現表示影像屬性信息的元數據與表示影像灰度值的實體數據在Oracle數據庫中分開存儲。元數據與實體數據的分開存儲,可以提高數據庫的運行效率。當用戶只對影像的屬性信息感興趣,就沒有必要遍歷實體數據,從而提高數據的檢索速度。從金字塔影像結構的角度出發,數據的檢索從金字塔等級信息表,經過影像圖幅信息表,再到影像塊信息表,最終鎖定目標影像塊,其檢索范圍在逐級縮小,從而避免了盲目在大量數據中遍歷,優化了影像的索引。設計的主要影像表結構如表2~表6所示。

影像塊數據表結構 表2

影像圖幅原始表結構 表3

金字塔等級信息表結構表4

影像圖幅信息表結構表5

表6 影像塊信息表結構

3.3 Oracle的底層語言接口OCI

OCI(Oracle Call Interface,Oracle調用層接口)是訪問Oracle數據庫的應用程序底層接口(API),可以直接在C語言中調用,不需要預編譯,效率快。它允許開發人員通過SQL語句來操縱Oracle數據庫,而且OCI支持大對象數據類型,可以嵌入PL/SQL存儲過程,可以封裝特定功能的模塊,提高大影像數據的存儲檢索速度。與ODBC、ADO、OO4O等數據庫接口相比,OCI接口功能最全,效率最高。OCI作為數據庫接口有其特定的程序框架,OCI的程序結構及處理SQL語句的流程如圖3所示。

圖3 OCI程序結構及SQL語句處理流程

利用OCI接口實現用戶程序端與Oracle數據庫之間的數據互訪,其程序結構中分為三部分:其中初始化OCI環境和線程的OCI函數OCIEnvCreate()、分配必要的句柄與數據結構的OCI函數OCIHandleAlloc()、建立與數據庫的連接、創建用戶會話 OCI函數OCIServerAttach()和OCIAttrSet()為與數據庫連接和建立會話的部分;主體部分為執行SQL語句并處理數據,這部分通過SQL語句來完成Oracle管理影像的功能;最后斷開連接、釋放句柄為關閉Oracle、結束與Oracle的會話的部分。

主體部分為SQL語句的處理,在OCI框架下實現Oracle影像數據管理的功能。

影像查詢功能的處理流程:①SQL語句準備,就是準備具體的Select語句;②綁定占位符,就是綁定程序端用戶輸入的檢索條件如影像的id號、影像名稱等;③執行語句,就是在Oracle中執行Select語句;④描述選擇列表,就是描述查詢的結果符合條件的行數、查詢字段的數據類型及長度,為下步定義輸出變量做準備;⑤定義輸出變量,根據上述的描述來定義輸出到程序端的變量類型及大小;⑥獲取并處理數據,將查詢到的結果賦值給定義的輸出變量。通過這完整的6步完成了將查詢的結果數據從數據庫端傳到程序端,實現了OCI與Oracle的數據查詢功能。

影像插入功能的處理流程:①SQL語句準備,就是準備具體的Insert語句;②綁定占位符,就是綁定程序端用戶輸入的插入條件如影像的id號、影像名稱等;③執行語句,就是在Oracle中執行Insert語句。

影像刪除功能的處理流程:①SQL語句準備,就是準備具體的Delete語句;②綁定占位符,就是綁定程序端用戶輸入的插入條件如影像的id號、影像名稱等;③執行語句,就是在Oracle中執行Delete語句。

4 影像庫主要功能實現

4.1 影像入庫實現主要流程及代碼

(1)建立影像表、字段

建立數據庫存儲影像的表與屬性字段,主要代碼如下:

(2)建立影像的Oracle目錄對象

圖像數據是二進制數據,它經常以磁盤文件的形式存在磁盤上,要將磁盤上的圖像文件(例如:BMP文件)裝載到Oracle數據表的對象類型字段中必須首先創建Oracle目錄對象,使外部文件變為Oracle的BFILE數據類型,BFILE數據是由Oracle管理的外部操作系統文件[3]。主要代碼如下:

(3)建立影像的pl/sql存儲過程

通過下面存儲過程,就可實現將影像數據文件的內容裝入Oracle的ordsys.ordimage對象數據類型字段中,代碼如下:

(4)影像數據存儲實現

在OCI接口下直接調用pl/sql存儲過程實現影像數據的導入,代碼如下:

經過上述步驟,實現影像數據存儲于Oracle庫中,影像數據導入數據庫如圖4所示。

圖4 數據庫影像導入

4.2 影像檢索實現主要代碼

本系統的檢索采取屬性查詢的方式,主要代碼如下:

經過上述主要代碼,實現影像數據的檢索顯示,其功能界面如圖5所示。

圖5 數據庫影像檢索

4.3 效率分析

在內存2G,硬盤300G的單機上,基于本文的方案主要對衛星遙感影像數據的建庫、查詢顯示、漫游功能進行了性能測試,同時在相同的實驗條件下與ArcSDE和ArcGIS平臺上進行了測試,測試統計數據如表7和表8所示。

入庫測試數據表 表7

顯示漫游測試數據表 表8

從入庫測試數據表上可以看到隨著入庫數據量的不斷增加,本方案入庫時間的優勢與ArcSDE與相比就越來越明顯;顯示漫游測試數據表是對不同數據量的單幅影像進行了查詢顯示、原始分辨率漫游響應時間的性能測試,與在ArcGIS平臺上進行了比較分析,通過數據可以看到本方案與ArcGIS的性能很接近,其與客戶的交互響應時間流暢可以接受,而且還驗證了本方案對數據量大的單幅影像的顯示漫游響應性能上的具有一定的優勢。

5 結論

本文利用底層OCI接口起到Oracle引擎的作用,采用Oracle升級后新增InterMedia組件中ORDImage類型存儲影像,運用PL/sql存儲過程完成影像批量入庫,完成Oracle影像數據庫的開發。實驗表明建立遙感影像庫的可行性,其進行遙感影像數據存取的設計與開發具有一定的特點和優勢:

(1)利用InterMedia組件的ORDImage類型來進行影像數據存儲管理,能夠真正地將影像數據實體存入Oracle庫里,能有效控制特殊區域影像的保密性,提高數據訪問效率。同時InterMedia組件集成了影像分析與處理函數,便于后期的深入開發。

(2)在Oracle數據庫的接口中,使用最底層的OCI接口,其功能最全、效率最高,支持大數據對象類型,用戶與后臺數據庫交互速度快,根據需要可以利用OCI庫函數靈活地編寫相應的模塊。

(3)編寫影像PL/sql存儲過程存放在Oracle影像庫中,封裝了影像入庫重復操作的SQL語句,減輕傳輸通信的負荷,提高數據存儲速度,為實現復雜的數據庫應用提供了解決方案。

上述的特性為后期數據擴容性及深入開發管理提供了良好的技術基礎,同時能夠保證影像數據存儲的高效性與安全性。

[1]岳國華.Oracle InterMedia多媒體數據存取技術與應用[J].西安科技大學學報,2007,27(3):467~472.

[2]虞欣,楊伯鋼.基于Oracle和ArcSDE的正射影像入庫研究[C].北京測繪學會,2011(4):137~141.

[3]王海鳳,王海亮,鄭建茹等.Oracle 11g SQL和PL/SQL從入門到精通[M].北京:中國水利水電出版社,2008.

[4]顧云鋒,楊素霞,王智鋼等.Oracle數據庫中存儲過程開發研究[J].計算機與現代化,2011,194(10):138~142.

[5]劉云,季建華,楊軍生.基于Oracle數據庫的正射影像數據的組織和管理[J].現代測繪,2006,29(1):43~45.

[6]牛得學,崔苗苗,黃超.基于Oracle Spatial的影像數據存儲技術研究[J].安徽農業科學,2011,39(7):4254~4256.

[7]贠建明,汪匯兵,唐新明.多源影像數據庫金字塔結構的研究與實踐[J].測繪科學,2011,36(4):53~55.

[8]何雄.Oracle Spatial與OCI高級編程[M].北京:中國鐵道出版社,2006.

猜你喜歡
數據庫
數據庫
財經(2017年15期)2017-07-03 22:40:49
數據庫
財經(2017年2期)2017-03-10 14:35:35
兩種新的非確定數據庫上的Top-K查詢
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
數據庫
財經(2015年3期)2015-06-09 17:41:31
數據庫
財經(2014年21期)2014-08-18 01:50:18
數據庫
財經(2014年6期)2014-03-12 08:28:19
數據庫
財經(2013年6期)2013-04-29 17:59:30
主站蜘蛛池模板: 伊人色婷婷| 国产H片无码不卡在线视频 | 青青青国产视频| 日韩A级毛片一区二区三区| 国产成人精品男人的天堂| 在线国产欧美| 日本国产一区在线观看| 精品国产香蕉在线播出| 国产乱子伦手机在线| 永久免费精品视频| 国产福利2021最新在线观看| www.狠狠| 国产综合精品一区二区| 激情五月婷婷综合网| 美女被操黄色视频网站| 欧美日韩国产综合视频在线观看| 高清无码手机在线观看| 99re在线免费视频| 大香伊人久久| 亚洲第一区在线| 精品无码视频在线观看| 97青草最新免费精品视频| 精品一区二区三区自慰喷水| 国产精品亚洲五月天高清| 91在线无码精品秘九色APP| 亚洲精品无码av中文字幕| 456亚洲人成高清在线| AV天堂资源福利在线观看| 成人无码一区二区三区视频在线观看 | 波多野结衣视频网站| 国产乱子伦一区二区=| 国产一区二区影院| 国产三级成人| 午夜国产理论| 日韩无码视频网站| 国产真实乱子伦精品视手机观看| 福利在线一区| 拍国产真实乱人偷精品| 91精品国产一区自在线拍| 日韩精品资源| 亚洲色图在线观看| 国产精品亚欧美一区二区三区| 欧美午夜小视频| 性69交片免费看| 日本一本在线视频| 黑人巨大精品欧美一区二区区| 国产欧美亚洲精品第3页在线| 国产91丝袜在线播放动漫| 黄色福利在线| 又黄又湿又爽的视频| 欧美人与牲动交a欧美精品 | 手机精品福利在线观看| 91美女视频在线| 不卡网亚洲无码| 国产一在线| 国产99在线| 欧美色综合网站| 谁有在线观看日韩亚洲最新视频| 国产精品九九视频| 99国产精品国产高清一区二区| 自慰网址在线观看| 99在线免费播放| 激情成人综合网| 成人午夜精品一级毛片| 五月激情综合网| 欧洲熟妇精品视频| 欧美亚洲欧美| 538国产视频| 国产成人精品在线| 最新国产麻豆aⅴ精品无| 国产精品妖精视频| 亚洲AⅤ综合在线欧美一区| 免费A∨中文乱码专区| 丁香六月激情综合| 日韩欧美一区在线观看| 操美女免费网站| 亚洲国产成人久久精品软件| 成人小视频网| 精品91在线| 伊人大杳蕉中文无码| 久久精品欧美一区二区| 免费黄色国产视频|