Hallo,
Ich arbeite in AGOL an einer Webkarte für den Büroplan im Innenbereich. Ich habe Schwierigkeiten damit, benutzerdefinierte Ausdrücke mit Arcade zu schreiben, um die Raumtypen (Büroräume) anhand eines anderen Attributnamens zu beschriften. Ich habe also zwei Attribute: Das eine heißt Room_type und hat mindestens zehn verschiedene Werte, das andere heißt Name und enthält die Beschriftungen, die ich für die verschiedenen Raumtypen benötige.
Ich möchte also nur die Raumtypen beschriften, die dem Typ „Meeting“ entsprechen. Die Beschriftungen sollen aus dem Attribut „Name“ stammen, da es die Bezeichnungen der einzelnen „Meeting“-Raumtypen enthält.
Ich habe es mit den folgenden Ausdrücken versucht, aber sie geben bei mir nur Null-Werte zurück:
a)
var room_type = $feature["Room_type"]
var meetlabel = $feature.Name
If (room_type == 'Meeting') {
return meetlabel;
} else {
return 'None';
}
b)
iif ($feature["Room_type"] == 'Meeting', $feature.Name, 'None')
c)
If ($feature["Room_type"] == 'Meeting') {
return $feature.Name;
} else {
return 'None';
}
d) When( $feature["Room_type"] == 'Meeting', $feature.Name, 'None')
e) Decode( $feature["Room_type"], 'Meeting', $feature.Name, 'None')
Bisher habe ich überlegt, für jeden Gebäudestockwerk ein neues Feld zu berechnen, das die benötigten Beschriftungen enthält, und dafür den Feldrechner in ArcMap zu verwenden. Hoffentlich lässt sich das aber mit Arcade lösen, denn dadurch würde sich mein Arbeitsaufwand definitiv verringern!
Vielen Dank im Voraus für jeden Tipp!
Viele Grüße,
Aurelija