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

Posted 我也是个傻瓜

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于ArcGIS10.0中的栅格计算中的函数相关的知识,希望对你有一定的参考价值。

版本升级确实很重要,在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);

技术分享

以上是关于关于ArcGIS10.0中的栅格计算中的函数的主要内容,如果未能解决你的问题,请参考以下文章

ArcGIS怎么用栅格计算器计算DEM的平均值

ArcGIS风暴ArcGIS10.6栅格计算器(Raster Calculator)用法详解

实验五地图代数arcgis用栅格计算器怎么计算地表曲率

ArcGIS中的栅格数据重采样方法都有哪些?

ArcGIS微课1000例0040:ArcGIS栅格二值化实验教程

arcgis中如何计算dem图层单元栅格的曲面面积、和投影到平面的面积、就是要计算地表粗糙度