Instrução

editar camadas de feição versionadas de ramificação utilizando o ArcGIS API for Python

Last Published: May 22, 2024

Resumo

O versionamento de ramificação é um tipo de versionamento de geodatabase que funciona com o modelo GIS da Web do ArcGIS Enterprise utilizando uma arquitetura baseada em serviços para permitir fluxos de trabalho de edição multiusuário e cenários de transação longos por camadas de feição da web. As camadas de feição da web (também conhecidas como serviços da feição) são camadas que são compartilhadas para suportar a exibição, consulta e edição de dados na web.

O ArcGIS API for Python possibilita a edição programática de camadas de feição versionadas por ramificação. De forma geral, um fluxo de trabalho típico de edição com versionamento de ramificação é o seguinte:

  • Crie uma versão de ramificação para isolar as edições da versão padrão. (Gerenciamento de versão)
  • Inicie uma sessão de edição (Gerenciamento de versão)
  • Crie uma nova feição (Acesso à Feição)
  • Reconcilie a versão atual da ramificação com a versão padrão. (Gerenciamento de versão)
  • Publique alterações da versão atual para a versão padrão. (Gerenciamento de versão)
  • Pare a sessão de edição. (Gerenciamento de versão)
  • Excluir a versão. (Gerenciamento de versão)

Procedimento

O trecho de código Python abaixo demonstra como executar edições em uma camada de feição de ponto com versão de ramificação por meio do Servidor de gerenciamento de versão

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 do Artigo: 000032186

Obtenha suporte com IA

Resolva seu problema rapidamente com o chatbot de IA de suporte da Esri.

Comece a conversar agora

Informações Relacionadas

Descubra mais sobre este tema

Obtenha ajuda de especialistas do ArcGIS

Entre em contato com Suporte Técnico

Comece a conversar agora

Ir para as opções de download