Mit dem Oktober-Update von ArcGIS Online wurde auch ArcGIS Arcade Version 1.8 veröffentlicht. In diesem Beitrag geht es um die neuen Funktionen FeatureSetByRelationshipName, Portal und GroupBy sowie um die aktualisierte FeatureSetByPortalItem–Funktion.
Die folgenden Beispiele basieren auf ArcGIS Arcade Version 1.8. Diese Version ist in ArcGIS Online bereits verfügbar und kommt in ArcGIS Enterprise mit dem neuen Release 10.8 Ende Januar 2020.
FeatureSetByPortalItem und Portal – Funktionen
Die neue Funktion „FeatureSetByPortalItem“ bietet rein funktional die gleichen Möglichkeiten wie die schon länger vorhandene Funktion „FeatureSetByName“ (Siehe Blogartikel: „Verwendung von Feature Sets mit Arcade in ArcGIS Online“). Der große Unterschied besteht darin, dass der abgefragte Layer nicht mehr in die Karte geladen werden muss. Der Layer wird stattdessen direkt über die Item-ID abgerufen.
Im folgenden Beispiel wird die Anzahl der Bäume im Bezirk mit Arcade berechnet. Folgende Abfragen sind dazu notwendig:
- Verbindungsaufbau zum Portal bzw. zu ArcGIS Online
var portal = Portal(“https://www.arcgis.com”)
- Baumlayer über die ID des Items laden
var baum = FeatureSetByPortalItem(portal,”7c42c5e232384ec18e4ff2457247a3ee”, 0)
- Überschneidung mit „Intersects“
var intersectArea = Intersects(baum,$feature)
- Zählen mit “Count”
Count (intersectArea)
Somit lässt sich der Bezirk-Layer nach der Baumanzahl abfragen, ohne den Baum-Layer in die Karte laden zu müssen.

Dieses Beispiel können Sie sich in dieser Demomap im neuen Map Viewer Beta ansehen.
FeatureSetByRelationshipName und GroupBy – Funktionen
Die „FeatureSetByRelationshipName“–Funktion liefert die zugehörigen Datensätze für ein bestimmtes Feature, die „GroupBy“–Funktionen liefern Statistiken für eine Reihe von gruppierten oder unterschiedlichen Werten.
Im folgenden Beispiel wurde eine Beziehungsklasse zwischen Flächen und Messpunkten in einer Tabelle veröffentlicht.

Es soll nun ein Flächenlayer Pop Up erstellt werden, das die Anzahl und verschiedene Statistiken der zugehörigen Messpunkte anzeigt. Folgende Abfragen sind dazu notwendig:
- Verbindung der Beziehungsklasse über den Beziehungsklassennamen „flaeche_tabelle“
var samples = FeatureSetByRelationshipName($feature,”flaeche_tabelle”)
- Erstellen der Statistiken (Anzahl, Durchschnitt, Maximalwert) über einen gruppierten Wert („STN_ID“ als Verbindungsfeld)
var sampleStats = GroupBy(samples, [‘STN_ID’],
[ { name: ‘avgMeasure’, expression: ‘Werte’, statistic: ‘AVG’ },
{ name: ‘maxMeasure’, expression: ‘Werte’, statistic: ‘MAX’},
{ name: ‘cntMeasure’, expression: ‘Werte’, statistic: ‘COUNT’ }])
- Ausgabetext erstellen mit einer Überprüfung, ob die Fläche die zugehörigen Messwerte besitzt.
if (Count(sampleStats) > 0) {
var sampleStatsFeature = First(sampleStats)
return ‘Die Fläche hat ‘
+ sampleStatsFeature.cntMeasure +
” Messungen. Der Durchschnitt der Messungen beträgt ” +
Round(sampleStatsFeature.avgMeasure,1) + “und der größte Wert ist” +
Round(sampleStatsFeature.maxMeasure,1)
} else {
return “Keine Messwerte vorhanden”}
Das Ergebnis zeigt die folgende Abbildung:

Dieses Beispiel können Sie sich in dieser Demomap im neuen Map Viewer Beta ansehen.