当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python ArcGIS FeatureLayer.calculate用法及代码示例


本文简要介绍 python 语言中 arcgis.features.FeatureLayer.calculate 的用法。

用法:

calculate(where, calc_expression, sql_format='standard', version=None, sessionid=None, return_edit_moment=None, future=False)

返回:

具有以下格式的字典:

{ ‘updatedFeatureCount’: 1, ‘success’: True }

如果 future = True ,则结果是 Future 对象。调用result() 获取响应。

calculate 操作在FeatureLayer 资源上执行。 calculate 根据 SQL 表达式或标量值更新现有要素服务图层中的一个或多个字段的值。仅当图层的 supportsCalculate 属性为 True 时,才能使用 calculate 操作。 Shape 字段和系统字段都不能使用 calculate 进行更新。系统字段包括 ObjectIdGlobalId

Inputs

Description

where

必需的字符串。 where 子句可用于限制更新的记录。允许对图层中的字段进行任何合法的 SQL where 子句。

calc_expression

必填清单。字段/值信息对象数组,其中包含要更新的一个或多个字段及其标量值或 SQL 表达式。允许的类型是字典和列表。 List 必须是字典对象的列表。

计算格式如下:

{“field” : “<field name>”, “value” : “<value>”}

sql_format

可选字符串。 calc_expression 的 SQL 格式。它可以是标准 SQL92(标准)或本机 SQL(本机)。默认为标准。

值:standardnative

version

可选字符串。应用编辑的地理数据库版本。

sessionid

可选字符串。客户端在分支版本的长事务编辑期间设置的参数。 sessionid 是客户端在开始时建立并在整个编辑会话期间使用的 GUID 值。 sessonid 确保编辑会话期间的隔离。仅当图层的 isDataBranchVersioned 属性为 true 时,此参数才适用。

return_edit_moment

可选布尔值。此参数指定响应是否将报告应用编辑的时间。如果为真,服务器将返回在响应的编辑时刻键中应用编辑的时间。仅当图层的 isDataBranchVersioned 属性为 true 时,此参数才适用。

future

可选布尔值。如果为 True,则将返回 future 对象,并且进程不会等待任务完成。默认为False,表示等待结果。

这仅适用于 10.8+

示例 1:

# Usage Example 1:

print(fl.calculate(where="OBJECTID < 2",
                   calc_expression={"field": "ZONE", "value" : "R1"}))

示例 2:

# Usage Example 2:

print(fl.calculate(where="OBJECTID < 2001",
                   calc_expression={"field": "A",  "sqlExpression" : "B*3"}))

相关用法


注:本文由纯净天空筛选整理自arcgis.com大神的英文原创作品 arcgis.features.FeatureLayer.calculate。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。