Instrução

Preencher automaticamente valores com base em campos comuns usando regras de atributos no ArcGIS Pro

Last Published: October 13, 2024

Descrição

Ao criar feições para uma nova camada de feição, é incomum referir-se a uma tabela existente ou uma tabela de atributos de uma camada de feição para preencher o valor do campo correspondente da tabela e da camada de feição. Ao criar um grande número de feições, preencher novamente o campo com a tabela existente pode ser demorado ou exigir uma etapa adicional para executar o cálculo. É possível preencher automaticamente os dados à medida que a feição é criada utilizando Regras de Atributos.

Solução ou Solução Provisória

  1. Abra um novo projeto e adicione a tabela e a nova camada de feição.
  2. Adicione GlobalID à nova camada de feição usando a ferramenta Adicionar IDs globais.
  3. No painel Conteúdo , clique com o botão direito do mouse na camada de feição a ser exibida > Design de Dados > Regras de Atributos.
  4. Clique em Adicionar regra. Selecione Nova Regra e insira o Nome da Regra. Neste exemplo, o nome da regra é Nova Regra.
  5. Na caixa de texto Expressão , insira o script a seguir. Modifique os parâmetros abaixo.
    • Feature_Name com o nome da camada de feição de origem a ser comparado. Também pode ser o nome da tabela independente.
    • Matching_Field com o campo correspondente a ser comparado. Neste exemplo, o campo SHAPE é usado.
    • Output_Field com o nome do campo no qual os valores devem ser copiados para a nova feição. Neste exemplo, o campo Direção é usado.
var sourceTable = FeatureSetByName($datastore,"<Feature_Name>", ["<Matching_Field>", "<Output_Field>"], false)
var matchingAttr = $feature.<Matching_Field>
var matchedFeature = First(Filter(sourceTable, "<Matching_Field> = @matchingAttr"))
If (matchedFeature == null){
    return "not found"}
else{
    return matchedFeature.<Output_Field>}
A seguir está o script de trabalho completo:
var sourceTable = FeatureSetByName($datastore,"House", ["OBJECTID", "Direction"], false)
var matchingOID = $feature.OBJECTID 
var matchedFeature = First(Filter(sourceTable, "OBJECTID = @matchingOID"))
If (matchedFeature == null){
    return "not found"}
else{
    return matchedFeature.matchedFeature.Direction}
  1. Marque as caixas de seleção Inserir e Atualizar na seção Disparadores.
Janela Regra de atributo da nova regra
  1. Na barra de formatação Regras de Atributos, clique em Salvar.
  2. Desenhar uma feição. O mapa abaixo demonstra o campo Direção preenchido.
O campo desejado é preenchido automaticamente ao desenhar uma nova feição

ID do Artigo: 000030999

Receba notificações e encontre soluções para problemas novos ou comuns

Obtenha respostas resumidas e soluções de vídeo do nosso novo chatbot de IA.

Baixe o Aplicativo de Suporte da Esri

Informações Relacionadas

Descubra mais sobre este tema

Obtenha ajuda de especialistas do ArcGIS

Entre em contato com Suporte Técnico

Baixe o Aplicativo de Suporte da Esri

Ir para as opções de download