版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
地理空間數(shù)據(jù)庫訪問接口Geospatialdatabasecall-levelinterface中華人民共和國國家質量監(jiān)督檢驗檢疫總局發(fā)布IGB/T30320—2013前言 V 12規(guī)范性引用文件 13術語和定義 14符號和縮略語 34.1符號 34.2縮略語 34.3UML圖示符號 44.4UML多樣性描述 45空間數(shù)據(jù)庫數(shù)據(jù)訪問對象邏輯關系 55.1概述 55.2數(shù)據(jù)源 55.3數(shù)據(jù)集 55.4矢量數(shù)據(jù)集 55.5要素集 65.6柵格數(shù)據(jù)集 65.7空間數(shù)據(jù)模型 66空間數(shù)據(jù)庫數(shù)據(jù)訪問對象描述 66.1數(shù)據(jù)源 66.2數(shù)據(jù)連接 96.3數(shù)據(jù)集 6.4數(shù)據(jù)集類型 6.5矢量數(shù)據(jù)集 6.7查詢對象 6.8要素 6.9字段信息 6.10字段信息集合 6.11柵格數(shù)據(jù)集 6.12波段信息 6.13像素格式 6.14像素 6.15掃描線 6.16數(shù)據(jù)塊 7元數(shù)據(jù)訪問對象 ⅡGB/T30320—20137.1元數(shù)據(jù)對象邏輯關系 7.2元數(shù)據(jù)訪問對象定義 8空間參照系 8.1空間參照系對象邏輯關系 8.2空間參照系對象定義 9數(shù)據(jù)提供者加載與卸載 9.2數(shù)據(jù)提供者管理器 9.3數(shù)據(jù)提供者 參考文獻 圖1GDB-CLI數(shù)據(jù)訪問對象UML圖 5圖2數(shù)據(jù)源相關對象UML圖 7圖3數(shù)據(jù)源對象屬性和方法 7圖4連接對象屬性 9圖5數(shù)據(jù)集相關對象UML圖 圖6數(shù)據(jù)集對象屬性和方法 圖7數(shù)據(jù)集類型 圖8矢量數(shù)據(jù)集相關對象UML圖 圖9矢量數(shù)據(jù)集屬性和方法 圖10要素集對象的方法 圖13字段信息對象UML圖 圖14柵格數(shù)據(jù)集對象UML圖 圖16像素格式枚舉對象UML圖 圖17像素對象UML圖 圖18掃描線對象UML圖 圖19數(shù)據(jù)塊對象UML圖 圖21元數(shù)據(jù)庫對象屬性和方法 圖22元數(shù)據(jù)集對象屬性和方法 圖23空間參考系對象UML圖 圖24數(shù)據(jù)提供者管理器類圖 表1符號對照表 3表2縮寫對照表 3表3UML圖符號對照表 4表4UML圖多樣性描述 4表5數(shù)據(jù)集與空間對象的存儲對應關系 6ⅢGB/T30320—2013表6數(shù)據(jù)集類型描述 表7查詢選項枚舉 表8查詢類型枚舉 表9游標類型枚舉 表10字段標記列表 表11字段類型描述列表 表12像素格式描述 V本標準按照GB/T1.1—2009給出的規(guī)則起草。本標準由國家測繪地理信息局提出。本標準由全國地理信息標準化技術委員會(SAC/TC230)歸口。本標準起草單位:北京超圖軟件股份有限公司、武大吉奧信息技術有限公司、武漢中地數(shù)碼科技有限公司、中遙地網(wǎng)信息技術有限公司、北京大學遙感與地理信息系統(tǒng)研究所。謝林。1地理空間數(shù)據(jù)庫訪問接口1范圍本標準規(guī)定了地理空間數(shù)據(jù)庫的數(shù)據(jù)訪問對象模型及接口,對滿足本標準接口的空間數(shù)據(jù)提供者的加載和卸載作出規(guī)定。本標準適用于通過標準接口訪問或共享地理空間數(shù)據(jù)庫的應用,側重于從數(shù)據(jù)使用者和數(shù)據(jù)提供者角度描述訪問對象模型及接口,不適用于坐標參照系和元數(shù)據(jù)的具體內容。2規(guī)范性引用文件下列文件對于本文件的應用是必不可少的。凡是注日期的引用文件,僅注日期的版本適用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改單)適用于本文件。GB/T19710—2005地理信息元數(shù)據(jù)(ISO19115:2003,MOD)ISO19111:2007地理信息基于坐標的空間參照(Geographicinformation—Spatialreferencingbycoordinates)ISO19125-1:2004地理信息簡單要素存取第1部分:通用框架(Geographicinformation—Simplefeatureaccess—Part1:Commonarchitecture)3術語和定義下列術語和定義適用于本文件。地理空間數(shù)據(jù)庫geospatialdatabase用來存貯、管理和檢索空間數(shù)據(jù),表達空間實體的位置、形狀、大小及其分布特征等方面信息的數(shù)據(jù)庫。數(shù)據(jù)提供者dataprovider實現(xiàn)了地理空間數(shù)據(jù)庫訪問接口以及相關的配置說明的對象。數(shù)據(jù)提供者管理器dataprovidermanager管理數(shù)據(jù)提供者的對象,包括對數(shù)據(jù)提供者的加載、卸載、查找等操作。數(shù)據(jù)使用者datacustomer調用地理空間數(shù)據(jù)庫訪問接口操作數(shù)據(jù)提供者的空間數(shù)據(jù)的對象。數(shù)據(jù)使用者可以使用標準的接口訪問不同數(shù)據(jù)提供者的空間數(shù)據(jù)?,F(xiàn)實世界現(xiàn)象的抽象。2代表要素空間特征的對象。柵格數(shù)據(jù)rasterdata被表示成有規(guī)則的空間陣列的數(shù)據(jù)。由幾何元素所表示的數(shù)據(jù)。數(shù)據(jù)集dataset可以標識的數(shù)據(jù)集合。矢量數(shù)據(jù)集vectordataset一組矢量數(shù)據(jù)要素(feature)的集合,具有相同的幾何對象類型、相同的空間參照系和相同的字段信息結構。柵格數(shù)據(jù)集rasterdataset具有長度和寬度范圍的一組有規(guī)則的空間陣列數(shù)據(jù)的集合,這些陣列數(shù)據(jù)有相同的空間參照系,陣列數(shù)據(jù)值即代表對應空間位置的屬性且所有值描述的是同類屬性,比如溫度、高程值或其他。數(shù)據(jù)源datasource由數(shù)據(jù)提供者提供的各種類型的數(shù)據(jù)集(如點、線、面、影像、格網(wǎng)數(shù)據(jù)集)組成的數(shù)據(jù)集集合。一個數(shù)據(jù)源可包含一個或多個不同類型的數(shù)據(jù)集;一個數(shù)據(jù)源可以對應一個數(shù)據(jù)文件或者數(shù)據(jù)庫。對矢量數(shù)據(jù)集進行條件查詢的結果集。查詢條件可以是空間關系或者屬性條件。游標類型cursortype標識要素集遍歷數(shù)據(jù)的方式。表示屬性信息的集合。坐標coordinate用來指示N維空間中點的位置的數(shù)值序列。3坐標參照系coordinatereferencesystem通過基準與現(xiàn)實世界相關的坐標系。大地坐標系geodeticcoordinatesystem位置由大地經(jīng)度和緯度及大地高程(在三維的情況下)確定的坐標系。投影坐標系projectedcoordinatesystem由地圖投影產(chǎn)生的二維坐標系。元數(shù)據(jù)metadata關于數(shù)據(jù)的內容、質量、狀況和其他特性的描述性數(shù)據(jù)。4符號和縮略語4.1符號表1描述的符號適用于本文件。表1符號對照表符號~表示在符號前后對象之間取值l表示符號前后項任選其一表示括號內的對象為可選n表示數(shù)字表示在符號左端數(shù)值到右端數(shù)值的區(qū)間中任取其一,()表示開區(qū)間;[]表示閉區(qū)間表2描述的縮略語適用于本文件。表2縮寫對照表描述符中文名稱英文名稱空間數(shù)據(jù)庫訪問接口GeospatialDatabaseCall-LevelInterf數(shù)據(jù)定義語言DataDefinitionLanguage數(shù)據(jù)操縱語言DataManipulationLanguage4表2(續(xù))描述符中文名稱英文名稱統(tǒng)一建模語言UnifiedModellingLanguage空間參照系唯一標識通用唯一識別碼UniversallyUniqueIdentifier本標準出現(xiàn)的圖用UML靜態(tài)結構表示,所有數(shù)據(jù)模型UML圖示中符號表示的規(guī)定見表3。表3UML圖符號對照表符號名稱說明AB雙向關聯(lián)表示A、B兩個類之間的一般關系,兩個類都知道另一個類的公共屬性和方法AB單向關聯(lián)表示A、B兩個類之間的關聯(lián)關系,A類知道B類的公共屬性和方法,但B類不知道A類的公共屬性和方法AB聚合A對象擁有B對象,A對象可以包含B對象,但B對象不是A對象的組成部分,二者生命周期可以不同AB組合A對象擁有B對象,是整體和部分的關系,且生命周期一致AB泛化B對象繼承A對象,即B對象由A對象派生AB依賴A類依賴于B類,B類的變化將影響A類。如果A類依賴B類,則B可以體現(xiàn)為A的局部變量、方法的參數(shù)或者靜態(tài)方法的調用本標準涉及的UML圖中多樣性描述含義見表4。表4UML圖多樣性描述多樣性0..11只能1個0..n0個或多個1個或多個55空間數(shù)據(jù)庫數(shù)據(jù)訪問對象邏輯關系GDB-CLI的空間數(shù)據(jù)庫訪問對象如圖1所示。數(shù)據(jù)源(GDBDataSource)是各種數(shù)據(jù)集(GDB-Dataset)的容器,統(tǒng)一管理所有的數(shù)據(jù)集。數(shù)據(jù)源和數(shù)據(jù)集可以關聯(lián)相關的元數(shù)據(jù)(GDBMetaData),數(shù)據(jù)集還可以具有相應的空間參照系統(tǒng)(GDBCoordReferenceSys)。GDBMetadataGDBMetadataGDBCoordReferenceSysGDBQueryDefGDBVectorDatasetGDBScanlineGDBFieldValueGDBGeometryGDBFieldInfos1GDBFieldInfoGDBRasterBlockGDBFeatureGDBRasterDatasetGDBDataSourceGDBFeaturesetGDBDataset11圖1GDB-CLI數(shù)據(jù)訪問對象UML圖5.2數(shù)據(jù)源數(shù)據(jù)源(GDBDataSource)是由各種類型的數(shù)據(jù)集(如點、線、面、影像、格網(wǎng)數(shù)據(jù)集)組成的數(shù)據(jù)集集合。一個數(shù)據(jù)源可包含一個或多個相同類型的數(shù)據(jù)集,也可以同時管理多個不同類型的數(shù)據(jù)集。數(shù)據(jù)集(GDBDataset)是由相同特征的空間對象組成的數(shù)據(jù)集合。根據(jù)對空間信息的描述方式不同而派生兩大子類:矢量數(shù)據(jù)集(GDBVectorDataset)和柵格數(shù)據(jù)集(GDBRasterDataset)。5.4矢量數(shù)據(jù)集矢量數(shù)據(jù)集是矢量要素(GDBFeature)的聚合,每個要素可以有幾何(GDBGeometry)和屬性(GD-BFieldValue)數(shù)據(jù)。對矢量數(shù)據(jù)集的查詢結果可以用要素集(GDBFeatureset)表示。6要素集是要素的聚合,它是數(shù)據(jù)集中數(shù)據(jù)的一個投影或訪問窗口。矢量數(shù)據(jù)集和要素集使用字段信息集合(GDBFieldInfos)表示屬性結構信息。矢量數(shù)據(jù)的編輯操作包括添加或修改要素的空間或屬性信息、刪除要素。編輯操作提供兩種方式:●要素集方式。對矢量數(shù)據(jù)集進行查詢得到要素集(GDBFeatureset),通過要素集分別操作空間數(shù)據(jù)和屬性數(shù)據(jù)。參見6.6.2?!駥ο蠓绞?。以要素(GDBFeature)為基本單元的數(shù)據(jù)操作。通過操作矢量數(shù)據(jù)集或要素集中的要素(GDBFeature)來操作空間數(shù)據(jù)和屬性數(shù)據(jù)。參見6.5.3和6.6.2。5.6柵格數(shù)據(jù)集柵格數(shù)據(jù)集是按規(guī)則排列的一系列像素點或數(shù)值的聚合,它用一個規(guī)則格網(wǎng)來描述與每一個格網(wǎng)單元位置相對應的空間現(xiàn)象特征的位置和取值,每一個格網(wǎng)單元為一個像素。柵格數(shù)據(jù)集常用來存儲GDB-CLI通過數(shù)據(jù)塊(GDBRasterBlock)、掃描線(GDBScanline)、像素點(GDBPixel)三種模式來訪問柵格數(shù)據(jù)集中的數(shù)據(jù)。5.7空間數(shù)據(jù)模型GDB-CLI的空間數(shù)據(jù)模型采用ISO19125-1:2004規(guī)定的簡單對象模型,各空間對象(GDBGeome-try)與數(shù)據(jù)集的存儲對應關系見表5。表中空間對象的is3D()和isMeasuered()應與數(shù)據(jù)集的hasZDi-mension和hasMDimension屬性對應,即如果空間對象的is3D()方法返回TRUE,則應存儲在hasZDi-mension屬性為TRUE的數(shù)據(jù)集中,對Measure屬性類同表5數(shù)據(jù)集與空間對象的存儲對應關系數(shù)據(jù)集類型空間對象類型LineString,Line,LinearRing,MultiLineStringPolygon,Triangle,MultiPolygon以上各種空間對象,GeometryCollection6空間數(shù)據(jù)庫數(shù)據(jù)訪問對象描述6.1數(shù)據(jù)源數(shù)據(jù)源的職責包括:1)建立到后臺數(shù)據(jù)庫或數(shù)據(jù)文件的訪問鏈接;2)對各數(shù)據(jù)集的組織和管理(如對數(shù)據(jù)集元數(shù)據(jù)的查詢、修改,以及對數(shù)據(jù)集的創(chuàng)建、刪除等);3)數(shù)據(jù)源自身的元數(shù)據(jù)說明。數(shù)據(jù)源的對象UML圖見圖2。7GDBConnection1Vo.n0..n0..化數(shù)據(jù)源對象的屬性和方法圖見圖3。GDBDataSource+connection:GDBConnectionalias:CharaterString+engineClass:IntegerengineName:CharacterStnng+providerUUID:CharacterStning+descnption:CharacterString+verson:CharaterStnng+metaUUID:CharaterStning+datasets:Set<GDBDataset>+Create():Boolean+Open():Boolean+Cloe():void+lsOpen():BooleanGetDataset(cDatasetName:CharacterString):GDBDataset+DeleteDataset(cDatasetName:CharacterStning):BooleanCreateDatasetVector(cDataetName:CharacterStnng,type:GDBDatasetType):GDBVectorDataset+CreateDatasetRaser(cDatasetName:CharacterString,type:GDBDataetType,format:GDBPixcelFormat…):GDBRaserDatasetCreateDatasetFrom(cNewName:CharacterString,refDataset:GDBDataset):GDBDatasetCopyDataset(dataet:GDBDataset,cDesDatasetName:CharacterString):GDBDataset+IsModified():BooleanSetModifiedFlag(bModified:Boolean=TRUE):void+Savelnfo():Boolean+Execute(cSQL:CharacterStning):Boolean+lsConnected():BooleanConnect():BooleanGetDateLasUpdated():TimeGetDateCreated():TimeChangePassword(cNewPassvord:CharacterString):BooleanGetUnoccupiedDatasetName(cDatasetName:CharacterString):CharacterStringIsAvailableDataetName(cDatasetName:CharacterString):Boolean+TransBegin():Boolean+TransCommit():void+TransRollback():void+InitMetaDatabae():GDBMetaDatabase+GetMetaDatabase():GDBMetaDatabaseSetMetaUUID(cMetaUUID:CharacterString):Boolean+GetMetaUUID():CharacterStringFindDatasetByMetaData(cMetaUUID:CharacterString):GDBDataset圖3數(shù)據(jù)源對象屬性和方法數(shù)據(jù)源對象的屬性如下:8●connection:GDBConnection—數(shù)據(jù)源的連接信息,通過此信息打開數(shù)據(jù)源;●alias:CharaterString—數(shù)據(jù)源別名,是當前環(huán)境下數(shù)據(jù)源實例對象的唯一標識;●engineClass:Integer—數(shù)據(jù)源的引擎類型,與對應的數(shù)據(jù)提供者的該屬性值相等,見9.3.3;·engineName:CharacterString—數(shù)據(jù)源的引擎名稱;·providerUUID:CharacterString—數(shù)據(jù)源的提供者的唯一標識,與對應數(shù)據(jù)提供者的uuid屬性●description:CharacterString—數(shù)據(jù)源描述信息;●version:CharaterString—數(shù)據(jù)源的版本名稱,與對應數(shù)據(jù)提供者的version屬性值相等,見9.3.3;●metadataUUID:CharaterString—關聯(lián)的元數(shù)據(jù)的唯一標識字符串,可以為空,為空則表示該數(shù)據(jù)源對象沒有關聯(lián)元數(shù)據(jù);●datasets:Set<GDBDataset>—數(shù)據(jù)源中的所有數(shù)據(jù)集的集合。數(shù)據(jù)源對象的方法如下:●Create():Boolean—創(chuàng)建數(shù)據(jù)源,需要預先設置好connection屬性?!馩pen():Boolean—連接數(shù)據(jù)庫,打開數(shù)據(jù)源,需要預先設置好connection屬性?!馛lose():void—關閉數(shù)據(jù)源。●IsOpen():Boolean—判斷數(shù)據(jù)源是否已經(jīng)打開?!馟etDataset(cDatasetName:CharacterString):GDBDataset—通過指定名稱返回數(shù)據(jù)集對象。●DeleteDataset(cDatasetName:CharacterString):Boolean—通過指定名稱刪除數(shù)據(jù)集。·CreateDatasetVector(cDatasetName:CharacterStriDataset—創(chuàng)建新的矢量數(shù)據(jù)集。矢量數(shù)據(jù)集可以有自己的子數(shù)據(jù)集,參見6.3.2。CreateDatasetRaster(cDatasetName:CharacterString,type:GDBDatasetType,format:GDB-PixcelFormat,nWidth:Integer,nHeight:Integer,nBlocksizeX:Integer,nBlocksizeY:Integer,nBandCount:Integer):GDBRasterDataset—創(chuàng)建新的柵格數(shù)據(jù)集。柵格數(shù)據(jù)集也可以有自己●CreateDatasetFrom(cNewName:CharacterString,refDataset:GDBDataset):GDBDataset—過模板數(shù)據(jù)集創(chuàng)建新的數(shù)據(jù)集,newName為新數(shù)據(jù)集名稱,refDataset為模板數(shù)據(jù)集。集,源數(shù)據(jù)集合srcDataset可以來自不同的數(shù)據(jù)源,datasetName是復制后的數(shù)據(jù)集名稱。●IsModified():Boolean—判斷數(shù)據(jù)源對象是否有信息需要保存?!馭etModifiedFlag(bModified:Boolean=TRUE):void—設置數(shù)據(jù)源修改標記,默認bModified為TRUE,即標識數(shù)據(jù)源已被修改,有信息需要保存?!馭avelnfo():Boolean—保存數(shù)據(jù)源信息?!馝xecute(cSQL:CharacterString):Boolean—執(zhí)行SQL語句,主要用于在數(shù)據(jù)庫級執(zhí)行的數(shù)據(jù)操作,用以執(zhí)行DDL和DML,不返回結果集?!馛heckConnection():Boolean—判斷數(shù)據(jù)源是否仍然處于連接狀態(tài)以及連接是否可用,主要用于數(shù)據(jù)庫型的數(shù)據(jù)源?!馬efresh():Boolean—刷新數(shù)據(jù)源以獲取最新信息;此外,如果數(shù)據(jù)庫型數(shù)據(jù)源因網(wǎng)絡連接斷開導致CheckConnection()方法檢查到數(shù)據(jù)源的連接已經(jīng)失效,恢復網(wǎng)絡連接后,可以用Refresh9()方法刷新數(shù)據(jù)源后繼續(xù)訪問數(shù)據(jù)?!馟etDateLastUpdated():Time—獲取數(shù)據(jù)源最后修改的時間?!馟etDateCreated():Time—獲取數(shù)據(jù)源創(chuàng)建的時間?!馛hangePassword(cNewPassword:CharacterString):Boolean—修改數(shù)據(jù)源連接密碼。本地文件型數(shù)據(jù)源可以使用此接口修改數(shù)據(jù)源連接密碼?!馟etUnoccupiedDatasetName(cDatasetName:CharacterString):CharacterString—獲取唯一數(shù)●IsAvailableDatasetName(cDatasetName:CharacterString):Boolean—判斷數(shù)據(jù)集名是否可用?!馡nitMetaDatabase():Boolean—初始化與數(shù)據(jù)源對象關聯(lián)的元數(shù)據(jù)庫對象?!馟etMetaDatabase():GDBMetaDatabase—獲取元數(shù)據(jù)庫對象?!馭etMetaUUID(cMetaUUID:CharacterString):Boolean—給數(shù)據(jù)源設置元數(shù)據(jù)的UUID,通過該標識就能在數(shù)據(jù)源關聯(lián)的元數(shù)據(jù)庫中找到對應的元數(shù)據(jù)?!馟etMetaUUID():CharacterString—獲取數(shù)據(jù)源的元數(shù)據(jù)對象的UUID?!馞indDatasetByMetaData(cMetaUUID:CharacterString):GDBDataset—通過元數(shù)據(jù)的UUID獲取數(shù)據(jù)集,返回的數(shù)據(jù)集對象。如果該數(shù)據(jù)源中沒有數(shù)據(jù)集的元數(shù)據(jù)UUID與傳入的數(shù)據(jù)連接對象(GDBConnection)的屬性見圖4。數(shù)據(jù)源通過GDBConnection提供的信息與數(shù)據(jù)庫建立連接。+server:CharacterString+user:CharacterString+password:CharacterString+readOnly:Boolean+transacted:Boolean+exclusive:Boolean+authorization:Boolean+database:CharacterString+driver:CharacterString+pipe:Boolean+port:Integer+connMaxNum:Integer+connMinNum:Integer+connIncNum:Integer圖4連接對象屬性數(shù)據(jù)連接對象的屬性如下:●server:CharacterString—服務名。例如:對網(wǎng)絡數(shù)據(jù)庫型數(shù)據(jù)源,表示Oracle數(shù)據(jù)庫的實例名,或者SQLSever的服務器名;對本地文件型數(shù)據(jù)源,該屬性為文件路徑;對網(wǎng)絡服務型數(shù)據(jù)源,該屬性為網(wǎng)絡服務地址?!駌eadOnly:Boolean—是否只讀打開。只讀打開后數(shù)據(jù)所有的信息都不可修改?!駎ransacted:Boolean—是否以事務方式打開?!馿xclusive:Boolean—是否獨占打開?!馻uthorization:Boolean—數(shù)據(jù)庫是否需要密碼打開。●driver:CharacterString—驅動程序名稱,例如不同數(shù)據(jù)庫的ODBC驅動名稱?!駊ipe:Boolean—是否用命名管道中連接方式,MySQL數(shù)據(jù)庫連接時使用?!駊ort:Integer—連接端口,例如MySQL中普通連接方式的端口號。●connMaxNum:Integer—數(shù)據(jù)庫連接池的最大連接數(shù)?!馽onnMinNum:Integer—數(shù)據(jù)庫連接池的最小連接數(shù)?!馽onnIncNum:Integer—數(shù)據(jù)庫連接池的增長連接數(shù)。數(shù)據(jù)集與相關對象關聯(lián)的UML圖見圖5,數(shù)據(jù)集對象的方法和屬性見圖6。GDBMetadata1GDBDatasetType0..n圖5數(shù)據(jù)集相關對象UML圖+datasetName:CharacterString+tableName:CharacterString+datasetType:GDBDatasetType+rcBounds:GDBGeometry+isRaster:Boolean+parentDataset:GDBDataset+childDatasets:Set<GDBDataset>+datasource:GDBDataSource+spatialReferenceSys:GDBCoordReferenceSys+description:CharactorString+metadataUUID:CharacterString+Open():Boolean+Close():void+IsOpen():Boolean+IsReadOnly():Boolean+Rename():Boolean+ComputeBounds():Boolean+IsModified():Boolean+SetModifiedFlag(bModified:Boolean=TRUE):void+Savelnfo():Boolean+RefreshInfo():Boolean+GetDateLastUpdated():Time+GetDateCreated():Time+GetMetadata():GDBMetadata圖6數(shù)據(jù)集對象屬性和方法數(shù)據(jù)集對象的屬性如下:●datasetName:CharacterString—數(shù)據(jù)集名稱?!駎ableName:CharacterString—數(shù)據(jù)集在數(shù)據(jù)庫中的數(shù)據(jù)表名稱?!馾atasetType:GDBDatasetType—數(shù)據(jù)集類型,為枚舉值。見6.4?!駌cBounds:GDBGeometry—數(shù)據(jù)集范圍?!駃sRaster:Boolean—是否是柵格數(shù)據(jù)集?!駊arentDataset:GDBDataset—數(shù)據(jù)集的父數(shù)據(jù)集?!馽hildDatasets:Set<GDBDataset)—數(shù)據(jù)集的子數(shù)據(jù)集集合。子數(shù)據(jù)集強依賴于父數(shù)據(jù)集,如果父數(shù)據(jù)集消亡,則其子數(shù)據(jù)集也隨之消亡,例如:柵格數(shù)據(jù)集的影像金字塔,可以將金字塔作為原柵格數(shù)據(jù)集的子數(shù)據(jù)集集合存儲和管理,從而維護二者的關系?!馾atasource:GDBDataSource—數(shù)據(jù)集所在的數(shù)據(jù)源對象?!駍patialReferenceSys:GDBCoordReferenceSys—數(shù)據(jù)集空間參照系信息?!馾escription:CharactorString—數(shù)據(jù)集的描述信息?!駇etadataUUID:CharacterString—數(shù)據(jù)集關聯(lián)的元數(shù)據(jù)的唯一標識。數(shù)據(jù)集對象的方法如下:●Open():Boolean—打開數(shù)據(jù)集;●Close():void—關閉數(shù)據(jù)集;●IsOpen():Boolean—判斷數(shù)據(jù)集是否已經(jīng)打開;●IsReadOnly():Boolean—數(shù)據(jù)是否能夠被修改;●Rename():Boolean—數(shù)據(jù)集重命名;●ComputeBounds():Boolean—計算數(shù)據(jù)集范圍,一般在數(shù)據(jù)集中元素被刪除或修改后使用;●IsModified():Boolean—判斷數(shù)據(jù)集對象是否有信息需要保存;●SetModifiedFlag(bModified:Boolean=TRUE):void—設置數(shù)據(jù)集修改標記,默認bModified為TRUE,即標識數(shù)據(jù)集已被修改,有信息需要保存;●Savelnfo():Boolean—保存數(shù)據(jù)集信息;●Refreshlnfo():Boolean—刷新數(shù)據(jù)集信息;●GetDateLastUpdated():Time—獲取數(shù)據(jù)集最后修改的時間;●GetDateCreated():Time—獲取數(shù)據(jù)集創(chuàng)建的時間;●GetMetadata():GDBMetadata—獲取數(shù)據(jù)集元數(shù)據(jù)對象。6.4數(shù)據(jù)集類型在GDB-CLI中矢量數(shù)據(jù)集包括7種:純屬性數(shù)據(jù)集、點數(shù)據(jù)集、線數(shù)據(jù)集、面數(shù)據(jù)集、模型數(shù)據(jù)集、文本數(shù)據(jù)集、復合數(shù)據(jù)集;柵格數(shù)據(jù)集包括2種:GRID數(shù)據(jù)集、Image數(shù)據(jù)集。數(shù)據(jù)集類型以枚舉對象提供,見圖7。每種類型的描述信息見表6。+Unknown+Tabular+Point+Line+Polygon+Model+Annotation+Compound+Image+Grid圖7數(shù)據(jù)集類型表6數(shù)據(jù)集類型描述Unknown未知類型,用于標記不識別的數(shù)據(jù)集Tabular僅包含屬性信息,沒有空間數(shù)據(jù)的數(shù)據(jù)集Point點數(shù)據(jù)集,存儲點對象表6(續(xù))Line線數(shù)據(jù)集,存儲線對象Polygon面數(shù)據(jù)集,存儲面對象Model模型數(shù)據(jù)集,存儲三維場景中的模型對象,一般包括模型的骨架和紋理等信息Annotation文本標注數(shù)據(jù)集,存儲文本對象Compound復合數(shù)據(jù)集,可以存儲多種類型的要素對象影像數(shù)據(jù)集,像素值代表顏色值Grid格網(wǎng)數(shù)據(jù)集,像素值具有具體的含義,如代表高程值、降雨量或光照量等矢量數(shù)據(jù)集是矢量要素(Feature)的集合,同一數(shù)據(jù)集中的要素具有相同的屬性特征。矢量數(shù)據(jù)集相關的對象UML圖見圖8。矢量數(shù)據(jù)集的屬性和方法見圖9。0..n圖8矢量數(shù)據(jù)集相關對象UML圖GDBVectorDataset+featuresets:Set<GDBFeatureset>+hasZDimension:Boolean+hasMDimension:Boolean+GetFeatureCount():Integer+AddFeature(feature:GDBFeature):Boolean+UpdateFeature(feature:GDBFeature):Boolean+DeleteFeature(nID:Integer):Boolean+DeleteFeatures(IDs:Set<Integer>):Boolean+GetFeature(nID:Integer):GDBFeature+Append(featureset:GDBFeatureset):Boolean+DeleteAlIFeatures():Boolean+BuildSpatiallndex():Boolean+DropSpatiallndex():Boolean+IsSpatiallndexDirty():Boolean+Query(querydef:GDBQueryDef&):GDBFeatureset+ReleaseFeatureset(pRecordset:GDBFeatureset):Boolean+ReleaseAlFeaturesets():void+UpdateField(cFieldName:CharacterString,cExpress:CharacterString,cFilter:CharacterString):Boolean+CopyField(cSrcFieldName:CharacterString,cDestFieldName:CharacterString):Boolean+CreateFieldIndex(cFieldNames:Set<CharacterString>,clndexName:CharacterString):Boolean+DropFieldIndex(clndexName:CharacterString):Boolean+CreateFields(fieldlnfos:GDBFieldlnfos):Boolean+DeleteField(cFieldName:CharacterString):Boolean+GetFieldlnfos(fieldInfos:GDBFieldlnfos,bSystemFieldExcluded:Boolean=FALSE):Boolean+GetFieldInfo(cFieldName:CharacterString,fieldInfo:GDBFieldInfo):Boolean+SetFieldInfo(cFieldName:CharacterString,fieldInfo:GDBFieldInfo):Boolean+Statistic(cFieldName:CharacterString,nMode:GDBFeatureset:GDBStatisticMode):Variant+GetUnoccupiedFieldName(cFieldName:CharacterString):CharacterString+IsAvailableFieldName(cFieldName:CharacterString):Boolean圖9矢量數(shù)據(jù)集屬性和方法矢量數(shù)據(jù)集對象的屬性如下:●featuresets:Set<GDBFea數(shù)據(jù)集查詢出來的要素集的集合。由數(shù)據(jù)集對象統(tǒng)一●hasZDimension:Boolean—是否帶有Z屬性,如果帶有Z屬性則存儲帶高程值(Z)的空間對象?!駂asMDimension:Boolean—是否帶有M屬性,如果帶有M屬性則存儲帶度量值(M)的空間矢量數(shù)據(jù)集對象的方法如下:●GetFeatureCount():Integer—數(shù)據(jù)集中要素個數(shù)?!馎ddFeature(feature:GDBFeature):Boolean—向數(shù)據(jù)集中添加新的Feature。●UpdateFeature(feature:GDBFeature):Boolean—根據(jù)feature的ID更新要素。●DeleteFeature(nID:Integer):Boolean—刪除指定ID的要素?!馜eleteFeatures(IDs:Set<Integer>):Boolean—刪除ID包含在傳入ID集合中的要素?!馟etFeature(nID:Integer):GDBFeature—獲取指定ID的要素。●Append(featureset:GDBFeatureset):Boolean—追加要素集?!馜eleteAllFeatures():Boolean—清空數(shù)據(jù)集中所有要素?!馚uildSpatialIndex():Boolean—創(chuàng)建空間索引?!馜ropSpatiallndex():Boolean—刪除空間索引。●IsSpatiallndexDirty():Boolean—判斷空間索引是否為臟。●Query(querydef:GDBQueryDef&.):GDBFeatureset—根據(jù)指定條件查詢數(shù)據(jù)集?!馬eleaseFeatureset(pRecordset:GDBFeatureset):Boolean—釋放指定的要素集?!馬eleaseAllFeaturesets():void—釋放所有查詢出來的要素集。UpdateField(cFieldName:CharacterString,cExpress:CharacterString,cFilter:CharacterString):Bool-●CopyField(cSrcFieldName:CharacterString,cDestFieldName:CharacterString):Boolean—復制字段值,目的字段名應都存在且目的字段要與源字段類型匹配?!馛reateFieldIndex(cFieldNames:Set<CharacterString),clndexName:CharacterString):Boolean—創(chuàng)建●DropFieldIndex(clndexName:CharacterString):Boolean—刪除指定索引名稱的字段索引?!馛reateFields(fieldInfos:GDBFieldInfos):Boolean—創(chuàng)建字段。●DeleteField(cFieldName:CharacterString):Boolean—刪除指定名字的字段?!馟etFieldInfos(fieldInfos:GDBFieldInfos,bSystemFieldExcluded:Boolean=FALSE):Boolean—獲取字段信息。bSystemFieldExcluded表示是否將系統(tǒng)字段一起返回?!馟etFieldInfo(cFieldName:CharacterString,fieldInfo:GDBFieldInfo):Boolean—根據(jù)字段名獲取字段信息。●SetFieldInfo(cFieldName:CharacterString,fieldInfo:GDBFieldInfo):Boolean—設置字段●Statistic(cFieldName:CharacterString,nMode:GDBFeatureset::GDBStatisticMode):Variant—統(tǒng)計●GetUnoccupiedFieldName(cFieldName:CharacterString):CharacterString—獲取新的合法的●IsAvailableFieldName(cFieldName:CharacterString):Boolean—判斷輸入的字段名稱是否可以作為新的字段名。要素集(GDBFeatureset)是矢量數(shù)據(jù)集的一個子集。要素集可以是根據(jù)一定的條件對矢量數(shù)據(jù)集(GDBDatasetVector)進行查詢得到的結果集。要素集是訪問矢量數(shù)據(jù)的主要對象,可以通過要素集獲取、修改和存儲矢量數(shù)據(jù)。要素集對象的方法見圖10。<<enum>>FindMode+First+<<enum>>FindMode+First+Last+Next+Previous<<enum>>MovePosition+Curent+Begin<<enum>>StatisticMode+Average+Summary+StandardDeviation+VananceGDBFeatureset+IsEmpty():Boolean+IsBOF():Boolean+IsEOF():Boolean+SeekID(nID:Integer):Boolean+Move(fromPosition:GDBFeatureset:MovePosition=GDBFeatureset:Curent,nRows:Integer=1):BooleanGetID():IntegerGetGeometry():GDBGecmetryGetFieldValue(cName:CharacterString,varVal:Variant):BooleanGetFieldValue(nIndex:Integer,varVal:Variant):BooleanFind(cFilter:CharacterString,nFindMode:GDBFeatureset:FindMode):BooleanGetFeatureCount():IntegerGetFieldlnfos():GDBFieldinfosGetFieldlnfo(incName:CharacterString,outfieldinfo:GDBFieldInfo):BooleanCopyField(cSrcExpression:CharacterString.cDestFieldName:CharacterStning):BooleanStatistic(cFieldName:CharacterString,nMode:GDBFeatureset:StatisticMode):VariantRefresh():BooleanComputeBounds(rc2Bounds:GDBGeometry):BooleanGetFeature():GDBFeatureUpdateFeature(feature:GDBFeature):BooleanAddFeature(feature:GDBFeature):BooleanCanUpdate():Boolean+AddNew(geo:GDBGeometry,bRetunlD:Boolean=FALSE):Integer+Edit():BooleanSetGeometry(geo:GDBGecmetry):Bcolean+SetFieldValue(cName:CharacterString,varVal:Variant):Boolean+SetFieldValue(nindex:Integer,varVal:Variant):Boolean+Update():IntegerCancelUpdate():BooleanDelete():BooleanDeleteAll():Boolean+GetDataset():GDBVectorDatasetClose():void圖10要素集對象的方法要素集對象的方法如下:●IsEmpty():Boolean—判斷要素集是否為空。●IsBOF():Boolean—判斷游標位置是否已在表頭。●IsEOF():Boolean—判斷游標位置是否已在表尾?!馭eekID(nID:Integer):Boolean—將游標移動到指定ID的位置。●Move(fromPosition:GDBFeatureset::MovePosition=GDBFeatureset::Current,nRows:In-teger=1):Boolean—將游標移動到指定位置。參數(shù)nRows表示移動的記錄數(shù),大于0時向后移動,小于0時向前移動;參數(shù)fromPosition為GDBFeatureset::MovePosition類型,表示移動●GetID():Integer—獲取當前記錄的ID?!馟etGeometry():GDBGeometry—獲取當前位置的空間對象?!馟etFieldValue(cName:CharacterString,varVal:Variant):Boolean—獲取當前名稱的字段●GetFieldValue(nIndex:Integer,varVal:Variant):Boolean—獲取當前位置指定字段的值?!ind(cFilter:CharacterString,nFindMode:GDBFeatureset::Find條件的記錄。cFilter為查詢條件,例如“ID=式,查找當前模式下滿足條件的記錄。GDBFeatureset::FindMode為枚舉常量,表示查找?!馟etFieldInfos():GDBFieldInfos—結果集字段信息?!馟etFieldInfo(incName:CharacterString,outfieldInfo:GDBFieldInfo):Boolean—通過字段名·CopyField(cSrcExpression:CharacterString,cDestFieldName:CharacterString):Bool●Statistic(cFieldName:CharacterString,nMode:GDBFeatureset::StatisticMode):Variant指定的字段進行數(shù)理統(tǒng)計。GDBFeatureset::StatisticMode為枚舉類型,包括:Max—最大值,●Refresh():Boolean—重新執(zhí)行查詢刷新要素集?!馛omputeBounds(rc2Bounds:GDBGeometry):Boolean—計算要素集的范圍。●GetFeature():GDBFeature—獲取當前要素的Feature。●UpdateFeature(feature:GDBFeature):Boolean—更新當前要素。●AddFeature(feature:GDBFeature):Boolean—添加新的Feature?!馛anUpdate():Boolean—是否能夠修改要素集?!馎ddNew(geo:GDBGeometry,bReturnID:Boolean=FALSE):Integer—增加新記錄?!馭etGeometry(geo:GDBGeometry):Boolean—改寫當前記錄的幾何對象?!馭etFieldValue(cName:CharacterString,varVal:Variant):Boolean—根據(jù)名稱更新當前記錄的屬性數(shù)據(jù)。●SetFieldValue(nIndex:Integer,varVal:Variant):Boolean—根據(jù)索引號更新當前記錄的屬性●CancelUpdate():Boolean—取消當前要素的修改操作。●DeleteAll():Boolean—刪除所有記錄?!馟etDataset():GDBDatasetVector—獲取要素集對應的數(shù)據(jù)集。查詢對象(GDBQueryDef),用以構造查詢參數(shù)。GDBVectorDataset的Query方法中傳入此對象進行查詢,得到結果要素集GDBFeatureset。查詢對象的UML圖見圖11。<<enum>>(fromGDBQueryDef)<<enum>>(fromGDBQueryDef)toptionstoptions+fields:Set<CharacterStr<<enum>>(fromGDBQueryDef)+foreignTable:CharacterStr+joinFilter:CharacterS<<enum>>(fromGDBJoinltem)in圖11查詢對象UML圖查詢對象的屬性如下:●fields:Set<CharacterString>—需要查詢的字段列表;●joinltems:Set<GDBJoinltem>—關聯(lián)查詢條件設置;●rc2Bounds:GDBGeometry—二維矩形定義的查詢范圍,范圍查詢使用;●IDs:Set<Integer)—需要查詢的ID列表;●geometry:Geometry—用來空間查詢的空間對象;·joinItems:Set<GDBJoinltem>—關聯(lián)查詢條件。查詢選項(GDBQueryDef:QueryOption),枚舉類型見表7。表7查詢選項枚舉Geometry僅查出空間對象Attribute僅查出屬性數(shù)據(jù)Both空間對象和屬性同時查詢查詢類型(GDBQueryDef:QueryType),枚舉類型見表8。表8查詢類型枚舉General一般的屬性條件查詢Bounds使用地理范圍矩形查詢指定ID數(shù)組查詢Distance距離查詢Identical空間查詢:同一。返回被搜索圖層中與搜索對象完全相同的對象,包括對象類型和坐標Disjoint空間查詢:相離。返回被搜索圖層中與搜索對象相離的對象Intersects空間查詢:交疊。如果搜索對象是面,返回全部或部分被搜索對象包含的對象以及全部或部分包含搜索對象的對象;如果搜索對象不是面,返回全部或部分包含搜索對象的對象(面)Touches空間查詢:接觸。返回被搜索圖層中其邊界與搜索對象邊界相觸的對象Overlaps空間查詢:重疊。返回被搜索圖層中與搜索對象部分有重疊的對象Crosses空間查詢:相交。返回被搜索圖層中與搜索對象(線或面)相交的所有對象(點、線或面)Within空間查詢:被包含。返回被搜索圖層中包含搜索對象的對象。如果返回的對象是面,其應全部包含(包括邊接觸)搜索對象;如果返回的對象是線,其應完全包含搜索對象;如果返回的對象是點,其應與搜索對象重合Contains空間查詢:包含。返回被搜索圖層中被搜索對象包含的對象。包括在搜索對象邊界上的情況ExtentIntersect空間查詢:邊界矩形相交。返回被搜索圖層中其邊界矩形與搜索對象的邊界矩形相交但其自身不與搜索對象相交的所有對象CommonPoint空間查詢算子。返回被搜索圖層中與搜索對象至少有一個公共節(jié)點的所有對象CommonSegment空間查詢算子。返回被搜索圖層中與搜索對象至少有一條公共邊(完全重合,即在重合的邊上共所有節(jié)點(頂點Vertex或端點Endpoint))的所有對象CentroidInPolygon空間查詢算子。返回被搜索圖層中內點在搜索對象內部的面對象游標類型(GDBQueryDef:CursorType),枚舉類型見表9。表9游標類型枚舉OpenUnspecified未定義的游標類型OpenForwardOnly只向前游標OpenKeyset關鍵集游標OpenDynamic動態(tài)游標,可編輯OpenStatic靜態(tài)游標,不可編輯游標位置(GDBQueryDef:CursorLocation),枚舉類型如下關聯(lián)條件(GDBJoinItem),其屬性如下:oname:CharacterString—關聯(lián)對象本身的名稱,主要起標識作用?!駀oreignTable:CharacterString—外部關聯(lián)表;連接類型(GDBJoinItem:JoinType)的枚舉類型如下:要素是矢量數(shù)據(jù)集中的基本數(shù)據(jù)單元,一個矢量數(shù)據(jù)集由多個要素構成。要素的對象UML圖見圖12。GDBFeature+GetID():Integer+SetlD(nID:Integer):void+GetGeometry():GDBGeometry+SetGeometry(geo:GDBGeometry):Boolean+GetValue(nlndex:Integer,outvarValue:Variant):Boolean+GetValue(incFieldName:CharacterString,outvarValue:Variant):Boolean+SetValue(nindex:Integer,varValue:Variant):Boolean+SetValue(cFieldName:CharacterString,varValue:Variant):Boolean+fieldInfos1GDBFieldInfosGDBGeometry圖12要素對象UML圖要素對象的方法如下:●SetID(nID:Integer):void—設置要素的ID;●GetGeometry():GDBGeometry—要素的幾何對象;●SetGeometry(geo:GDBGeometry):Boolean—設置要素的幾何對象;●GetValue(nIndex:Integer,outvarValue:Variant):Boolean—根據(jù)索引號獲取要素的屬性字●GetValue(incFieldName:CharacterString,outvarValue:Variant):Boolean—根據(jù)字段值獲取要素的屬性字段值;●SetValue(nIndex:Integer,varValue:Variant):Boolean—根據(jù)索引號設置字段值;●SetValue(cFieldName:CharacterString,varValue:Variant):Boolean—根據(jù)字段名設置字段值。矢量數(shù)據(jù)集中的一列為一個字段,字段信息定義了列中的數(shù)據(jù)的類型、長度、是否必填等信息。字段信息的對象UML圖見圖13。+name:CharacterString+foreignName:CharacterString+size:Integer+scale:Integer+precision:Integer+defaultValue:CharacterString+isAllowZeroLength:Boolean+isRequired:Boolean+updatable:Boolean+signID<<enum>>-UInt32+UInt64圖13字段信息對象UML圖字段信息對象的屬性如下:●foreignName:CharacterString—字段的外鍵名;●precision:Integer—字段的精度;●defaultValue:CharacterString—字段的默認值;·isAllowZeroLength:Boolean—字段長度是否允許為零;●isRequired:Boolean—是否為必填字段;●updatable:Boolean字段標記(GDBFieldSign)用于標記字段在要素中的意義。其枚舉類型見表10。表10字段標記列表字段標記signNone普通字段signNodeID結點ID字段,主要用于標記網(wǎng)絡數(shù)據(jù)集的結點字段signFNode弧段起始結點ID字段,主要用于標記網(wǎng)絡數(shù)據(jù)集弧段的起始結點的ID字段signTNode弧段終止結點ID字段,主要用于標記網(wǎng)絡數(shù)據(jù)集弧段的終止結點的ID字段signEdgeID弧段ID字段,主要用于標記網(wǎng)絡數(shù)據(jù)集弧段的ID字段signRoutelD路由ID字段,主要用于標記路由數(shù)據(jù)集的ID字段要素的ID字段signGeometry要素的Geometry字段字段類型(GDBFieldType)枚舉類型及其描述見表11。表11字段類型描述列表類型長度(字節(jié))取值范圍描述Boolean1布爾型Byte1單字節(jié)Charn定長字符串2[-32768,32767]短整型UInt162無符號短整型4[-2147483648,2147483647]整型UInt324[0,4294967295]無符號整型8長整型UInt648無符號長整型Float4[-3.4*10-38,3.4*1038]單精度浮點型Double8[-1.7*10~3081.7×10308]雙精度浮點型Textn變長字符串Date4日期型Time4 時間型TimeStamp8—日期時間型Binaryn固定長度二進制型,需指定長度LongBinary—不定長二進制類型6.10字段信息集合字段信息集合(GDBFieldInfos),多個字段信息的集合數(shù)組,可以獲取字段的個數(shù),也可以通過字段名稱或序號來獲取指定的字段信息。矢量數(shù)據(jù)集(GDBVectorDataset)獲取的字段信息集合為數(shù)據(jù)集中的所有字段列表,即表結構。6.11柵格數(shù)據(jù)集柵格數(shù)據(jù)集用一個規(guī)則格網(wǎng)來描述與每一個格網(wǎng)單元位置相對應的空間現(xiàn)象特征的位置和取值,每一個格網(wǎng)單元為一個像素。柵格數(shù)據(jù)集常用來存儲衛(wèi)星影像、數(shù)字高程模型(DEM)、格網(wǎng)數(shù)據(jù)(GRID)。柵格數(shù)據(jù)集對象的UML圖見圖14。+bandInfos:Set<GDBRasterBandinfo>+BuildPyramid():Boolean+DropPyramid():Boolean+IsBuildPyramid():Boolean+GetPixel(nCol:Integer,nRow:Integer):GDBPixel+SetPixel(pixel:GDBPixel):Boolean+GetColor(nCol:Integer,nRow:Integer):Integer+SetColor(nCol:Integer,nRow:Integer,nColor:Integer):void+GetValue(nCol:Integer,nRow:Integer):Double+SetValue(nCol:Integer,nRow:Integer,dValue:Double):oid+GetViewBlock(rcView:GDBGeometry,nDeviceWidth:Integer,nDeviceHeight:Integer):GDBRasterBlock+GetBandCount():Integer+SetBandIndex(nBandindex:Integer):oid+GetBandIndex():Integer+SetBandCombineMode(aryBand:Set<Integer-,nColorSpace:ImgColorSpace):oid+GetBandCombineMode(outaryBand:Set<Integer>,outnColorSpace:ImgColorSpace):Boolean+AddBand(rasterDataset:GDBRasterDataset,nBandIndex:Integer):Boolean+DeleteBand(nBandlndex:Integer):Boolean+LoadBlock(nRowBlock:Integer,nColBlock:Integer):GDBRasterBlock+SaveBlock(imgBlock:GDBRasterBlock):BooleanReleaseAllBlocks():void圖14柵格數(shù)據(jù)集對象UML圖柵格數(shù)據(jù)集對象的屬性如下:●width:Integer—寬度(像素數(shù));各波段的波段信息集合。柵格數(shù)據(jù)集對象的方法如下:●BuildPyramid():Boolean—建立影像金字塔?!馜ropPyramid():Boolean—移除影像金字塔?!馡sBuildPyramid():Boolean—數(shù)據(jù)集是否已經(jīng)建立了金字塔?!馟etPixel(nCol:Integer,nRow:Integer):GDBPixel—獲取指定位置的像素。●SetPixel(pixel:GDBPixel):Boolean—設置像●GetColor(nCol:Integer,nRow:Integer):Integer—獲取像素的顏色值?!馭etColor(nCol:Integer,nRow:Integer,nColor:Integer):void—設置獲取像素的顏色值,針對●GetValue(nCol:Integer,nRow:Integer):Double—獲取像素的值?!馭etValue(nCol:Integer,nRow:Integer,dValue:Double):void—設置像素值,針對GRID數(shù)GetViewBlock(rcView:GDBGeometry,nDeviceWidth:Integer,nDeviceHeight:Integer):GD-BRasterBlock—獲取指定視口范圍的影像塊,主要用于數(shù)據(jù)顯示。●SetBandIndex(nBandIndex:Integer):void—設置當前操作波段的索引號。如果設置了當前波段索引號,則對柵格數(shù)據(jù)集的操作作用于當前波段;如果不設置當前波段索引號,則是作用于所有波段;GetPixel、GetColor、GetValue方法應先設置波段索引號?!馟etBandIndex():Integer—獲取當前波段索引號。返回-1表示未設置當前的波段索引號?!馭etBandCombineMode(aryBand:Set<Integer〉,nColorSpace:ImgColorSpace):void—設置合成顯示的波段和顏色模式?!馟etBandCombineMode(outaryBand:Set〈Integer),outnColorSpace:ImgColorSpace):Boolean—獲取合成顯示的波段和顏色合成模式?!馎ddBand(rasterDataset:GDBRasterDataset,nBandIndex:Integer):Boolean—將柵格數(shù)據(jù)集rasterDataset的第nBandIndex個波段追加到當前數(shù)據(jù)集中?!馜eleteBand(nBandIndex:Integer):Boolean—刪除第nBandIndex個波段。●LoadBlock(nRowBlock:Integer,nColBlock:Integer):GDBRasterBlock—獲取數(shù)據(jù)塊?!馭aveBlock(imgBlock:GDBRasterBlock):Boolean—保存數(shù)據(jù)塊。●ReleaseAllBlocks():void—釋放所有數(shù)據(jù)塊。波段信息用于描述多
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)采購全球新能源設備協(xié)議書
- 食品安全追溯系統(tǒng)研發(fā)合作協(xié)議
- 企業(yè)品牌建設與推廣合作協(xié)議
- 兩人股東協(xié)議模板
- 2025年分期付款購買資產(chǎn)評估協(xié)議
- 2025年產(chǎn)權中介費用結算支付協(xié)議
- 2025年倉庫裝卸作業(yè)協(xié)議
- 2025年農(nóng)業(yè)產(chǎn)權贈與協(xié)議
- 2025年蛋奶工程管理制度專題模版(2篇)
- 物業(yè)行政管理崗位職責模版(2篇)
- (正式版)SH∕T 3548-2024 石油化工涂料防腐蝕工程施工及驗收規(guī)范
- (高清版)JTG 3370.1-2018 公路隧道設計規(guī)范 第一冊 土建工程
- 山東昌樂二中“271高效課堂”教學模式
- 金朝的水利與社會經(jīng)濟
- 工程竣工保修期滿移交書
- 急診科烏頭堿中毒課件
- 2013天津中考滿分作文
- 高等數(shù)學同濟大學第7版 課后習題答案解析完整版
- 單模光纜檢驗報告
- 公共政策分析簡答題
- 加熱爐溫度控制系統(tǒng)_畢業(yè)論文
評論
0/150
提交評論