关于ArcGIS10.0中的栅格计算中的函数

本文介绍在ArcGIS10.0中进行栅格计算时遇到的000539错误及其解决方法。该错误源于未正确设置环境变量中的CellSizeandExtent,文章提供了解决方案,包括在ArcMap中设置处理范围和像元大小,以及通过Python脚本进行设置。

版本升级确实很重要,在ArcGIS10.1中计算成功的,在10.0中出了问题。

问题

在进行栅格计算时,计算公式很简单,包括两个Ln函数:

"-22.73 + 11.1 * Ln(5) + 0.34 * Ln("人口.tif")"

可计算结果报错:000539 : Python 错误消息。Error running expression: rcexec() <type 'exceptions.RuntimeError'>: No CellSize and Extent set。

分析

帮助文档中的说明是计算字段或计算值工具使用的计算无效。提供的此错误消息将列出特定的 Python 错误。其解决方案还是让我一头雾水

在GEONET中找到了一个类似的情况:

https://geonet.esri.com/thread/23934

它的意思是按错误提示去设置环境变量中的CellSize and Extent即可解决,原因是这是arcgis10.0的bug,必须手动设置,因为输出的不是一个值而是栅格。

解决

软件操作

在ArcMap中环境中设置处理范围为"与输入栅格相同"、像元大小(栅格分析下)为与"与输入栅格相同";如果输入有多个栅格,可能会提示警告。

代码操作

参考python脚本语法,在AO代码中操作如下:

GP.SetEnvironmentValue("extent",inRaster);
GP.SetEnvironmentValue("cellSize", inRaster);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值