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

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ArcGIS ArcMap中修改栅格图的像元值

?在处理图象数据时,我们经常会碰到要求修改栅格图象象元值的问题,比如说DEM图的部分数据错误,我们要进行修改;再比如说栅格图象中有些与周围均匀色彩不一致的错误斑块要更正等等,那我们如何来处理这一类问题呢? 现我以一DEM栅格图(名字为eldodem)为例,现在我要修改它的部分象元值,总结出以下三种方法,大家可以参考一下。第一种方法不大实用,但可借鉴,第二三种方法针对的条件不一致,大家可以在具体情况下进行选择。 ? ? 一、直接运用转换,思路简单,易操作,但实用性 1、栅格——ascii文件——栅格这种方法是先将栅格图用工具?? ? 直接转成ascii文件,然后在ascii文本文件中直接修改需要修改的象元的值,修改好后又用工具?? ? ? 转换成栅格图。这种方法可行,但是不实用,因为我们要搜索到指定的象元好像不是那么简单。那么有没有别的比较好的方法呢? 二、在栅格计算器中操作,方法灵活,可操作性强,实用性强 准备工作 先要在option中设置保留的栅格范围,通常情况下默认的为相交后的部分,这里我们要保留整个DEM,所以要改为以下设置: ? ? ?? ? 2、通过点的位置修改点象元值 2.1* 问题一?、要是我想修改图象中的指定的行列的点的象元值(比如说把第100行,200列的点的值修改为0),那该如何操作呢? 这时候我们可以在栅格计算器中输入以下公式: con(($$rowmap == 99 $$colmap == 199),0,[eldodem.img]) (栅格图的编号是从0行0列开始的) ? ? ?? 2.2* 问题二、那若是要修改指定行列范围内的栅格的象元值,比如说把第101行,251列到第401行,301列的部分的象元值改为0,又改如何进行呢? con(($$rowmap 400 $$rowmap 100 $$colmap 300 $$colmap 250),0,[eldodem.img]) ??结果如下 ? ?? 2.3 * 问题三、这些行和列是给定的,但是实际情况往往不是这样的,那若看到一些要修改的点,我如何通过以上的方法来修改它的属性值呢,这时要解决的首要问题是如何获知这个点的行列值,我们可以通过以下方法来解决: (1)准备工作,设置spatial analyst中的option,设置所需范围,象素以及捕捉 ?? ? ? ? ??这个确定后再次打开设定捕捉,使生成的栅格和原栅格象元重合 ? (2)在栅格计算器中分别做出对应的行列栅格图 行栅格图的生成:在栅格计算器中输入以下公式—— r=$$rowmap c=$$colmap (在这里r---行,c------列) ? (3)然后可以用identify工具,?对要修改的点的行列号进行查询 ? ?? 如图,所要修改的点位于第166行,129列,若要修改此点象元值为6,可以在栅格计算器中输入以下公式: con(($$rowmap == 165 $$colmap == 128),6,[eldodem.img]) 3、通过点面文件来修改象元值 *问题、现在我们有一幅栅格图,由于某种需要要修改其中的部分点单元格的象元值或者是修改部分斑块的象元值,这时候该如何实现呢?本人觉得以下方法可行。 思路主要是(1)先建一点shp或面shp图层,(2)然后在点或面图层上数字化需要修改的点或面,(3)接着将点或面转换成栅格图,(4)在栅格计算器中进行替换运算。 现我仍以eldodem为例,假设其中有部分象元的值是错误的,要对其进行修改,(同时进行点面转换操作) 具体步骤如下: (1)新建一点文件point_11,然后在上面数字化出需要修改的点。新建一面文件eldodem,数字化出需要修改的面。 ? ? ???? (2)将point_11和eldodem在feature to raster工具中分别转换成栅格文件poin1和 和eldo1. (3)在栅格计算器中进行运算 假设现在要把个别点象元值修改为0,我们在栅格计算器中填入以下的公式: con(IsNull([poin1]),[eldodem.img],0) ? ?? 然后点右下角的Evaluate运行 因为点象元值很小,放大可以看到我们修改后的微小的黑点 对于面状象元值的修改,相似的,输入以下公式: con(IsNull([eldo1]),[eldodem.img],0) ? ? 然后运行,得到的图如下 ?? (大家很可能得到的图与此图有异,要在属性的symbol里设置一下,使其为拉伸样式) ? ??可以看到,修改过的部分变为黑色。

文档评论(0)

zsmfjy + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档