HOW TO

Bearbeiten von nach Verzweigung versionierten Feature-Layern mit der ArcGIS API for Python

Last Published: May 22, 2024

Zusammenfassung

Die Verzweigungsversionierung ist eine Form der Geodatabase-Versionierung, die mit dem ArcGIS Enterprise-Web-GIS-Modell arbeitet. Sie nutzt eine Service-basierte Architektur, um Bearbeitungs-Workflows für mehrere Benutzer und Szenarien mit langen Transaktionen über Web-Feature-Layer zu unterstützen. Web-Feature-Layer (werden auch als Feature-Services bezeichnet) sind Layer, die zum Anzeigen, Abfragen und Bearbeiten von Daten im Web freigegeben werden.

Die ArcGIS API for Python ermöglicht die programmgesteuerte Bearbeitung von nach Verzweigung versionierten Feature-Layern. Auf oberster Ebene sieht ein typischer Workflow der Bearbeitung von nach Verzweigung versionierten Daten wie folgt aus:

  • Erstellen einer Verzweigungsversion, um Änderungen von der Default-Version zu isolieren (Versionsverwaltung)
  • Starten einer Editiersitzung (Versionsverwaltung)
  • Erstellen eines neuen Features (Feature-Zugriff)
  • Abgleichen der aktuellen Verzweigungsversion mit der Default-Version (Versionsverwaltung)
  • Zurückschreiben der Änderungen von der aktuellen Version in die Default-Version (Versionsverwaltung)
  • Beenden der Editiersitzung (Versionsverwaltung)
  • Löschen der Version (Versionsverwaltung)

Vorgehensweise

Der folgende Python-Codeausschnitt zeigt, wie Sie Änderungen an einem nach Verzweigung versionierten Punkt-Feature-Layer über den Version Management Server vornehmen.

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))

Artikel-ID: 000032186

Holen Sie sich Unterstützung mit KI

Lösen Sie Ihr Problem schnell mit dem Esri Support AI Chatbot.

Beginnen Sie jetzt mit dem Chatten

Zugehörige Informationen

Weitere Informationen zu diesem Thema erkunden

Unterstützung durch ArcGIS-Experten anfordern

An den technischen Support wenden

Beginnen Sie jetzt mit dem Chatten

Zu Download-Optionen wechseln