arcPython细节汇总-setll函数和地图计算Raster Calculator函数

1、 setnull函数

         arcpy.CheckOutExtension(“Spatial”)
         outSetNull = SetNull(inputRaster,inputRaster,“VALUE < 0”)
         outSetNull.save(outputRaster)

注意:一定要检查许可否则会报错;另外,其中的whereclause的条件语句出一定要在逻辑符号两边留出空格,如上面的<号,两侧必须有空格,否则不能达到目的。

 

2、批量处理setnull方法只处理图像部分区域

     安装的arcgis10.0,使用用setnull函数处理时发现前6-7个图像处理较好,该指定范围的值设置为nodata。但是后面的处理就只处理了左上角一小块。纠结了好久:(1)重启电脑(2)更换路径等均不可以。在同学的arcgis11.3版本电脑上跑没有问题。最后咨询esri公司技术服务电话,建议打一下sp5的补丁。后来下载后果真可以了。

3. Raster Calculator函数

在进行多个栅格相互运算,或者对一个栅格做数学运算时,需要利用空间分析-地图计算map malgebra的栅格计算。这时候如果写代码,那就需要应用你对应的栅格数据的,*** 注意写表达式的时候不能有字符串函数什么的,而且变量名需要用双引号

比如下面的例子:
image1=“E:\aa.tif”;
image2=“E:\bb.tif”;
outimage="E:\cc.tif";
(1)实现对IMage1乘2:
arcpy.gp.RasterCalculator_sa('"'+image1+'"*2', outimage)  #表达式是 “image1”*2
(2)实现image1除以image2
arcpy.gp.RasterCalculator_sa('"'+image1+'"'+"/"+'""+image2+'"') ​​​​​​​ #表达式是 "image1"/"image2"


 

 

 

转载自:https://blog.csdn.net/liyanzhong/article/details/46270757

You may also like...