关于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);

时间: 2024-09-19 09:10:46

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

c++ 计算中,当除数为零时让其自动跳过不参与计算的处理方法

问题描述 c++ 计算中,当除数为零时让其自动跳过不参与计算的处理方法 大家好,请教下,在计算中,当遇到除数为零时,希望程序自动跳过该计算,不让这种情况参与计算,要如何处理呢 我当前是这样进行的,打要出问题: if (Dlg.m_strX1 <= 0) { A1 = 0; B1 = 0; } else { A1 = 1; B1 = 5 * Dlg.m_stru1 / Dlg.m_strX1; } 解决方案 你这个已经跳过了Dlg.m_strX1等于零的情况了 解决方案二: 可是我在后面求和时,d

管道设计CAD系统中重量重心计算

管道设计CAD系统中重量重心计算 eryar@163.com Abstract. 管道设计CAD系统中都有涉及到重量重心计算的功能,这个功能得到的重心数据主要用于托盘式造船时方便根据重心设置吊装配件.重量信息主要用于采购订货.本文主要介绍相关软件中重量重心功能,及重量重心计算实现原理.最后结合OpenCASCADE计算管道模型重量重心来验证. Key Words. CoG, CentreOfMass, Piping CAD, Piping Design 1.Introduction 船舶设计系统

ArcGIS Engine开发之旅07---文件地理数据库、个人地理数据库和 ArcSDE 地理数据库中的栅格存储加以比较 、打开栅格数据

原文:ArcGIS Engine开发之旅07---文件地理数据库.个人地理数据库和 ArcSDE 地理数据库中的栅格存储加以比较 .打开栅格数据 对文件地理数据库.个人地理数据库和 ArcSDE 地理数据库中的栅格存储加以比较  1.打开栅格数据  要打开一个栅格数据,这个有点类似我们打开 FeatureClass 一样,先要获取工作空间,只不过我们过于要素类的时候需要 IFeatureWorkspace,而栅格数据则需要 IRasterWorkspace,示例如下: IRasterWorksp

java中时间间隔小时计算

问题描述 java中时间间隔小时计算 计算两个时间间隔小时且不包括周末,每天8小时,eg 2015-05-10 10:00:00 2015-05-20 16:00:00 要算出这两个时间相差的小时数而且不包括周末时间,其他时间一天8小时计算 并且 10:00 到18点,9点到16点这两个时间点也要计算上,该怎么写 解决方案 之前的代码确实有问题,现在做了修改. package aaa; import java.text.ParseException; import java.text.Simpl

mysql explain 中key_len的计算

今天丁原问我mysql执行计划中的key_len是怎么计算得到的,当时还没有注意,在高性能的那本书讲到过这个值的计算,但是自己看执行计划的时候一直都没有太在意这个值,更不用说深讨这个值的计算了: ken_len表示索引使用的字节数,根据这个值,就可以判断索引使用情况,特别是在组合索引的时候,判断所有的索引字段都被查询用到. 在查看官方文档的时候,也没有发现详细的key_len的计算介绍,后来做了一些测试,在咨询了丁奇关于变长数据类型的值计算的时候,突然想到innodb 行的格式,在这里的计算中有

《R的极客理想——高级开发篇 A》一一1.2 R语言中的数学计算

1.2 R语言中的数学计算 问题 如何用R语言进行数学计算? 引言 R语言是统计语言,生来就对数学有良好的支持,用R语言做数学的计算题特别方便.如果计算器中能嵌入R语言的计算函数,那么绝对是一种高科技产品.我真的把R语言当成我的计算器了!1.2.1 基本计算 R语言对数学计算有着非常好的支持,本节将完整介绍初等数学中的各种计算操作. 本节的系统环境是: Windows 7 64bit R: 3.1.1 x86_64-w64-mingw32/x64 (64-bit) 用R语言实现四则运算操作,包括

php中关于长度计算容易混淆的问题分析_php技巧

本文实例讲述了php中关于长度计算容易混淆的问题.分享给大家供大家参考,具体如下: 经常被php中数组和字符串的字符函数搞晕,下面总结一下: strlen($string)函数:计算字符串的长度: sizeof($string,$mode)函数:它是count()函数的别名,count()函数如下: int count ( mixed var [, int mode] ) 返回 var 中的单元数目,通常是一个 array,任何其它类型都只有一个单元. 对于对象,如果安装了 SPL,可以通过实现

Lua判断字符串中包含中文字符的方法和计算字符串宽度函数分享_Lua

一.判断字符串中包含中文字符的方法 遍历数组,对每个字节使用string.byte(),发现有大于127的,就是汉字,可以参照下面的代码. 二.计算字符串宽度函数 复制代码 代码如下: -- 计算字符串宽度   local str = "Jimmy: 你好,世界!" local fontSize = 20 local lenInByte = #str local width = 0   for i=1,lenInByte do     local curByte = string.by

PHP中使用微秒计算脚本执行时间例子_javascript技巧

在PHP中,大多数的时间格式都是以UNIX时间戳表示的,而UNIX时间戳是以s(秒)为最小的计量时间的单位.这对某些应用程序来说不够精确,所以可以调用microtime()返回当前UNIX时间戳和微妙数.该函数的原型如下: 复制代码 代码如下: mixed microtime([bool get_as_float]); //返回当前UNIX时间戳和微妙数 可以为该函数提供一个可选的布尔型参数,如果在调用时不提供这个参数,本函数以"msec sec"的格式返回一个字符串.其中sec是自U