CÓMO

Editar capas de entidades versionadas en rama mediante ArcGIS API for Python

Last Published: May 22, 2024

Resumen

El versionado en rama es un tipo de versionado de geodatabase que funciona con el modelo SIG web de ArcGIS Enterprise utilizando una arquitectura basada en servicios para permitir flujos de trabajo de edición multiusuario y escenarios de transacciones largas a través de capas de entidades web. Las capas de entidades web (conocidas también como servicios de entidades) son capas que se comparten para que sea posible visualizar, consultar y editar datos en la web.

ArcGIS API for Python hace posible la edición mediante programación de capas de entidades versionadas en rama. En un nivel alto, un flujo de trabajo típico de edición versionada en rama es el siguiente:

  • Cree una versión en rama para aislar las ediciones de la versión predeterminada. (Administración de versiones)
  • Iniciar una sesión de edición (Administración de versiones)
  • Crear una nueva entidad (Acceso a entidades)
  • Concilie la versión en rama actual con la versión predeterminada. (Administración de versiones)
  • Publique los cambios de la versión actual en la versión predeterminada. (Administración de versiones)
  • Detenga la sesión de edición. (Administración de versiones)
  • Elimine la versión. (Administración de versiones)

Procedimiento

El siguiente fragmento de código de Python muestra cómo realizar ediciones en una capa de entidades de punto versionada en rama a través del servidor de administración de versiones

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. de artículo: 000032186

Obtenga soporte con IA

Resuelva su problema rápidamente con el chatbot de inteligencia artificial de soporte de Esri.

Empieza a chatear ahora

Información relacionada

Descubrir más sobre este tema

Obtener ayuda de expertos en ArcGIS

Contactar con el soporte técnico

Empieza a chatear ahora

Ir a opciones de descarga