Estou executando a ferramenta Calcular campo GP do arcpy no ArcMap. Quando um valor de linha é atualizado, ele não aparece até que eu use a ferramenta Recarregar cache (Opções da tabela> Recarregar cache). Como atualizo a tabela de atributos automaticamente sem usar o ArcObjects?
Eu tentei atualizar a consulta de definição como @ blah238 sugeriu Usando python, como você "recarrega o cache" de uma Tabela de Atributos aberta , mas isso não ajuda. Redefinir a fonte de dados não é uma opção, porque a classe de recurso pode estar na sessão de edição e não quero perder a conexão com os dados de origem.
arcpy
arcmap
attribute-table
refresh
Alex Tereshenkov
fonte
fonte
Respostas:
Você parece estar atingindo uma limitação do ArcPy, na ausência de ArcObjects.
As limitações do ArcPy.mapping foram amplamente descritas aqui como:
Se a outra sugestão de @ blah238 de usar o ArcObjects do ArcPy não for uma opção para você, talvez seja melhor enviar uma idéia do ArcGIS para expor essa funcionalidade ao ArcPy. Se você postar um link para uma idéia do ArcGIS aqui, ficarei feliz em votar nela.
fonte
Isso pode ou não ser útil para o seu fluxo de trabalho específico. Descobri que, se você alterar a seleção em sua camada, a tabela de atributos também será atualizada.
Então eu costumo usar
É claro que se você realmente selecionou algo que não deseja perder de vista, isso não é bom. Nesse caso, você pode selecionar da camada em que o OID está na lista de OIDs dos recursos selecionados no momento (basicamente altere a seleção para o que já estiver selecionado no momento). Isso pode levar muito tempo para ser praticamente, nunca tentei em um cenário da vida real.
fonte
Você tentou:
ou
ou
Acho que um deles funcionará, mas sei que algumas vezes no ArcMap eu preciso fechar manualmente a tabela de atributos e reabri-la para ver algumas edições. Não tenho certeza se o fechamento e a abertura da tabela pode ser feito com o ArcPy, mas isso também seria uma opção.
fonte
Isso funciona:
fonte