資源描述:
《【idl代碼庫】利用shp文件裁剪柵格圖像 》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、【IDL代碼庫】利用shp文件裁剪柵格圖像標(biāo)簽:?idl源代碼圖像裁剪idl裁剪shapefile分類:?IDL代碼庫此代碼是史上最穩(wěn)定最完善的shp文件裁剪圖像的代碼。歡迎大家使用,如果遇到錯誤(畫外音:不是最穩(wěn)定最完善么?),請大家回郵件說明。O(∩_∩)o~?下載地址:http://pan.baidu.com/s/1hq8jb8K注:源碼編碼為GB2312,如果出現(xiàn)亂碼時,請修改源碼屬性中的編碼為GB2312即可。?更新歷史:2015.09.10——修復(fù)兩個小問題,請重新下載使用?此代碼是史上最穩(wěn)定最完善的shp文件裁剪圖像的代碼。歡迎大家使用,如果遇到錯誤(畫外音:
2、不是最穩(wěn)定最完善么?),請大家回郵件說明。O(∩_∩)o~?下載地址:http://pan.baidu.com/s/1hq8jb8K注:源碼編碼為GB2312,如果出現(xiàn)亂碼時,請修改源碼屬性中的編碼為GB2312即可。?更新歷史:2015.09.10——修復(fù)兩個小問題,請重新下載使用?調(diào)用示例代碼:??ENVI>file='D:tempimage.dat'ENVI>envi_open_file,file,r_fid=fidENVI>shpFile='D:tempvector.shp'ENVI>RasterSubsetViaShapefile,Fid,shpFile=
3、shpFile,????outFile='D:tempresult.dat',r_fid=r_fid?源代碼如下,注意看最上邊的格式說明和參數(shù)含義。;+;:Description:;利用shapefile對柵格圖像進(jìn)行裁剪.;;:Syntax;RasterSubsetViaShapefile,Fid,shpFile=string,[pos=array],;[inside={0
4、1}],[outFile={string
5、variable}],[r_fid=variable];;:Params:;Fid--輸入文件FID;注:可通過ENVI_OPEN_FILE、ENVI_S
6、ELECT、ENVIRasterToFID等獲取;;:Keywords:;pos??--保留波段索引數(shù)組(可選),默認(rèn)保留所有波段。;shpFile--用于裁剪的shapefile完整路徑;inside--保留shp文件外或內(nèi)(可選,0或1),默認(rèn)保留內(nèi)部。;??????????注:設(shè)置0時,保留外部;設(shè)置1時,保留內(nèi)部。;outFile--裁減結(jié)果文件路徑(可選);?????????注:如果不設(shè)置或設(shè)置為變量,則裁剪結(jié)果保存在臨時目錄中,outFile將保存輸出文件名;??????????注:如果設(shè)置為文件路徑,則裁剪結(jié)果保存在指定路徑中;r_fid--返回裁剪結(jié)果文件F
7、ID,如果范圍-1,則表示裁剪失敗。;;:Author:duhj@esrichina.com.cn;;:Date:2015年9月2日15:33:38;-PRORasterSubsetViaShapefile,Fid,shpFile=shpFile,pos=pos,$inside=inside,outFile=outFile,r_fid=r_fid?COMPILE_OPTidl2ENVI,/RESTORE_BASE_SAVE_FILESENVI_BATCH_INIT?CATCH,errIF(errNE0)THENBEGINCATCH,/CANCELPRINT,'ERROR:'
8、+!ERROR_STATE.MSGMESSAGE,/RESETRETURNENDIF?ENVI_FILE_QUERY,fid,ns=ns,nl=nl,nb=nb,$dims=dims,fname=fname,bnames=bnames?IF~N_ELEMENTS(pos)THENpos=LINDGEN(nb)IF~N_ELEMENTS(inside)THENinside=1IF~KEYWORD_SET(outFile)THENoutFile=envi_get_tmp()?;讀取shp文件的信息oshp=OBJ_NEW('IDLffShape',shpFile)IF~OBJ_
9、VALID(oshp)THENRETURNoshp->GETPROPERTY,n_entities=n_ent,$;記錄個數(shù)Attribute_info=attr_info,$;屬性信息,結(jié)構(gòu)體,name為屬性名ATTRIBUTE_NAMES=attr_names,$n_attributes=n_attr,$;屬性個數(shù)Entity_type=ent_type;記錄類型?iProj=ENVI_PROJ_CREATE(/geographic);自動讀取prj文件獲取投影坐標(biāo)系potPos=STRPOS(shpFile,