栅格计算器中用得到$$相关函数

$$NROWS: the number of rows in the analysis window (行数)
$$NCOLS: the number of columns in the analysis window (列数)
$$CELLSIZE: the current cell size specified in the analysis environment (像元大小)
$$WX0: minimum x-map coordinate of the current analysis window (最小的X坐标)
$$WY0: minimum y-map coordinate of the current analysis window (最小的Y坐标)
$$WX1: maximum x-map coordinate of the current analysis window (最大的X坐标)
$$WY1: maximum y-map coordinate of the current analysis window (最大的Y坐标)
$$XMAP: x-map coordinate for the center of the processing cell (X坐标)
$$YMAP: y-map coordinate for the center of the processing cell (Y坐标)

1.栅格计算器中,表达式中的图层名要用[]括起来,运算符前后都要加空格,不然会出错。

2.Con命令

命令使用方法有两种

一是使用栅格计算工具(Spatial Analyst/Raster Calculator),输入栅格表达式后执行栅格计算(Evaluate)。

表达式输入方法为:con(条件,条件为真时的值,条件为假时的值)

具体如con(isnull([dem]),0,[dem])或con( [dem] == 0,0,[dem])等。

如果要执行多个条件语句,则在每个con语句结束时用分号(;)隔开。

二是直接调用ArcToolbox下的con工具(Spatial Analyst Tools/Conditional/Con)。与ArcToolbox中的其他工具类似,定义好相关参数后即可执行该命令。此外,在ArcToolbox中该工具名称上单击右键可以进行批处理(Batch)。

3.Nibble命令

命令使用方法有两种:

一是使用栅格计算工具(Spatial Analyst/Raster Calculator),输入栅格表达式后执行栅格计算(Evaluate)。

表达式输入方法为:nibble(mask图层,原始数据)

具体如nibble ([dem_Nodata]),[dem])等。

二是直接调用ArcToolbox下的Nibble工具(Spatial Analyst Tools/Generalization/Nibble)。与ArcToolbox中的其他工具类似,定义好相关参数后即可执行该命令。此外,在ArcToolbox中该工具名称上单击右键可以进行批处理(Batch)。

需要注意的是:通常我们认为输入图层应该为原始图层,mask图层应为经过处理的图层,但在很多情况下,这种做法得不到我们想要的结果,把图层顺序调整一下,就能得到我们想要的结果。至于原因,本人目前也不是很清楚,如果遇到问题,可以试着这样去处理。

4.DEM无值区或零值区替换

对于像元值是整型的DEM,用Con命令和Nibble命令相结合的方法即可实现。

对于像元值是浮点型的DEM,在Con命令的基础上,配合使用focalmean函数即可实现。

focalmean函数的表达式输入方法如下:

focalmean (原始数据,邻域形状,邻域大小)

具体如focalmean([dem],rectangle,5,5)等。

Con命令和focalmean函数配合使用时,在栅格计算工具(Spatial Analyst/Raster Calculator)中,输入如下栅格表达式:

con(isnull([dem]), focalmean([dem],rectangle,5,5),[dem])

实际应用中,根据数据情况,应适当修改focalmean中邻域的形状和大小。

arcgis 栅格计算器(Spatial Analyst/Raster Calculator)的更多相关文章

  1. ArcGis 字段计算器表达式(Field calculator expression).cal文件与标注表达式(label expression).lxp的实质及其编码方式、解析方法

    ArcGis 字段计算器表达式可以保存为一个扩展名为.cal的文件,该文件的实质是一个文本文件,编码方式为 UTF-16-LE. 官方的说明是“ArcGIS 应用程序使用 UTF-16-LE 编码读写 ...

  2. 【229】Raster Calculator - 栅格计算器

    参考:分段函数进行复制,利用语句 参考:ArcGIS栅格计算器 - CSDN 参考:ArcGIS栅格计算器con条件函数使用 参考:ArcGIS栅格计算器 - 电脑玩物 ("lyr" ...

  3. ArcGIS 10 Raster Calculator 在哪儿

    ArcGIS 10 Raster Calculator 在哪儿? 现在大家用的最多的是ArcGIS9.3,所以大家都知道Raster Calculator在ArcToolbox->Spatial ...

  4. wpf arcgis engine 当前没有或未启用Spatial Analyst许可解决办法

    用wpf 在做叠加分析时 遇到了一个错误:“ERROR 010096:当前没有或未启用Spatial Analyst许可”:在环境中把这个Spatial Analyst扩展功能给勾了也不能解决,现在把 ...

  5. Spatial Analyst Tools(Spatial Analyst 工具)

    Spatial Analyst Tools 1.区域分析 # Process: 以表格显示分区几何统计 arcpy.gp.ZonalGeometryAsTable_sa("", & ...

  6. Arcgis栅格时序地图制作---时间轴动态展示多期影像

    转自原文 Arcgis栅格时序地图制作---时间轴动态展示多期影像 效果如何???满意您go on,不满意咱 say goodbye··· 题外话: 为了在这里动态展示下制作结果,也是费了老劲了,转换 ...

  7. [地图代数]处理DEM中的高程异常值——ArcGIS栅格计算的应用

    接了一个任务,要处理DEM原始数据中的高程异常值,如图中的异常亮点. 想了一下,以前处理过建筑物附近的DEM铲平,那么高程异常值应该如何处理呢? 显然直接铲平时不太合理的,需要利用异常值周围的高程进行 ...

  8. ArcGIS字段计算器分割字段中的字符串

    ArcGIS字段计算器分割字段中的字符串 实例:在一个字段中存有长宽高三个属性数据,以x分割.例如sss为字段名(字段属性为文本类型),数据格式为:100x200x300,利用字段计算器分别将三个数存 ...

  9. ArcGIS 字段计算器 Python 坑

    最近要处理个简单数据,一个字段中为文本类型,包含各种描述.要求是包含平方米的数值提取出来,变成数值,如果包含多个,则把各个值累加起来. 比如 字段值为 “非法占用100平方米” 处理后结果为 100 ...

随机推荐

  1. 简单配置IIS 以及web service 实现js跨域

    因为浏览器的安全模型,js 是不能跨域的. 解决的方法有以下几种: 1. 使用代理服务转发 2. 目前服务器添加:Access-Control-Allow-Origin 3. 使用jsonp 4. 使 ...

  2. 07socket编程

    TCP客户/服务器模型: 从图中就可以看出基本的过程来. 回射客户/服务器: 这个是回射的图示,客户端发给服务端,服务端在发回给客户端.   socket函数:   包含头文件<sys/sock ...

  3. 剑指offer系列45---和为s的两个数字

    [题目]输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S, package com.exe9.offer; /** * [题目]输入一个递增排序的数组和一个数字S,在数组中 ...

  4. mysql中int转varchar

    这里要注意,cast(XX as varcahr(10))在mysql中不好使,要cast(XX as char(10))这样才好使

  5. 使用Maven Profile实现多环境构建

    在开发过程中,我们的软件会面对不同的运行环境,比如开发环境.测试环境.生产环境,而我们的软件在不同的环境中,有的配置可能会不一样,比如数据源配置.日志文件配置.以及一些软件运行过程中的基本配置,那每次 ...

  6. 恢复ext4文件系统superblock

    恢复ext4文件系统superblock 1. Create ext4 文件系统. [root@localhost ~]# mkfs.ext4 /dev/vdb1 [root@localhost ~] ...

  7. android下asynchttp库对于session的支持

    默认asynchttp库不支持session,需要用户配置下cookie来处理,直接贴支持session的代码 package example.com.sessiontest; import andr ...

  8. [tty与uart]2.tty和uart的函数调用流程

    以下是在include/uapi/linux/tty.h中定义了现有的线规号,如果需要定义新的,则需要在后面添加新的 /* line disciplines */ #define N_TTY 0 #d ...

  9. Linux启动过程详解(转)

    启动第一步--加载BIOS当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它.这是因为BIOS中包含了CPU的相关信息.设备启动顺序信息.硬盘 ...

  10. Java-螺旋方阵

    用Java实现螺旋方阵 螺旋方阵:是指呈螺旋状的矩阵. 具体实现如下: public void screwMatrix() { System.out.print("请输入数字:") ...