CÓMO

Calcular el porcentaje de un valor de campo de un campo especificado en ArcGIS Pro

Last Published: March 3, 2023

Resumen

En ArcGIS Pro, las expresiones de Python se pueden utilizar para calcular el porcentaje del valor de campo de un campo especificado.En este artículo se proporciona un ejemplo e instrucciones utilizando expresiones de Python para calcular el porcentaje de la población de cada distrito de Hong Kong y crear un nuevo campo en ArcGIS Pro.

La siguiente imagen muestra la tabla de atributos PopDis2021 de la población de cada distrito de Hong Kong.

Tabla de atributos PopDist2021

Procedimiento

  1. En el panel Contenido, haga clic con el botón derecho en la clase de entidad y haga clic en Tabla de atributos para abrir la tabla de atributos de la clase de entidad.
Abrir la tabla de atributos de la clase de entidad desde el panel Contenido
  1. Haga clic en Calcular para abrir la herramienta Calcular campo.
Note:
Refer to ArcGIS Pro: Calculate Field (Data Management) for more information on the parameters in the Calculate Field tool.
  1. En el cuadro de diálogo Calcular campo, configure los siguientes parámetros:
    1. En Tabla de entrada, seleccione la clase de entidad.
    2. En Nombre de campo (existente o nuevo), seleccione el campo que desea editar o cree uno nuevo. En este ejemplo, se crea el campo 'Porcentaje'.
    3. En Tipo de campo, seleccione un tipo de campo entero. En este ejemplo, se selecciona 'Doble (punto flotante de 64 bits)'.
    4. En Tipo de expresión, seleccione Python 3.
    5. Especifique la siguiente expresión en el primer bloque de código. En este ejemplo, '<fieldName1>' se denomina Number_of_Persons.
update(!<fieldName1>!)
  1. Especifique la siguiente expresión de Python en el bloque de código:
    1. Defina el método update(). En este ejemplo, '<varName>' se denomina 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 el módulo ArcPy y cree un parámetro de matriz vacío.
     import arcpy    
     list = []
  1. Cree un bucle para ejecutar la función SearchCursor() para insertar todos los campos en el parámetro de matriz en el paso 3(f)(ii).
    with arcpy.da.SearchCursor(r"<featureClassPath>", ["<fieldName1>"]) as cursor:
        for row in cursor:
            list.append(row[0])
  1. Calcule la suma del valor. En este ejemplo, '<varName1>' se denomina S.
    <varName1> = sum(list)
  1. Especifique la siguiente instrucción para devolver el porcentaje del valor del campo.
    return <varname> / <varname1> * 100

El siguiente bloque de código es un ejemplo de la expresión 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. Haga clic en Verificar para ejecutar una prueba de la expresión. Si la expresión es válida, haga clic en Aceptar.
El panel de la herramienta Calcular campo con los parámetros que se van a rellenar

La siguiente imagen muestra el campo 'Porcentaje' agregado a la tabla de atributos 'PopDist2021'.

Tabla de atributos PopDist2021 con el campo Porcentaje agregado

Id. de artículo: 000029398

Obtenga soporte con IA

Resuelva su problema rápidamente con el chatbot de inteligencia artificial de soporte de Esri.

Empieza a chatear ahora

Información relacionada

Descubrir más sobre este tema

Obtener ayuda de expertos en ArcGIS

Contactar con el soporte técnico

Empieza a chatear ahora

Ir a opciones de descarga