资源描述
COMPILE_OPT idl2
;ENVI调用初始化
ENVI,/restore_base_save_files
ENVI_BATCH_INIT
;打开图像文件 ;
ENVI_OPEN_FILE, file, r_fid=fid
IF (fid EQ -1) THEN BEGIN
ENVI_BATCH_EXIT
RETURN
ENDIF
;
ENVI_FILE_QUERY, fid, dims=dims,nb = nb
;对第一个波段进行计算
pos = [0]
;将灰度值为0的转换为vector
values = [0]
;
l_name = 'zeroValue'
evffile = FILE_DIRNAME(file)+'\img2vec.evf'
;
; 栅格转换为矢量
;
ENVI_DOIT, 'rtv_doit', $
fid=fid, pos=pos, dims=dims, $
IN_MEMORY = LINDGEN(N_ELEMENTS(values)), $
values=values, l_name=l_name, $
out_names=evffile
;evf转换为shp文件
shapefile = FILE_DIRNAME(file)+'\img2vec.shp'
EVF_ID = ENVI_EVF_OPEN(evffile)
ENVI_EVF_TO_SHAPEFILE, EVF_ID, shapefile
ENVI_EVF_CLOSE, EVF_ID
; 退出ENVI
envi_batch_exit
效果图如下:
展开阅读全文