新浪博客

ARCGIS对栅格数据进行剪切以及后续的数据类型转换问题

2010-09-25 23:17阅读:
ARCGIS对栅格数据剪切使用arctools下的spatial analysis模块中的extraction,如下图:
ARCGIS对栅格数据进行剪切以及后续的数据类型转换问题
里面有各种具体的剪切方法,我在这里以extract by mask来说明其中转换中出现的问题以及解决的方法。
假如你有一景tif图像,而且也有自己感兴趣区域的图框,或者是一副该区域的tif图像,就可以利用该工具对目标图像进行剪切,得到自己想要的区域图像,当然我们进行剪切后希望把结果保存起来。可以利用export data来保存为img、png、bmp、jpg、tif等格式的图像。
可是当你用envi打开的时候有时候会发现是下面的情况,图像中虽然像元数值是对的但是显示的图像看起来只有0和1值,如下图:
ARCGIS对栅格数据进行剪切以及后续的数据类型转换问题

那么这种问题出现的原因是什么呢?
其实是在转换的过程中有些像元值超过了你数据类型所限制的范围,即异常值。那么又怎么解决这一问题呢?有的简单,你可以利用envi打开该图像,利用basic tools下面的statistics——computer statistics来计算该图像的统计值,来看看像元值的分布。
然后利用Topographic下的replace bad values菜单输入相应的值,或者范围来解决该问题,如图进行设置
ARCGIS对栅格数据进行剪切以及后续的数据类型转换问题
设置好后会得到一副正常的图像,如下图
ARCGIS对栅格数据进行剪切以及后续的数据类型转换问题
但是还有一个问题是,当我们打开图像后会如果发现:图像的像元值的数据类型与自己想的不一样,怎么办呢?
利用IDL编程可以解决这一问题,
ARCGIS对栅格数据进行剪切以及后续的数据类型转换问题
该图来自:北京星图环宇科技有限公司的课件
至于投影的问题,会在以后的文章中提到。
下面我就以一个例子结束本文:
本例是将unsigned INT型数据转换为byte型,小程序如下:
pro zhuanhuan
fname='是你自己图像的保存路径'
envi_open_file,fname,r_fid=fid
envi_file_query,fid,dims=dims
dem=envi_get_data(fid=fid,dims=dims,pos=0)
demc=byte(dem)
envi_write_envi_file,demc,out_name='e:\manas\demconvertbyte'
end

我的更多文章

下载客户端阅读体验更佳

APP专享