操作方法
分支版本化是一种地理数据库版本化,支持使用基于服务的架构的 ArcGIS Enterprise Web GIS 模型,以允许通过 Web 要素图层执行多用户编辑工作流和长期事务方案。 Web 要素图层(也称为要素服务)是共享的图层,用于支持显示、查询和编辑 Web 上的数据。
ArcGIS API for Python 使得以编程方式编辑分支版本化要素图层成为可能。 概括地说,典型的分支版本化编辑工作流如下:
以下 Python 代码片段演示了如何通过版本管理服务器对分支版本化点要素图层执行编辑
from arcgis.gis import GIS
from arcgis.features._version import VersionManager
try:
# parameters
machine = 'machine.domain'
portalUrl = 'https://{0}/webadaptor'.format(machine)
base_server_url = "https://{0}/server/rest/services/samplePointsBV".format(machine)
version_management_server_url = "{0}/VersionManagementServer".format(base_server_url)
new_version_name = "v1"
userName = ''
password = ''
# Sign in to Portal
gis = GIS(portalUrl, userName, password)
vms = VersionManager(version_management_server_url, gis)
print(vms.properties)
# Get a list of all versions
versions = vms.all
print(versions)
# feature to add
feature = {
"attributes": {
"name": "TEST123",
},
"geometry": {
"x": 153.11349,
"y": -27.492016
}
}
# Create a new version
version = vms.create(new_version_name)
print(version.properties)
# Get the layer to edit
editlayer = version.layers[0]
print(editlayer)
# Start an edit session
version.mode = 'edit'
version.start_editing()
add_result = version.edit(editlayer, adds=[feature], updates=None, deletes=None, use_global_ids=False, rollback_on_failure=True)
print(add_result)
version.stop_editing(save=True)
version.mode = None
print("Edits complete")
except Exception as err:
print("Error: {0}".format(err))
文章 ID: 000032186
获取来自 ArcGIS 专家的帮助
立即开始聊天