计算器函数python 计算器函数功能怎么用( 四 )


2 ** 3
8

!Rank! * 2
根据给定的半径字段计算球体的体积 。
4.0 / 3.0 * math.pi * !Radius! ** 3
旧版本:
在 ArcGIS Pro 中,使用的是 Python 3,在 ArcGIS Desktop 中,使用的 Python 2 。Python 2 使用的是整型数学计算,这就意味着两个整型值相除将始终生成整型值 (3 / 2 = 1) 。在 Python 3 中,两个整型值相除将生成浮点型值 (3 / 2 = 1.5) 。
Python 内置函数
Python 包含多个可用的内置函数,包括 max、min、round 和 sum 。
Python 内置函数
通过字段列表计算每条记录的最大值 。
max([!field1!, !field2!, !field3!])
通过字段列表计算每条记录的总和 。
sum([!field1!, !field2!, !field3!]) 使用代码块
通过 Python 表达式和代码块参数可执行以下操作:
在表达式中应用任意 Python 函数 。
访问地理处理函数和对象 。
访问要素几何的属性 。
访问新的随机值运算符 。
使用 if-then-else 逻辑对值进行重分类 。
表达式类型
代码块
Python 3
支持 Python 功能 。使用 Python 函数 (def) 表示代码块 。在适当的情况下,几何属性将通过地理处理对象表示(如点对象) 。
Arcade
支持 Arcade 功能 。
SQL
支持 SQL 表达式 。
执行 SQL 表达式可以更好地支持使用要素服务和企业级地理数据库的计算 , 尤其是在性能方面 。使用该表达式可以将单次请求设置为要素服务或数据库 , 而不必一次执行一个要素或一行的计算 。
旧版本:
在 ArcGIS Desktop 中,计算字段工具支持 VB、PYTHON 和 PYTHON_9.3 表达式类型 。VB 表达式类型,在某些产品中受支持,但在 64 位产品中不受支持,其中包括 ArcGIS Pro 。
出于相后兼容性考量,ArcGIS Pro 中仍然支持 PYTHON 和 PYTHON_9.3 关键字,但是不会作为选择列出 。使用这些关键字的 Python 脚本将可继续使用 。
Python 3 表达式类型与旧版 PYTHON_9.3 关键字的唯一区别在于 Python 3 会将日期字段中的值作为 Python datetime 对象返回 。
注:
Python 3 表达式类型与随 ArcGIS Pro 安装的 Python 版本无关 。这只是历史上的第三个 Python 相关关键字(继 PYTHON 和 PYTHON_9.3 之后 。
各 Python 函数可通过 def 关键字定义,关键字后为函数名称及函数的输入参数 。可编写 Python 函数,使 Python 函数能够接受任何数量的输入参数(也可以没有任何参数) 。函数将通过 return 语句返回值 。函数名称可由您自行选?。ú坏檬褂每崭? ,也不得以数字开头) 。
注:
如果函数未通过 return 语句显式返回值,则函数将返回 None 。
注:
请牢记 , Python 强制要求将缩进作为语法的一部分 。请使用四个空格来定义每个逻辑级别 。将语句块的开头和结尾对齐并且保持一致 。
代码示例 - 数学
在使用以下数学示例时,请假设表达式类型为 Python 3 。
将字段的值四舍五入为保留两位小数 。
表达式:
round(!area!, 2)
通过 math 模块将米转换成英尺 。以转换值为底,以 2 为指数进行幂运算,然后再乘以 area 。
表达式:
MetersToFeet((float(!shape.area!)))
代码块:
import math
def MetersToFeet(area):
return math.pow(3.2808, 2) * area 通过 Python 逻辑计算字段
可以使用 if、else 和 elif 语句将逻辑模式包含在代码块中 。
按照字段值进行分类 。
表达式:
Reclass(!WELL_YIELD!)
代码块:
def Reclass(WellYield):
if (WellYield = 0 and WellYield = 10):
return 1
elif (WellYield10 and WellYield = 20):
return 2

推荐阅读