Instrução

Calcular a porcentagem de um valor de campo de um campo especificado no ArcGIS Pro

Last Published: March 3, 2023

Resumo

No ArcGIS Pro, as expressões Python podem ser utilizadas para calcular a porcentagem de um valor de campo de um campo especificado.Este artigo fornece um exemplo e instruções utilizando expressões Python para calcular a porcentagem da população para cada distrito em Hong Kong e criar um novo campo no ArcGIS Pro.

A imagem abaixo mostra a tabela de atributos PopDis2021 da população para cada distrito em Hong Kong.

A tabela de atributos PopDist2021

Procedimento

  1. No painel Conteúdo, clique com o botão direito na classe de feição e clique em Tabela de Atributos para abrir a tabela de atributos da classe de feição.
Abrindo a tabela de atributos da classe de feição no painel Conteúdo
  1. Clique em Calcular para abrir a ferramenta Calcular Campo.
Note:
Refer to ArcGIS Pro: Calculate Field (Data Management) for more information on the parameters in the Calculate Field tool.
  1. Na caixa de diálogo Calcular Campo, configure os seguintes parâmetros:
    1. Para Tabela de Entrada, selecione a classe de feição.
    2. Para Nome do campo (existente ou novo), selecione o campo a ser editado ou crie um novo campo. Neste exemplo, o campo 'Porcentagem' é criado.
    3. Em Tipo de campo, selecione um tipo de campo inteiro. Neste exemplo, 'Duplo (ponto flutuante de 64 bits)' é selecionado.
    4. Para Tipo de Expressão, selecione Python 3.
    5. Especifique a expressão a seguir no primeiro bloco de código. Neste exemplo, '<fieldName1>' é nomeado como Number_of_Persons.
update(!<fieldName1>!)
  1. Especifique a seguinte expressão Python no Bloco de Código:
    1. Defina o método update(). Neste exemplo, '<varName>' é nomeado como numbPersons.
def update(<varName>):
Note:
The following procedure must all be within the same indented code block. Refer to the full script sample for clarification.
  1. Importe o módulo ArcPy e crie um parâmetro de matriz vazio.
     import arcpy    
     list = []
  1. Crie um loop para executar a função SearchCursor() para inserir todos os campos no parâmetro de matriz na Etapa 3(f)(ii).
    with arcpy.da.SearchCursor(r"<featureClassPath>", ["<fieldName1>"]) as cursor:
        for row in cursor:
            list.append(row[0])
  1. Calcule a soma do valor. Neste exemplo, '<varName1>' é nomeado como S.
    <varName1> = sum(list)
  1. Especifique a instrução a seguir para retornar a porcentagem do valor do campo.
    return <varname> / <varname1> * 100

O bloco de código abaixo é um exemplo da expressão completa.

def update(numbPersons):
    import arcpy
    list = []
    with arcpy.da.SearchCursor(r"C:\Users\ISC-Testing\Documents\29398 calculate percentage\29398 calculate percentage.gdb\PopDist2021", ["Number_of_Persons"]) as cursor:
        for row in cursor:
            list.append(row[0])
    S = sum(list)
    return numbPersons / S * 100
  1. Clique em Verificar para executar um teste da expressão. Se a expressão for válida, clique em OK.
O painel da ferramenta Calcular Campo com os parâmetros a serem preenchidos

A imagem abaixo mostra o campo 'Porcentagem' adicionado à tabela de atributos 'PopDist2021'.

A tabela de atributos PopDist2021 com o campo Porcentagem adicionado

ID do Artigo: 000029398

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