HOW TO

Füllen eines Feature-Layer-Felds basierend auf Attributen eines anderen Feature-Layers mithilfe von Arcade in ArcGIS Online

Last Published: February 22, 2024

Beschreibung

In ArcGIS Online können Felder in einem Layer mithilfe eines Arcade-Ausdrucks mit Attributwerten aus einem anderen Feature-Layer gefüllt werden. Diese Methode ist nützlich, um die Datenintegrität zu verbessern und layer-übergreifende synchronisierte Analysen ermöglichen.

In diesem Artikel werden zwei Feature-Layer mit den Namen "Cities" und "ClimateData" verwendet. Der Feature-Layer "Cities" enthält zwei Felder mit den Namen "CityAddress" und "ClimateLocationID". Der Feature-Layer "ClimateData" enthält außerdem zwei Felder mit den Namen "ClimateAddress" und "LocationID". Wenn die Werte des Felds "CityAddress" mit denen des Felds "ClimateAddress" übereinstimmen, werden die "LocationID"-Werte automatisch in das Feld "ClimateLocationID" übernommen.

In den folgenden Abbildungen wird die Attributtabelle für die Feature-Layer "Cities" und "ClimateData" angezeigt.

Attributtabelle mit dem Feature-Layer "Cities"
Attributtabelle mit dem Feature-Layer "ClimateData"

Lösung oder Problemumgehung

  1. Klicken Sie in ArcGIS Online auf den gehosteten Feature-Layer. Klicken Sie auf der Elementdetailseite auf die Registerkarte Daten.
  2. Klicken Sie in der Sicht Tabelle mit der rechten Maustaste auf die Überschrift des Feldes, und wählen Sie Feld berechnen aus. In diesem Beispiel ist "ClimateLocationID" ausgewählt.
  3. Klicken Sie im Dialogfeld Feld berechnen auf Arcade.
  4. Geben Sie im Dialogfeld Arcade-Berechnung das Feld Ausdruck wie folgt an:
var <variable1> = FeatureSetByPortalItem(Portal('https://www.arcgis.com'), '<Item_ID>', <layer_index), ['*'], false);
  1. Ersetzen Sie "<variable1>" durch den gewünschten Variablennamen. In diesem Beispiel wird "climateDataLayer" verwendet.
  2. Ersetzen Sie "<Item_ID>" durch die Element-ID des gehosteten Layers.
  3. Ersetzen Sie "<layer_index>" durch den Wert 0 oder 1. Der erste Layer hat den Index 0, während der zweite den Index 1 hat. In diesem Beispiel wird 0 verwendet, da der erste Layer gefüllt werden soll.
var <variable2> = $feature['<field_name1>']; 

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

null
  1. Ersetzen Sie "<variable2>", "<variable3>" und "<variable4>" durch den gewünschten Variablennamen. In diesem Beispiel werden "cityAddress", "climateFeature" und "climateAddress" verwendet.
  2. Ersetzen Sie "<field_name1>" durch den Feldnamen aus dem ersten Feature-Layer. In diesem Beispiel wird "CityAddress" verwendet.
  3. Ersetzen Sie "<field_name2>" durch den Feldnamen aus dem zweiten Feature-Layer. In diesem Beispiel wird "ClimateAddress" verwendet.
  4. Ersetzen Sie "<field_name3>" durch den Feldnamen aus dem zweiten Feature-Layer, um die Feldwerte abzurufen. In diesem Beispiel wird "LocationID" verwendet.

Im Folgenden finden Sie den voll funktionsfähigen Code des Arcade-Ausdrucks.

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. Klicken Sie auf Test, um den Ausdruck zu prüfen, und klicken Sie auf OK, um die Abfrage anzuwenden.
Konfiguration des Arcade-Ausdrucks

In der folgenden Attributtabelle wird das Feld "ClimateLocationID" des Feature-Layers "Cities" mit Werten aus dem Feld "LocationID" des Feature-Layers "ClimateData" angezeigt, wenn die Werte des Feldes "CityAddress" mit "ClimateAddress" übereinstimmen.

Feld "ClimateLocationID", das mit den Werten aus dem Feld "LocationID" gefüllt ist

Artikel-ID: 000031934

Holen Sie sich Unterstützung mit KI

Lösen Sie Ihr Problem schnell mit dem Esri Support AI Chatbot.

Beginnen Sie jetzt mit dem Chatten

Zugehörige Informationen

Weitere Informationen zu diesem Thema erkunden

Unterstützung durch ArcGIS-Experten anfordern

An den technischen Support wenden

Beginnen Sie jetzt mit dem Chatten

Zu Download-Optionen wechseln