IDL调用ENVI函数进行栅格转矢量操作
发布时间: 2013-11-01
所属分类: IDL修炼秘籍
最近使用IDL用到了栅格数据和矢量数据相互转换的方法,在网上搜索了一下,找到这个方法,值得尝试一下:
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
效果如图:
相关阅读
声明
1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。
2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。
手机阅读
公众号关注
知识星球
手机阅读
最新GIS干货
私享圈子
上一篇:IDL下的颜色模式
下一篇:IDL设置PLOT背景色为白色
楼主这转出来的矢量文件是多边形文件吧,能不能直接转出线文件来?
博主您好,我用您的方法用二值图像提取的矢量边界用ENVI重新打开,边界在原图像右下方位移两个像素,不知是什么原因?望您给与回复
这个做完能回到idl的模式吗