CÓMO

Rellenar un campo de capa de entidades en función de los atributos de otro mediante Arcade en ArcGIS Online

Last Published: February 22, 2024

Descripción

En ArcGIS Online, los campos de una capa se pueden rellenar con valores de atributo de otra capa de entidades utilizando una expresión de Arcade. Este método es útil para mejorar la integridad de los datos y permitir el análisis sincronizado entre capas.

En este artículo, se utilizan dos capas de entidades denominadas Cities y ClimateData. La capa de entidades Cities contiene dos campos denominados CityAddress y ClimateLocationID. La capa de entidades ClimateData también contiene dos campos denominados ClimateAddress y LocationID. Cuando los valores del campo CityAddress coinciden con los de ClimateAddress, los valores de LocationID se rellenan automáticamente en el campo ClimateLocationID.

Las siguientes imágenes muestran la tabla de atributos de las capas de entidades Cities y ClimateData.

Tabla de atributos que muestra la capa de entidades Cities
Tabla de atributos que muestra la capa de entidades ClimateData

Solución o solución alternativa

  1. En ArcGIS Online, haga clic en la capa de entidades alojada. En la página de detalles del elemento, haga clic en la pestaña Datos.
  2. En la vista de Tabla, haga clic en el encabezado del campo y seleccione Calcular. En este ejemplo, se selecciona ClimateLocationID.
  3. En el cuadro de diálogo Calcular campo, haga clic en Arcade.
  4. En el cuadro de diálogo Calculadora de Arcade, especifique el campo Expresión de la siguiente manera:
var <variable1> = FeatureSetByPortalItem(Portal('https://www.arcgis.com'), '<Item_ID>', <layer_index), ['*'], false);
  1. Reemplace <variable1> por el nombre de variable deseado. En este ejemplo, se utiliza climateDataLayer.
  2. Reemplace <Item_ID> por el Id. de elemento de la capa alojada.
  3. Reemplace <layer_index> por el valor 0 o 1. La primera capa tiene un índice de 0, mientras que la segunda capa tiene un índice de 1. En este ejemplo, se utiliza 0 ya que se va a rellenar la primera capa.
var <variable2> = $feature['<field_name1>']; 

for (var<variable3> in <variable1> ) {
 var <variable4> = climateFeature['<field_name2>'];
 
    if <variable2> == <variable4>) {
        return <varibale3>['<field_name3>'];
    }
}

null
  1. Reemplace <variable2>, <variable3> y <variable 4> por el nombre de variable deseado. En este ejemplo, se utilizan cityAddress, climateFeature y climate Address.
  2. Reemplace <field_name1> por el nombre de campo de la primera capa de entidades. En este ejemplo, se utiliza CityAddress.
  3. Reemplace <field_name2> por el nombre de campo de la segunda capa de entidades. En este ejemplo, se utiliza ClimateAddress.
  4. Reemplace <field_name3> por el nombre de campo de la segunda capa de entidades para extraer los valores de campo. En este ejemplo, se utiliza LocationID.

A continuación se muestra el código de trabajo completo de la expresión de Arcade.

var climateDataLayer = FeatureSetByPortalItem(Portal('https://www.arcgis.com'), 'fd3161f30d6f47aba8b58f6fcb5ed488', 0, ['*'], false);

var cityAddress = $feature['CityAddress']; 

for (var climateFeature in climateDataLayer) {
    var climateAddress = climateFeature['ClimateAddress'];

    if (cityAddress == climateAddress) {
        return climateFeature['LocationID']; 
    }
}

null
  1. Haga clic en Probar para comprobar la expresión y haga clic en Aceptar para aplicar la consulta.
Configuración de la expresión de Arcade.jpg

La siguiente tabla de atributos muestra el campo ClimateLocationID de la capa de entidades Cities rellenado con valores del campo LocationID de la capa de entidades ClimateData cuando los valores del campo CityAddress coinciden con ClimateAddress.

Campo ClimateLocationID rellenado por los valores del campo LocationID.png

Id. de artículo: 000031934

Obtenga soporte con IA

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

Empieza a chatear ahora

Obtener ayuda de expertos en ArcGIS

Contactar con el soporte técnico

Empieza a chatear ahora

Ir a opciones de descarga