我们在使用ArcGIS时通常经常用到栅格计算器,今天主要给大家介绍我日常中经常用到的几个公式,供大家参考学习。
将特定值(-9999)赋值为0,例如-9999.
Con("raster"==-9999,0,"raster")
2.给空值赋予特定的值(如0)
Con(IsNull("raster"),0,"raster")
3.将特定的栅格值(如1)赋值为空值,其他保留原值
SetNull("raster"==1,"raster")
4.将某一范围内(如小于0)赋值为0
Con("raster" <0,0,"raster")
5.平方和开方
Power("raster",2),Power("raster",0.5)
6.通过IsNull("raster1"来判断该"raster1"栅格是否存在nodata,如果存在则将nodata的地方用"raster2"影像对应的地方的值来填充,如果不存在则返回原值,也就是"raster1"
Con(IsNull("raster1"),"raster2","raster1")
7.用空缺值附近的栅格像元补充空值
Con(IsNull("raster"), FocalStatistics("raster", NbrRectangle(5,5, "CELL"), "MEAN"), "raster")
NbrRectangle(5,5, “CELL”):指定长为5、宽为5的矩形为领域,单位为像元
MEAN |
平均值 |
MAJORITY |
众数 |
MAXIMUM |
最大值 |
MEDIAN |
中位数 |
MINIMUM |
最小值 |
上述代码的含义为:
栅格影像中空值像元周围5*5像元的平均值,填充至空值中。
8.比较两幅栅格图像差异
Diff("raster1","raster2")
Diff()函数的用法以逐个像元比较的方式,确定第一个输入的哪些值与第二个输入的值在逻辑上不同。如果两个输入的值不同,则使用第一个输入的值作为输出。如果两个输入的值相同,则输出为0。
9.提取栅格影像中把不连贯的部分
InList("raster",[1,3,5])
例如:
InList("2020landuse.tif",[1,3,5])#提取土地利用数据中,1、3、5类地类
10.找寻栅格中大于某值或小于某值的栅格空间分布
("raster">= 1500) & ("raster"<= 4000)
以上是我总结的栅格计算器中几个常用的公式,欢迎补充。