如何将两个栅格数据图层求和并求并集

  1. con(IsNull([raster1]) + IsNull([raster2]) + IsNull([raster3]) <> 3,con(IsNull([raster1]),0,[raster1]) + con(IsNull([raster2]),0,[raster2]) + con(IsNull([raster3]),0,[raster3]))
复制代码

上面是三个栅格相加,若是多个,只需按格式多加几个+ IsNull([rasterN])以及 + con(IsNull([rasterN]),0,[rasterN]),然后把<>3改成<>N

 

isnull函数还算是比较好懂,看了一会没明白con函数是什么意思,特地去查了一下,放到这里:
这与js中的? :表达式差不多。第一个参数为条件,如果条件为真,就返回true_expression;如果非真,就返回false_expression。
Con(<condition>, <true_expression>, <false_expression>)。更为复杂一点的表达式:
Con(<condition>, <true_expression>, _
      {<condition>, <true_expression>}, _
      {<condition>, <true_expression>}, _
      {false_expression})。
斑竹实在太厉害。
如果图层很多,能不能用上述的表达式将每个Raster中isnull的地方都赋为0,再进行相加,应该也可以?

原文地址:https://www.cnblogs.com/yuxuetaoxp/p/1804953.html