加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

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

(2010-09-25 23:17:32)
标签:

图像

栅格数据

数据类型

像元

idl程序

arcgis剪切

杂谈

分类: RS/ArcGis

ARCGIS对栅格数据剪切使用arctools下的spatial analysis模块中的extraction,如下图:

http://s12/middle/6b8e2955t9116a479595b&690

里面有各种具体的剪切方法,我在这里以extract by mask来说明其中转换中出现的问题以及解决的方法。

假如你有一景tif图像,而且也有自己感兴趣区域的图框,或者是一副该区域的tif图像,就可以利用该工具对目标图像进行剪切,得到自己想要的区域图像,当然我们进行剪切后希望把结果保存起来。可以利用export data来保存为img、png、bmp、jpg、tif等格式的图像。

    可是当你用envi打开的时候有时候会发现是下面的情况,图像中虽然像元数值是对的但是显示的图像看起来只有0和1值,如下图:

http://s14/middle/6b8e2955t9116c9fa656d&690

那么这种问题出现的原因是什么呢?

其实是在转换的过程中有些像元值超过了你数据类型所限制的范围,即异常值。那么又怎么解决这一问题呢?有的简单,你可以利用envi打开该图像,利用basic tools下面的statistics——computer statistics来计算该图像的统计值,来看看像元值的分布。

然后利用Topographic下的replace bad values菜单输入相应的值,或者范围来解决该问题,如图进行设置

http://s7/middle/6b8e2955t9116e0b18a66&690

设置好后会得到一副正常的图像,如下图

http://s12/middle/6b8e2955t9116e4edd9fb&690
但是还有一个问题是,当我们打开图像后会如果发现:图像的像元值的数据类型与自己想的不一样,怎么办呢?

利用IDL编程可以解决这一问题,

http://s1/middle/6b8e2955t9116edc65ed0&690

该图来自:北京星图环宇科技有限公司的课件

至于投影的问题,会在以后的文章中提到。

下面我就以一个例子结束本文:

本例是将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

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有