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

        ?

        基于Oracle遙感影像庫的構(gòu)建與實現(xiàn)

        2013-06-29 07:26:54史少維劉云廣
        城市勘測 2013年2期
        關(guān)鍵詞:數(shù)據(jù)類型金字塔語句

        史少維,劉云廣

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

        1 前言

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

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

        2 Oracle數(shù)據(jù)庫技術(shù)

        2.1 Oracle數(shù)據(jù)庫

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

        2.2 影像庫整體設(shè)計

        在Windows操作系統(tǒng)環(huán)境下,以O(shè)racle 10g數(shù)據(jù)庫為載體,在VS2008平臺上以C語言為宿主語言進行數(shù)據(jù)庫的開發(fā),影像數(shù)據(jù)采用SPOT-5的衛(wèi)星影像及TM衛(wèi)星系列的影像,圍繞遙感影像處理進行影像庫的流程框架設(shè)計如圖1所示。

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

        圖1 影像庫運行流程框架

        圖2 影像庫結(jié)構(gòu)框架

        2.3 Oracle影像庫數(shù)據(jù)類型

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

        Oracle數(shù)據(jù)類型的比較 表1

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

        3 影像數(shù)據(jù)庫關(guān)鍵技術(shù)

        3.1 構(gòu)建金字塔影像

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

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

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

        采用金字塔影像結(jié)構(gòu),便于遙感影像數(shù)據(jù)的組織與管理,能夠?qū)崿F(xiàn)跨分辨率的索引與瀏覽,這樣在不降低可視效果的情況下,傳輸較少的數(shù)量,盡量避開對底層原始影像數(shù)據(jù)的檢索,從而減輕處理大數(shù)據(jù)量的運算負荷,有利于系統(tǒng)的運行效率。

        3.2 數(shù)據(jù)庫影像表結(jié)構(gòu)設(shè)計

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

        影像塊數(shù)據(jù)表結(jié)構(gòu) 表2

        影像圖幅原始表結(jié)構(gòu) 表3

        金字塔等級信息表結(jié)構(gòu)表4

        影像圖幅信息表結(jié)構(gòu)表5

        表6 影像塊信息表結(jié)構(gòu)

        3.3 Oracle的底層語言接口OCI

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

        圖3 OCI程序結(jié)構(gòu)及SQL語句處理流程

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

        主體部分為SQL語句的處理,在OCI框架下實現(xiàn)Oracle影像數(shù)據(jù)管理的功能。

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

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

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

        4 影像庫主要功能實現(xiàn)

        4.1 影像入庫實現(xiàn)主要流程及代碼

        (1)建立影像表、字段

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

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

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

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

        通過下面存儲過程,就可實現(xiàn)將影像數(shù)據(jù)文件的內(nèi)容裝入Oracle的ordsys.ordimage對象數(shù)據(jù)類型字段中,代碼如下:

        (4)影像數(shù)據(jù)存儲實現(xiàn)

        在OCI接口下直接調(diào)用pl/sql存儲過程實現(xiàn)影像數(shù)據(jù)的導入,代碼如下:

        經(jīng)過上述步驟,實現(xiàn)影像數(shù)據(jù)存儲于Oracle庫中,影像數(shù)據(jù)導入數(shù)據(jù)庫如圖4所示。

        圖4 數(shù)據(jù)庫影像導入

        4.2 影像檢索實現(xiàn)主要代碼

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

        經(jīng)過上述主要代碼,實現(xiàn)影像數(shù)據(jù)的檢索顯示,其功能界面如圖5所示。

        圖5 數(shù)據(jù)庫影像檢索

        4.3 效率分析

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

        入庫測試數(shù)據(jù)表 表7

        顯示漫游測試數(shù)據(jù)表 表8

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

        5 結(jié)論

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

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

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

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

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

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

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

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

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

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

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

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

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

        猜你喜歡
        數(shù)據(jù)類型金字塔語句
        “金字塔”
        A Study of the Pit-Aided Construction of Egyptian Pyramids
        詳談Java中的基本數(shù)據(jù)類型與引用數(shù)據(jù)類型
        重點:語句銜接
        如何理解數(shù)據(jù)結(jié)構(gòu)中的抽象數(shù)據(jù)類型
        海上有座“金字塔”
        精彩語句
        神秘金字塔
        童話世界(2017年11期)2017-05-17 05:28:25
        如何搞定語句銜接題
        語文知識(2014年4期)2014-02-28 21:59:52
        作文語句實錄
        日本精品久久不卡一区二区| 九色综合九色综合色鬼| 爽爽影院免费观看| 色综合av综合无码综合网站| 国产成人精品a视频| 狠狠97人人婷婷五月| 日本大肚子孕妇交xxx| 狠狠躁日日躁夜夜躁2020| 青草视频在线播放| 岛国大片在线免费观看| 国产三级精品三级在线观看粤语| 免费视频亚洲一区二区三区| 人妻少妇猛烈井进入中文字幕| 波多野结衣av一区二区全免费观看 | 精品一区二区三区人妻久久福利 | 99精品又硬又爽又粗少妇毛片| 国产一区二区av在线观看| 91精品国自产拍老熟女露脸| 人妻激情偷乱视频一区二区三区| 波多野结衣久久精品99e| 午夜dj在线观看免费视频| 亚洲午夜无码视频在线播放| 日本精品久久久久中文字幕1| 精品人妻一区二区久久| 日本午夜a级理论片在线播放| 一区二区三区极品少妇| 中国黄色一区二区三区四区| 成人免费自拍视频在线观看| 亚洲无av在线中文字幕| 国产成人综合久久亚洲精品| 日本免费一区二区三区在线看| 人妻无码一区二区19P| 亚洲综合原千岁中文字幕| 国产交换精品一区二区三区| 手机看片自拍偷拍福利| 中文字幕在线日亚州9| 久青草久青草视频在线观看| 免费人成年小说在线观看| 在线av野外国语对白| 一区二区特别黄色大片| 精彩视频在线观看一区二区三区|