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

        ?

        基于ArcGIS Engine的柵格數(shù)據(jù)批量處理方法

        2016-12-28 06:12:59張建永梁春利石海崗張春雷
        地理空間信息 2016年10期
        關(guān)鍵詞:信息系統(tǒng)

        張建永,梁春利,石海崗,張春雷

        (1.核工業(yè)航測(cè)遙感中心,河北 石家莊 050002)

        基于ArcGIS Engine的柵格數(shù)據(jù)批量處理方法

        張建永1,梁春利1,石海崗1,張春雷1

        (1.核工業(yè)航測(cè)遙感中心,河北 石家莊 050002)

        基于ArcGIS 的二次開(kāi)發(fā)工具包ArcGIS Engine,從柵格數(shù)據(jù)檢查、坐標(biāo)系統(tǒng)定義、投影轉(zhuǎn)換、范圍裁切等方面,介紹了對(duì)柵格數(shù)據(jù)各類信息讀寫和調(diào)用ArcGIS工具的批量處理方法,并在實(shí)踐中取得了很好的效果,為實(shí)際應(yīng)用及擴(kuò)展提供了技術(shù)基礎(chǔ)。

        柵格數(shù)據(jù);批處理;ArcGIS Engine;Dot NET

        在常用的遙感數(shù)據(jù)格式中,ERDAS軟件的Image文件是一種較為常見(jiàn)的格式,具有可存儲(chǔ)多種類型數(shù)據(jù)(圖像數(shù)據(jù)、統(tǒng)計(jì)數(shù)據(jù)、直方圖、專題圖等)、存儲(chǔ)信息豐富(傳感器、投影、地理、分層、分塊等)、讀寫方便、圖像算法易實(shí)現(xiàn)等特點(diǎn),是柵格數(shù)據(jù)的常用格式。在國(guó)內(nèi)外多種遙感、地理信息軟件平臺(tái)中,對(duì)該格式都有較好的支持。本文基于ArcGIS軟件的開(kāi)發(fā)工具包(ArcGIS Engine),探討海量ERDAS Image格式文件的批量處理方法,通過(guò)搭建流程化的處理框架,為快速、高效、準(zhǔn)確完成柵格數(shù)據(jù)處理工作提供思路。

        1 批量處理方法分析

        1.1 ArcGIS批處理模式

        ArcGIS平臺(tái)中的各類圖像處理工具本身具有批量處理的功能。在工具上點(diǎn)擊右鍵,選擇“Batch”,即可彈出批量處理對(duì)話框。該模式為ArcGIS平臺(tái)批量處理的通用模式,但每次只能執(zhí)行一個(gè)工具,對(duì)需要進(jìn)行處理的數(shù)據(jù)和處理后數(shù)據(jù)的存放目錄、文件命名都有一定要求,限制較多。而日常的數(shù)據(jù)處理工作大都不滿足這樣的條件。

        1.2 空間建模

        ArcGIS平臺(tái)帶有Model Builder模型構(gòu)建器,可以將一系列處理工具串聯(lián)在一起構(gòu)成工作流。模型的構(gòu)建包括數(shù)據(jù)處理工具和數(shù)據(jù)源,以流程圖的形式表示,相當(dāng)于一種圖形化編程。通過(guò)建立模型,對(duì)技術(shù)人員的要求大大降低,能夠重復(fù)使用,減少重復(fù)性的工作。但迭代器的使用有較大限制,且僅能調(diào)用ArcGIS自身的工具,在實(shí)際應(yīng)用中靈活性不足。

        1.3 二次開(kāi)發(fā)

        ArcGIS提供了二次開(kāi)發(fā)組件函數(shù),支持Python、 Perl、Java、Dot NET(C#、VB)等多種開(kāi)發(fā)語(yǔ)言,能夠方便實(shí)現(xiàn)各類數(shù)據(jù)處理功能。從各種開(kāi)發(fā)語(yǔ)言功能強(qiáng)弱、實(shí)現(xiàn)的難易程度、兼容性、可擴(kuò)展性等方面綜合考慮,基于ArcGIS Engine + Dot NET的開(kāi)發(fā)是解決海量數(shù)據(jù)批處理行之有效的方法。在開(kāi)發(fā)的過(guò)程中,還可以依據(jù)用戶實(shí)際需求,靈活實(shí)現(xiàn)對(duì)數(shù)據(jù)的條件選擇、多個(gè)工具之間組合處理、質(zhì)量檢查、錯(cuò)誤判斷、進(jìn)度控制等功能。

        2 ArcGIS Engine簡(jiǎn)介

        ArcGIS Engine 是 ESRI ArcGIS軟件中推出的一組完備的嵌入式 GIS 組件庫(kù)和工具庫(kù),供開(kāi)發(fā)人員創(chuàng)建新的或擴(kuò)展已有的桌面應(yīng)用程序。與ArcObjects相比,ArcGIS Engine 的結(jié)構(gòu)合理靈活,具有更為強(qiáng)大的開(kāi)發(fā)功能和獨(dú)立性。

        ArcGIS Engine的開(kāi)發(fā)包包括了控件、工具命令集和對(duì)象庫(kù)3個(gè)部分,涉及了低層次的API和高層次的控件。同時(shí)通過(guò)GeoProcessor可以方便調(diào)用ArcGIS自身工具包?;谶@些優(yōu)點(diǎn),開(kāi)發(fā)者能將ArcGIS功能快速集成到GIS 解決方案中,開(kāi)發(fā)出功能強(qiáng)大、適應(yīng)各種需求的 GIS 程序和系統(tǒng),給開(kāi)發(fā)人員帶來(lái)了極大的靈活性和便利。

        3 程序體系結(jié)構(gòu)及流程

        本文以Visual Studio.NET 2010為開(kāi)發(fā)平臺(tái),采用VB可視化編程語(yǔ)言,建立基于 ArcGIS Engine 10組件的柵格數(shù)據(jù)批量檢查處理模塊,主要實(shí)現(xiàn)對(duì)柵格數(shù)據(jù)的文件完整性檢查、坐標(biāo)系統(tǒng)檢查、坐標(biāo)系統(tǒng)定義、投影轉(zhuǎn)換、范圍裁切、屬性統(tǒng)計(jì)等功能,如圖1。

        文件完整性檢查用于檢查柵格文件是否創(chuàng)建了金字塔,影像文件是否損壞,文件行列數(shù)、像素類型、像素深度、波段數(shù)、像元大小等信息與元數(shù)據(jù)是否一致。

        坐標(biāo)系統(tǒng)檢查用于判斷柵格文件是否存在空間參照坐標(biāo)系統(tǒng)。如果存在,檢查影像范圍是否滿足空間參照的坐標(biāo)范圍區(qū)間;如果不存在,則獲取影像的坐標(biāo)范圍區(qū)間,為設(shè)置該影像的坐標(biāo)系統(tǒng)提供參考。

        坐標(biāo)系統(tǒng)定義用于影像文件丟失空間參照的情況。判斷影像文件坐標(biāo)范圍是否為地理坐標(biāo)區(qū)間或含帶號(hào)的投影坐標(biāo)區(qū)間,是則利用ArcGIS工具設(shè)定其坐標(biāo)系統(tǒng);不是則將該文件編號(hào)寫入文件記錄,后續(xù)人工進(jìn)行檢驗(yàn)。

        圖1 程序體系結(jié)構(gòu)圖

        投影轉(zhuǎn)換是將影像的地理坐標(biāo)系統(tǒng)或投影坐標(biāo)系統(tǒng)轉(zhuǎn)換為目標(biāo)文件投影的過(guò)程。依據(jù)轉(zhuǎn)換前后不同的坐標(biāo)類型,轉(zhuǎn)換中使用的計(jì)算模型也不同。

        范圍裁切是根據(jù)目標(biāo)范圍,對(duì)柵格影像進(jìn)行裁切的過(guò)程。目標(biāo)范圍可以是矩形,也可以是不規(guī)則形狀的矢量文件。

        信息統(tǒng)計(jì)是對(duì)裁切后的成果文件進(jìn)行統(tǒng)計(jì),包括建立金字塔,獲取影像的坐標(biāo)范圍、行列數(shù)、波段數(shù)等信息并寫入到元數(shù)據(jù)文件中。

        4 主要功能實(shí)現(xiàn)

        4.1 柵格數(shù)據(jù)檢查

        在柵格數(shù)據(jù)的存儲(chǔ)轉(zhuǎn)換中,由于文件尺寸較大,可能存在數(shù)據(jù)缺失或損壞的情況。因此在數(shù)據(jù)數(shù)據(jù)處理前,要先判斷數(shù)據(jù)是否完整。通過(guò)創(chuàng)建柵格數(shù)據(jù)集的方式打開(kāi)文件,并讀取文件的屬性信息,來(lái)檢查文件的完整性。通過(guò)IWorkspaceFactory、IRasterWorkspace、IRasterDataset、Iraster等接口打開(kāi)柵格文件,利用 IRasterDataset、IRaster、IRasterBandCollection、IRawBlocks、IRasterInfo、IRasterPorps、IRasterPyramid等接口獲取柵格文件的波段信息、像元尺寸、行列數(shù)、坐標(biāo)范圍、數(shù)據(jù)類型、文件格式等屬性信息,檢查是否與數(shù)據(jù)自身的元數(shù)據(jù)一致。

        打開(kāi)文件的主要功能如下:

        pRasterWorkSpace = pWorkSpaceFactory.OpenFrom File(FolderName, 0)

        //利用柵格數(shù)據(jù)的工作空間工廠和柵格數(shù)據(jù)工作空間,訪問(wèn)柵格數(shù)據(jù)文件夾

        pRasterDataset =pRasterWorkSpace.OpenRaster Dataset(FileName)

        //利用柵格工作空間,打開(kāi)柵格文件,返回值是柵格數(shù)據(jù)集

        Dim pRaster As IRaster = pRasterDataset2.CreateFullRaster

        /

        /在內(nèi)存中創(chuàng)建柵格數(shù)據(jù)的實(shí)例,獲取柵格數(shù)據(jù)的具體內(nèi)容

        獲取柵格文件屬性信息的主要功能如下:

        Dim pRasterBandCollection As IRasterBandCollection = pRasterDataset

        //定義柵格波段集合的變量,用于訪問(wèn)柵格文件的各個(gè)波段

        Dim pRawBlocks As IRawBlocks = pRasterBandCollection. Item(0)

        //定義數(shù)據(jù)塊變量,用于讀取柵格數(shù)據(jù)

        Dim pRasterInfo As IRasterInfo = pRawBlocks.RasterInfo

        //定義柵格文件信息變量,用于訪問(wèn)各類詳細(xì)的柵格文件信息

        利用IRasterInfo接口的CellSize、Extent、Height、Width、Format、PixelType等屬性獲取柵格文件的對(duì)應(yīng)信息。

        4.2 坐標(biāo)系統(tǒng)檢查

        柵格文件的坐標(biāo)系統(tǒng)信息能夠表明柵格文件的空間位置,是其重要的組成部分。數(shù)據(jù)處理過(guò)程中,需要通過(guò)影像的坐標(biāo)系統(tǒng)信息來(lái)判斷該文件是否處于數(shù)據(jù)處理的范圍內(nèi)。坐標(biāo)系統(tǒng)的檢查分為兩步,首先判斷影像是否存在坐標(biāo)系統(tǒng),其次判斷坐標(biāo)系統(tǒng)是否準(zhǔn)確。

        通過(guò)獲取影像的空間坐標(biāo)參照信息,判斷是否存在坐標(biāo)系統(tǒng):

        Dim pRasterProps As IRasterProps = pRaster

        //定義柵格文件屬性變量,用于訪問(wèn)柵格文件的屬性

        Dim pRasterSPR As ISpatialReference = pRasterProps. SpatialReference

        //定義空間參照變量,用戶檢查柵格數(shù)據(jù)的坐標(biāo)系統(tǒng)是否正確

        如果柵格影像的坐標(biāo)參照為空,則pRasterSPR的Abbreviation、Alias、Remarks等屬性值為空;Name屬性值為"Unknown"。

        如果柵格影像的坐標(biāo)參照不為空,則判斷其類型是地理坐標(biāo)系統(tǒng)或者投影坐標(biāo)系統(tǒng)。同時(shí)檢查柵格文件的坐標(biāo)范圍是否與相應(yīng)的坐標(biāo)系統(tǒng)值域范圍匹配,以便進(jìn)行后續(xù)坐標(biāo)轉(zhuǎn)換工作。

        4.3 調(diào)用ArcGIS工具

        柵格數(shù)據(jù)的數(shù)據(jù)處理工作如投影轉(zhuǎn)換、范圍裁切等可以直接調(diào)用ArcGIS軟件的工具進(jìn)行。ArcGIS Engine中可以利用ESRI.ArcGIS.Geoprocessor類中的Geoprocessor接口來(lái)調(diào)用ArcGIS自帶的工具。調(diào)用時(shí)首先設(shè)置工具的各項(xiàng)參數(shù),然后通過(guò)Geoprocessor接口的Execute方法執(zhí)行工具,利用GetMessage方法返回工具執(zhí)行過(guò)程中的狀態(tài)信息。

        4.4 定義文件坐標(biāo)系統(tǒng)

        如果柵格文件缺失坐標(biāo)信息,需要設(shè)定其坐標(biāo)系統(tǒng)。通過(guò)檢查影像文件的坐標(biāo)范圍,判斷采用的坐標(biāo)系統(tǒng)類型及對(duì)應(yīng)的橢球體等參數(shù)來(lái)進(jìn)行坐標(biāo)系統(tǒng)的設(shè)定。如為投影坐標(biāo)系統(tǒng)還需通過(guò)影像的坐標(biāo)范圍判斷柵格文件的中央經(jīng)度,確定投影參數(shù)。設(shè)定坐標(biāo)系統(tǒng)的過(guò)程主要利用ESRI.ArcGIS.DataManagementTools類中的DefineProjection接口進(jìn)行,通過(guò)設(shè)定2個(gè)參數(shù),即需要處理的文件和對(duì)應(yīng)的坐標(biāo)系統(tǒng),可完成該功能。

        Dim pDefineProjection As ESRI.ArcGIS.DataManagement Tools.DefineProjection = New DefineProjection

        //定義一個(gè)投影設(shè)置工具,用于設(shè)置柵格數(shù)據(jù)的坐標(biāo)信息,下面為相應(yīng)的參數(shù)設(shè)置

        pDefineProjection.in_dataset = pCurrentRasterFile

        pDefineProjection.coor_system = strProj

        GP.Execute(pDefineProjection, Nothing)

        4.5 投影轉(zhuǎn)換

        若現(xiàn)有文件的坐標(biāo)系統(tǒng)與要求不同,則需進(jìn)行投影轉(zhuǎn)換。投影轉(zhuǎn)換功能可以將地理坐標(biāo)系統(tǒng)或投影坐標(biāo)系統(tǒng)轉(zhuǎn)換為投影坐標(biāo)系統(tǒng)。投影轉(zhuǎn)換功能主要利用ESRI.ArcGIS.DataManagementTools類中的ProjectRaster接口來(lái)實(shí)現(xiàn),通過(guò)設(shè)定該接口的輸入柵格、輸出柵格、輸出坐標(biāo)系統(tǒng)3項(xiàng)參數(shù)來(lái)進(jìn)行投影轉(zhuǎn)換。同時(shí)可以利用像元尺寸(cell_size)、重采樣方式(resampling_ type)2個(gè)屬性參數(shù)對(duì)輸出柵格的影像進(jìn)行調(diào)整。如果坐標(biāo)轉(zhuǎn)換前后的坐標(biāo)系統(tǒng)涉及2個(gè)橢球體,則需要設(shè)定橢球之間的轉(zhuǎn)換模型,即geographic_transform參數(shù)。如1954年北京坐標(biāo)系與WGS84之間的轉(zhuǎn)換,不同的地理位置選用不同的轉(zhuǎn)換模型,如Beijing_1954_To_ WGS_1984_1、Beijing_1954_To_WGS_1984_2等。

        Dim ProjectRasterDataset As ProjectRaster = New ProjectRaster

        //定義一個(gè)投影轉(zhuǎn)換工具,下面為相應(yīng)的參數(shù)設(shè)置

        ProjectRasterDataset.in_raster = pCurrentRasterFile

        ProjectRasterDataset.out_raster = pReprojectOutRasterFile

        ProjectRasterDataset.out_coor_system = pProjectFeature ClassSPR

        4.6 范圍裁切

        柵格數(shù)據(jù)范圍裁切是截取所需要的一定坐標(biāo)范圍內(nèi)的柵格數(shù)據(jù)的功能。柵格范圍裁切可以利用空間分析工具(ESRI.ArcGIS.SpatialAnalyst)中的IExtractionOp接口、數(shù)據(jù)管理工具(ESRI.ArcGIS. DataManagementTools)中的Clip接口來(lái)實(shí)現(xiàn),但二者應(yīng)用的情形不同。IExtractionOp接口可以基于多邊形要素對(duì)柵格文件進(jìn)行裁切,Clip接口是基于坐標(biāo)范圍進(jìn)行裁切。本文的裁切范圍主要是基于標(biāo)準(zhǔn)圖幅范圍外擴(kuò),所以利用Clip接口更為方便快捷。設(shè)定Clip接口的輸入柵格、輸出柵格及輸出范圍3個(gè)參數(shù),即可實(shí)現(xiàn)該操作。

        Dim pDataManagementClip As Clip = New Clip

        //定義一個(gè)裁切工具,用于對(duì)柵格數(shù)據(jù)進(jìn)行范圍裁切,下面為相應(yīng)的參數(shù)設(shè)置

        pDataManagementClip.in_raster = inRaster

        pDataManagementClip.out_raster = pTempOutFileName

        pDataManagementClip.rectangle = XMin & " " & YMin & " " & XMax & " " & YMax

        5 實(shí) 驗(yàn)

        依據(jù)上述思路,作者編寫了柵格數(shù)據(jù)批量處理的模塊,界面如圖2所示。經(jīng)過(guò)實(shí)驗(yàn),利用該模塊進(jìn)行數(shù)據(jù)處理不僅能保證數(shù)據(jù)的準(zhǔn)確性和精度,且處理效率有很大提高,能夠進(jìn)行大批量的自動(dòng)處理,有效節(jié)約人員成本,縮短處理時(shí)間。

        P208

        B

        1672-4623(2016)10-0043-03

        10.3969/j.issn.1672-4623.2016.10.012

        2016-01-18。

        項(xiàng)目來(lái)源:中國(guó)地質(zhì)調(diào)查局國(guó)產(chǎn)衛(wèi)星數(shù)據(jù)質(zhì)量改進(jìn)與地礦綜合應(yīng)用示范項(xiàng)目(1212011220158)。

        猜你喜歡
        信息系統(tǒng)
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無(wú)人機(jī)系統(tǒng)
        ZC系列無(wú)人機(jī)遙感系統(tǒng)
        基于PowerPC+FPGA顯示系統(tǒng)
        半沸制皂系統(tǒng)(下)
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        訂閱信息
        中華手工(2017年2期)2017-06-06 23:00:31
        展會(huì)信息
        信息
        健康信息
        祝您健康(1987年3期)1987-12-30 09:52:32
        亚洲av本道一本二本三区| 日本无遮挡吸乳呻吟视频| 黑人巨大精品欧美一区二区免费| 欧美猛男军警gay自慰| 拍摄av现场失控高潮数次| 久久精品免费无码区| 亚洲精品AⅤ无码精品丝袜无码| 亚洲乱色视频在线观看| 中国亚洲av第一精品| 久久黄色国产精品一区视频| 亚洲youwu永久无码精品| 少妇饥渴偷公乱a级无码| 波多野结衣免费一区视频| 2020国产精品久久久久| 国产精品久久av高潮呻吟| 久久久精品人妻一区二区三区妖精| 一本久久a久久精品vr综合| 97久久香蕉国产线看观看| 欧美老熟妇又粗又大| 91精品综合久久久久m3u8| 蜜桃成熟时日本一区二区| 国产精品爽爽ⅴa在线观看| 激情欧美日韩一区二区| 欧美日韩免费一区中文字幕| 精品丝袜一区二区三区性色| 精品蜜桃av免费观看| 人妻av有码中文字幕| 久久久久国产一区二区| 人人看人人做人人爱精品| 国产真实二区一区在线亚洲| 国产av一级黄一区二区三区| 国产特级毛片aaaaaa| 九九九影院| 一本大道加勒比东京热| 尤物在线观看一区蜜桃| 激情综合色综合久久综合| 一级呦女专区毛片| 久久91精品国产91久久跳舞| 国产亚洲一区二区三区| 亚洲av无码乱码国产精品| 国产成年无码V片在线|