Instrução

Preencher um campo com base no número de caracteres em outro campo no ArcGIS Pro

Last Published: April 2, 2024

Resumo

No ArcGIS Pro, a função Python len() pode ser utilizada em cálculos de campo para contar e retornar o número de caracteres em um campo de texto. Por exemplo, a função pode ser usada em expressões para preencher um campo com valores baseados na contagem de caracteres de células em outro campo, o que pode ser útil ao trabalhar com códigos ou acrônimos padronizados.

A imagem abaixo mostra o campo 'Category' contendo acrônimos na tabela de atributos de uma feição no ArcGIS Pro. Neste artigo, um novo campo é preenchido com caracteres adicionais se os valores no campo 'Category' tiverem três ou dois caracteres em vez de quatro.

O campo com caracteres a serem contados na tabela de atributos no ArcGIS Pro
Note:
The workflow in this article can only be applied to fields with the text data type, as the len() function is used to count the characters in a string.

Procedimento

  1. Abra o projeto no ArcGIS Pro.
  2. No painel Conteúdo , clique com o botão direito do mouse na camada de feição e clique em Tabela de atributos.
O botão Tabela de atributos após clicar com o botão direito do mouse na camada no painel Conteúdo
  1. Na exibição da tabela de atributos, clique em Adicionar campo para adicionar um novo campo de texto.
    1. Na exibição de campos, na coluna Nome do campo, especifique um nome para o novo campo. Neste exemplo, o nome do campo é 'Code'.
    2. Na coluna Tipo de dados, clique duas vezes na célula para abrir o menu suspenso e clique em Texto.
Adicionando o novo campo na visualização de campos
  1. Na guia Campos , no grupo Alterações , clique em Salvar. Feche a exibição de campos.
  1. Na tabela de atributos, clique com o botão direito do mouse no campo recém-adicionado e clique em Calcular campo. O campo 'Code' é usado neste exemplo.
O botão Calcular campo depois de clicar com o botão direito do mouse no campo na tabela de atributos
  1. Crie uma expressão usando a instrução IF e a função len() para preencher o novo campo com valores baseados no número de caracteres de outro campo. Na janela Calcular campo, configure os seguintes parâmetros:
    1. Para Tipo de Expressão, selecione Python 3.
    2. Na caixa de texto Expressão acima da caixa Bloco de código, insira o seguinte script: Substitua <fieldName> pelo nome do campo de entrada que contém os caracteres a serem contados. Neste exemplo, o campo de entrada é o campo 'Categories'.
calculate_field(!<fieldName>!)
    1. Na caixa Bloco de código, digite o seguinte script. Substitua <field> por um nome de variável desejado, <characters> pelo número de caracteres do campo de entrada a ser contado e <value> por um valor de texto a ser adicionado ao novo campo.
      • Usando a declaração if... else.
def calculate_field(<field>):
    if (len(<field>) == <characters>):
        return ("<value>" + <field>)
    else:
        return (<field>)
  • Usando a declaração if…elif…else.
def calculate_field(<field>):
    if (len(<field>) == <characters>):
        return ("<value>" + <field>)
    elif (len(<field>) == <characters>):
        return ("<value>" + <field>)
    else:
        return (<field>)
Note:
The if…elif..else statement is used to include more than a single number of characters from the input field to be counted.

O bloco de código abaixo mostra a expressão de trabalho completa usando a declaração if... else.

def calculate_field(cat):
    if (len(cat) == 3):
        return ("A" + cat)
    else:
        return (cat)

O bloco de código abaixo mostra a expressão de trabalho completa usando o if... Elif... else.

def calculate_field(cat):
    if (len(cat) == 3):
        return ("A" + cat)
    elif (len(cat) == 2):
        return ("AA" + cat)
    else:
        return (cat)
Configurando os parâmetros na janela Calcular campo
  1. Clique em OK.

A imagem abaixo mostra o campo 'Code' preenchido com os caracteres adicionais 'A' ou 'AA' se os valores do campo 'Category' tiverem três ou dois caracteres em vez de quatro.

O novo campo preenchido com valores baseados no número de caracteres em outro campo

ID do Artigo: 000032254

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