国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于ArcGIS Engine的柵格數(shù)據(jù)轉(zhuǎn)換矢量數(shù)據(jù)

2012-10-15 04:17曾翠云彭珊鸰
城市建設(shè)理論研究 2012年19期

曾翠云 彭珊鸰

摘要:ArcGIS提供了柵格數(shù)據(jù)向矢量數(shù)據(jù)轉(zhuǎn)換函數(shù),但是有特定的要求。同時(shí),在ArcGIS Engine中提供了操作柵格數(shù)據(jù)的函數(shù),可以對(duì)柵格數(shù)據(jù)進(jìn)行編輯,從而可以到達(dá)柵格數(shù)據(jù)轉(zhuǎn)矢量數(shù)據(jù)的要求。

關(guān)鍵詞:ArcGIS Engine ;柵格數(shù)據(jù);矢量數(shù)據(jù)

Abstract: The ArcGIS provides raster data to vector data conversion function, but it has the specific requirements. At the same time, providing the operating raster data function in the ArcGIS Engine, can edit the raster data, to reach the raster data to the vector data requirements.

Key words: ArcGIS Engine, raster data, vector data

中圖分類(lèi)號(hào):P271文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2095-2104(2012)

在日常地理信息數(shù)據(jù)處理中,會(huì)對(duì)柵格數(shù)據(jù)進(jìn)行各種要求處理,并且最終要求將其轉(zhuǎn)換成矢量數(shù)據(jù)[1][2][3][4][5]。我們可以采用ArcGIS Engine中提供的操作柵格數(shù)據(jù)的函數(shù),對(duì)柵格數(shù)據(jù)進(jìn)行各種編輯,滿(mǎn)足對(duì)柵格數(shù)據(jù)的各種操作,同時(shí)可以將柵格數(shù)據(jù)轉(zhuǎn)換成矢量數(shù)據(jù)。

ArcGIS柵格轉(zhuǎn)矢量工具

在ArcGIS桌面版中打開(kāi)ArcToolbox找到轉(zhuǎn)換工具->由柵格轉(zhuǎn)出,可以找到具體的柵格轉(zhuǎn)矢量的工具。比較常用的是轉(zhuǎn)點(diǎn)、轉(zhuǎn)線(xiàn)、轉(zhuǎn)面。查看幫助文檔可以看到柵格轉(zhuǎn)面矢量的函數(shù)是RasterToPolygon_conversion (in_raster, out_polygon_features, {simplify}, {raster_field}),其用法要求為:輸入柵格的柵格單元大小可以任意,但必須屬于有效的整數(shù)型柵格數(shù)據(jù)集。對(duì)柵格數(shù)據(jù)集要求必須是整數(shù)型(指柵格數(shù)據(jù)中格網(wǎng)像素的數(shù)據(jù)類(lèi)型)。然而,在實(shí)際數(shù)據(jù)中大部分柵格數(shù)據(jù)采用浮點(diǎn)型。在ArcGIS中可以通過(guò)查看柵格數(shù)據(jù)的文件屬性來(lái)查看柵格數(shù)據(jù)的像素?cái)?shù)據(jù)類(lèi)型,如圖1。

由于ArcGIS中柵格轉(zhuǎn)矢量工具的具體要求,所有必須對(duì)柵格數(shù)據(jù)進(jìn)行像素類(lèi)型轉(zhuǎn)換;同時(shí),要滿(mǎn)足數(shù)據(jù)轉(zhuǎn)出的其它要求,比如某一個(gè)柵格數(shù)據(jù)中,只要求像素值在某個(gè)特定范圍的數(shù)據(jù)轉(zhuǎn)出為矢量數(shù)據(jù)等各種具體的實(shí)際操作要求,有必須對(duì)柵格數(shù)據(jù)進(jìn)行改寫(xiě)等的操作。在ArcGIS Engine中提供了操作柵格數(shù)據(jù)的函數(shù),可以對(duì)柵格數(shù)據(jù)進(jìn)行編輯,所有,有必要運(yùn)用ArcGIS Engine對(duì)柵格數(shù)據(jù)進(jìn)行編輯,從而滿(mǎn)足柵格轉(zhuǎn)矢量等各種具體要求。

圖1 查看柵格數(shù)據(jù)的像素類(lèi)型

ArcGIS Engine柵格轉(zhuǎn)矢量

ArcGIS Engine提供將柵格轉(zhuǎn)為像素塊(IRaster接口中提供函數(shù)CreatePixelBlock(IPntpntSize)),游標(biāo)法(raster cursor,在IRaster2接口中提供函數(shù)CreateCursorEx(null))等方法對(duì)柵格數(shù)據(jù)進(jìn)行讀寫(xiě)操作[6][7]。

像素塊方法中,參數(shù)為塊的大小,可以為整個(gè)柵格數(shù)據(jù),也可以為1個(gè)像素塊,或者具體的像素塊。之后,可以通過(guò)IRaster接口的Read方法來(lái)實(shí)現(xiàn)將柵格數(shù)據(jù)轉(zhuǎn)到像素塊中。Read函數(shù)Read (IPnt tlc, IPixelBlock block),第一個(gè)參數(shù)用于指定獲取像素塊的位置,第二個(gè)參數(shù)為像素塊。值得注意的是,此處使用的指定獲取像素塊位置,其值的范圍為0到柵格數(shù)據(jù)的的行數(shù)和列數(shù)。一般設(shè)為整個(gè)柵格數(shù)據(jù),即設(shè)為柵格數(shù)據(jù)的行數(shù)×列數(shù),這樣對(duì)于柵格數(shù)據(jù)中的具體格網(wǎng)的像素值可以通過(guò)行列號(hào)來(lái)訪問(wèn),非常方便,但是,當(dāng)柵格數(shù)據(jù)行列比較多時(shí),會(huì)出現(xiàn)內(nèi)存不足的警告。如果將參數(shù)設(shè)為1×1個(gè)像素塊或者幾×幾個(gè)像素塊,那么對(duì)柵格數(shù)據(jù)具體格網(wǎng)的訪問(wèn),將要通過(guò)計(jì)算格網(wǎng)的坐標(biāo)值來(lái)訪問(wèn)。以上可知,采用像素塊方法時(shí),當(dāng)數(shù)據(jù)行列數(shù)不多可以采用整個(gè)柵格大小為參數(shù);參數(shù)設(shè)為1×1個(gè)像素塊或者其它小塊時(shí),要解決柵格格網(wǎng)的坐標(biāo)計(jì)算問(wèn)題。

游標(biāo)法中,按默認(rèn)值將柵格數(shù)據(jù)自動(dòng)分成幾個(gè)光標(biāo)塊,再將游標(biāo)塊當(dāng)成像素塊的集合,然后操作像素塊集合從而操作每一個(gè)像素塊(也就是單元格網(wǎng))。這種方法可以避免內(nèi)存不足的警告,也可以通過(guò)游標(biāo)塊方便的得到光標(biāo)塊的坐標(biāo)。同樣,也可以設(shè)置游標(biāo)塊中像素塊集合的個(gè)數(shù),可以設(shè)置為整個(gè)柵格數(shù)據(jù),也可以設(shè)置如果將參數(shù)設(shè)為1×1個(gè)像素塊或者幾×幾個(gè)像素塊,其它的操作與像素塊方法等同。

通過(guò)以上的方法可以獲取柵格中像素塊的值,但是PixelBlock 接口只提供像素值的讀取,不提供寫(xiě)操作。這時(shí)候要采用IPixelBlock3接口。ArcGIS Engine中提供IPixelBlock3接口的PixelData屬性可以獲得像素塊集合中的像素值數(shù)組,通過(guò)修改像素值數(shù)組來(lái)改變柵格數(shù)據(jù)的像素值。將修改后的像素值寫(xiě)入到像素塊中,然后調(diào)用IRasterEdit接口,將修改后的保存到柵格數(shù)據(jù)中,必須注意像素塊在柵格數(shù)據(jù)中的位置。

根據(jù)需要對(duì)柵格數(shù)據(jù)中的像素值進(jìn)行相關(guān)的修改,以符合轉(zhuǎn)換成矢量數(shù)據(jù)或者其它的各種要求。在ArcGIS Engine中對(duì)柵格數(shù)據(jù)轉(zhuǎn)換成矢量數(shù)據(jù)的最關(guān)鍵的一般是將柵格數(shù)據(jù)的像素值的類(lèi)型設(shè)置為整數(shù)型,其函數(shù)為。IConversionOp接口柵格轉(zhuǎn)換矢量的函數(shù)如轉(zhuǎn)線(xiàn)的函數(shù)為RasterDataToPolygonFeatureData()。因?yàn)?,該函?shù)只能處理像素值為整數(shù)型的柵格數(shù)據(jù)。在次調(diào)用IRasterProps 接口的PixelType屬性來(lái)設(shè)置柵格數(shù)據(jù)像素值的類(lèi)型,如整數(shù)性、浮點(diǎn)型等,將要轉(zhuǎn)換的柵格數(shù)據(jù)的像素值類(lèi)型轉(zhuǎn)為整數(shù)型,最終完成柵格數(shù)據(jù)到矢量數(shù)據(jù)的轉(zhuǎn)換。

通過(guò)以上介紹,可以看出ArcGIS Engine中可以對(duì)柵格數(shù)據(jù)進(jìn)行賦值、修改、變換類(lèi)型等各種編輯。在ESRI.ArcGIS.GeoAnalyst類(lèi)庫(kù)中。IConversionOp接口柵格轉(zhuǎn)換矢量的函數(shù)如轉(zhuǎn)線(xiàn)的函數(shù)為RasterDataToPolygonFeatureData()。通過(guò)這些函數(shù),可以將柵格數(shù)據(jù)按要求轉(zhuǎn)換成矢量數(shù)據(jù)。

實(shí)驗(yàn)

我們對(duì)江西省全省的DEM數(shù)據(jù)進(jìn)行高程值在15-25米范圍內(nèi)的區(qū)域提取?;贏rcGIS Engine編程實(shí)現(xiàn)中對(duì)該原始數(shù)據(jù)進(jìn)行高程值15-25米的區(qū)域提取,其設(shè)置為整形類(lèi)型,并轉(zhuǎn)換為所需求的矢量數(shù)據(jù)。如圖2,圖3。

圖2 提取的高程值在15-25米范圍內(nèi)的矢量圖

圖3 提取的高程值在15-25米范圍內(nèi)的矢量圖局部放大圖

總結(jié)

在地理信息數(shù)據(jù)處理中,柵格數(shù)據(jù)轉(zhuǎn)換成矢量數(shù)據(jù)在實(shí)際工作中比較常見(jiàn),也有眾多的相關(guān)的研究[8][9][10][11][12]。采用ArcGIS Engine進(jìn)行二次開(kāi)發(fā)對(duì)柵格數(shù)據(jù)進(jìn)行處理并轉(zhuǎn)換成矢量數(shù)據(jù)是比較高效快速的方法。 ArcGIS Engine提供了一些接口跟函數(shù),可以對(duì)柵格數(shù)據(jù)進(jìn)行編輯,修改像素類(lèi)型,從而滿(mǎn)足轉(zhuǎn)換為矢量的要求?;贏rcGIS Engine編程可以對(duì)柵格數(shù)據(jù)進(jìn)行特定的修改編輯,以滿(mǎn)足日常工作的各種要求,并最終可以將柵格數(shù)據(jù)轉(zhuǎn)換為矢量數(shù)據(jù),提供各種數(shù)據(jù)的高效使用。

參考文獻(xiàn)

[1] 王憲民. ArcGIS在柵格數(shù)據(jù)處理中的應(yīng)用初探.測(cè)繪技術(shù)裝備[J].2005(1):32~34

[2] 彭儀普. GIS中矢量與柵格相互轉(zhuǎn)換方法研究.四川測(cè)繪[J]. 1998.21(2):62~65

[3]湯國(guó)安,楊昕.ArcGIS 地理信息系統(tǒng)空間分析實(shí)驗(yàn)教程[M].科學(xué)出版社.2006.

[4]宋小冬,鈕心毅.地理信息系統(tǒng)實(shí)習(xí)教程 [M].科學(xué)出版社.2007.06

[5] 閔婕,楊華,趙純勇.基于柵格數(shù)據(jù)結(jié)構(gòu)分析的土壤侵蝕強(qiáng)度判別方法研究及應(yīng)用[J]. 水土保持研究. 2005(01)

[6]邱洪鋼,張青蓮,陸紹強(qiáng).ArcGIS Engine開(kāi)發(fā)從入門(mén)到精通[M].人民郵電出版社.2010.07

[7]韓鵬,王泉,王鵬,漆煒,烏萌.地理信息系統(tǒng)開(kāi)發(fā):ArcEngine方法[M].武漢大學(xué)出版社.2008.09

[8] 鄒修明,張?jiān)佬?柵格地圖矢量化關(guān)鍵技術(shù)研究與實(shí)現(xiàn)[J]. 計(jì)算機(jī)工程與應(yīng)用. 2003(19)

[9] 史桂嫻,張平.柵格圖像矢量化方法及其研究進(jìn)展[J]. 電腦知識(shí)與技術(shù). 2008(33)

[10]劉曉潔.GIS中矢量與柵格數(shù)據(jù)模型比較[J]. 吉林地質(zhì). 2005(01)

[11]沈掌泉,王人潮.柵格轉(zhuǎn)換矢量的一種新方法——結(jié)點(diǎn)搜索法[J]. 中國(guó)圖象圖形學(xué)報(bào). 1998(04)

[12] 張星月,汪閩,蔣圣.一種新的柵格數(shù)據(jù)矢量化方法[J]. 地球信息科學(xué). 2008(06)

注:文章內(nèi)所有公式及圖表請(qǐng)以PDF形式查看。