|
|
|
|

ArcGIS ArcMap中修改栅格图的像元值

在处理图象数据时,我们经常会碰到要求修改栅格图象象元值的问题,比如说DEM图的部分数据错误,我们要进行修改;再比如说栅格图象中有些与周围均匀色彩不一致的错误斑块要更正等等,那我们如何来处理这一类问题呢?现我以一DEM栅格图(名字为eldodem)为...

作者:lwf902来源:lwf902|2009年12月21日

 在处理图象数据时,我们经常会碰到要求修改栅格图象象元值的问题,比如说DEM图的部分数据错误,我们要进行修改;再比如说栅格图象中有些与周围均匀色彩不一致的错误斑块要更正等等,那我们如何来处理这一类问题呢?
现我以一DEM栅格图(名字为eldodem)为例,现在我要修改它的部分象元值,总结出以下三种方法,大家可以参考一下。第一种方法不大实用,但可借鉴,第二三种方法针对的条件不一致,大家可以在具体情况下进行选择。
 

 
一、直接运用转换,思路简单,易操作,但实用性

1 、栅格——ascii文件——栅格 这种方法是先将栅格图用工具  

 

直接转成 ascii 文件,然后在 ascii 文本文件中直接修改需要修改的象元的值,修改好后又用工具  

 
转换成栅格图。这种方法可行,但是不实用,因为我们要搜索到指定的象元好像不是那么简单。那么有没有别的比较好的方法呢?
二、在栅格计算器中操作,方法灵活,可操作性强,实用性强
准备工作
先要在option中设置保留的栅格范围,通常情况下默认的为相交后的部分,这里我们要保留整个DEM,所以要改为以下设置:
 

    

 
2 、通过点的位置修改点象元值
2 .1* 问题一 、要是我想修改图象中的指定的行列的点的象元值(比如说把第100行,200列的点的值修改为0),那该如何操作呢?
这时候我们可以在栅格计算器中输入以下公式:

  1. con(($$rowmap == 99 & $$colmap == 199),0,[eldodem.img])


( 栅格图的编号是从0行0列开始的)

   
 
2.2* 问题二、那若是要修改指定行列范围内的栅格的象元值,比如说把第101行,251列到第401行,301列的部分的象元值改为0,又改如何进行呢?

  1. con(($$rowmap < 400 & $$rowmap > 100 & $$colmap < 300 & $$colmap > 250),0,[eldodem.img])

 

结果如下

 
 
2 .3 * 问题三、这些行和列是给定的,但是实际情况往往不是这样的,那若看到一些要修改的点,我如何通过以上的方法来修改它的属性值呢,这时要解决的首要问题是如何获知这个点的行列值,我们可以通过以下方法来解决:
(1)准备工作,设置spatial analyst中的option,设置所需范围,象素以及捕捉
  

 

 

 

 

这个确定后再次打开设定捕捉,使生成的栅格和原栅格象元重合

 

上一篇:在ArcGIS中如何删除重复的点要素

下一篇:ArcGIS ArcMap编辑状态中线打断的问题