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


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


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

用法:

edit_features(adds=None, updates=None, deletes=None, gdb_version=None, use_global_ids=False, rollback_on_failure=True, return_edit_moment=False, attachments=None, true_curve_client=False, session_id=None, use_previous_moment=False, datum_transformation=None, future=False)

返回:

默认情况下是字典,或者如果 future = True ,则结果是 Future 对象。调用result() 获取响应。

在一次调用中向关联的 FeatureLayerTable 添加、更新和删除函数。

注意:

当进行大量(一次250+条记录)编辑时,应使用append而不是edit_features,以提高性能并确保服务稳定性。

Inputs

Description

adds

可选FeatureSet /列表。要添加的函数数组。

updates

可选FeatureSet /列表。要更新的函数数组。

deletes

可选FeatureSet /列表。要从服务中删除的 OID 字符串

use_global_ids

可选布尔值。该服务将查看 GUID 字段来跟踪更改,而不是引用默认的对象 ID 字段。这意味着将传递 GUID 而不是 OID 来删除、更新或添加函数。

gdb_version

可选布尔值。 Geodatabase 版本来应用编辑。

rollback_on_failure

可选的布尔值。可选参数,用于指定是否仅当所有提交的编辑都成功时才应用编辑。如果为 false,即使某些提交的编辑失败,服务器也会应用成功的编辑。如果为 true,则仅当所有编辑都成功时,服务器才会应用编辑。默认值是true。

return_edit_moment

可选布尔值。在 10.5 中引入,仅适用于 ArcGIS 服务器服务。指定响应是否报告应用编辑的时间。如果设置为 true,服务器将在响应的 editMoment 键中返回时间。默认值为 false。

attachments

可选字典。此参数添加、更新或删除附件。仅当 use_global_ids 参数设置为 true 时才适用。对于添加,将保留客户端提供的附件的全局 ID。当 useGlobalIds 为 true 时,更新和删除由每个函数或附件 globalId 标识,而不是其 objectId 或 AttachmentId。此参数要求图层的supportsApplyEditsWithGlobalIds属性为true。

要添加或更新的附件可以使用预上传的数据或 Base 64 编码的数据。

输入

Inputs

Description

adds

List of attachments to add.

updates

List of attachements to update

deletes

List of attachments to delete

有关更多信息,请参阅ArcGIS REST API 中的Apply Edits to a Feature Service layer

true_curve_client

可选布尔值。于 10.5 引入。向服务器指示客户端是否具有真正的曲线能力。当设置为 true 时,这向服务器指示应下载真实曲线几何图形,并且Map服务应使用包含真实曲线的几何图形而不对其进行致密化。当设置为 false 时,这向服务器表明客户端不具备真正的曲线函数。默认值为 false。

session_id

可选字符串。于 10.6 引入。 session_id 是客户端在开始时建立并在整个编辑会话中使用的 GUID 值。 sessonID 确保编辑会话期间的隔离。 session_id 参数由客户端在分支版本上进行长事务编辑期间设置。

use_previous_moment

可选布尔值。于 10.6 引入。 use_previous_moment 参数用于应用与前一组编辑具有相同编辑时刻的编辑。这允许编辑者部分应用单个编辑块,完成另一项任务,然后完成该编辑块。该参数由客户端在分支版本上进行长事务编辑时设置。

设置为 true 时,将在与前一组编辑相同的编辑时刻应用编辑。当设置为 false 或未设置(默认)时,编辑将在新的编辑时刻应用。

datum_transformation

可选的整数/字典。当 out_sr 与图层的空间参考不同时,此参数会在投影结果中的几何图形时应用基准变换。指定变换时,您需要考虑哪种基准变换能够最好地将图层(而不是要素服务)投影到图层属性中的 outSRsourceSpatialReference 属性。有关有效基准转换 ID 值和众所周知的文本字符串的列表,请参阅 Using spatial references 。有关基准转换的更多信息,请参阅Project operation 文档中的转换参数。

例子

Inputs

Description

WKID

Integer. Ex: datum_transformation=4326

WKT

Dict. Ex: datum_transformation={“wkt”: “<WKT>”}

Composite

Dict. Ex: datum_transformation=```{‘geoTransforms’:[{‘wkid’:<id>,’forward’:<true|false>},{‘wkt’:’<WKT>’,’forward’:<True|False>}]}```

future

可选布尔值。如果 FeatureLayersupportsAsyncApplyEdits 设置为 True ,则可以异步应用编辑。如果为 True,则将返回 future 对象,并且进程不会等待任务完成。默认为False,表示等待结果。

示例 1:

# Usage Example 1:

feature = [
{
    'attributes': {
        'ObjectId': 1,
        'UpdateDate': datetime.datetime.now(),
    }
}]
lyr.edit_features(updates=feature)

示例 2:

# Usage Example 2:

adds = {"geometry": {"x": 500, "y": 500, "spatialReference":
                    {"wkid": 102100, "latestWkid": 3857}},
        "attributes": {"ADMIN_NAME": "Fake Location"}
        }
lyr.edit_features(adds=[adds])

示例 3:

# Usage Example 3:

lyr.edit_features(deletes=[2542])

相关用法


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