Ich habe den folgenden Label-Ausdruck geschrieben, um anhand der Rohrlänge und der Querschnittsform zu bestimmen, ob und wie ein Rohr beschriftet wird. In ArcGIS Pro funktioniert er einwandfrei. Wenn ich den Ausdruck in ArcGIS Online einfüge, wird der Code als gültig bestätigt und gibt wie erwartet eine Testzeichenfolge zurück (für beide Label-Funktionen im Ausdruck).
Auf der Karte werden jedoch keine Labels angezeigt. Eine ähnliche (und einfachere) Funktion von mir funktioniert problemlos.
function ChooseLabelFormat(ML,PL,Sec){
//Ruft die Label-Funktion abhängig von der Rohrform auf
return When(
PL >= ML && Sec == 'Circular', GetMainLabel ($feature.NominalDiameter,$feature.Material),
PL >= ML && Sec != 'Circular', GetMainLabelNC ($feature.Material,$feature.BoxHeight,$feature.BoxWidth),
"")
};
function GetMainLabel(Dia,Mat){
//Gibt Durchmesser und/oder Material zurück, außer bei den Werten -999 und Unk
return When(
Dia !=-999 && Mat != "Unk", Dia + "'' " + Mat,
Dia !=-999 && Mat == "Unk", Dia + "''",
Dia ==-999 && Mat != "Unk", Mat,
"")
};
function GetMainLabelNC(Mat,BH,BW){
//Gibt Höhe x Breite und/oder Material zurück, außer bei den Werten -999 und Unk
return When(
BH !=-999 && Mat != "Unk", BH + "'' x " + BW + "'' " + Mat,
BH !=-999 && Mat == "Unk", BH + "'' x " + BW + "'' ",
BH ==-999 && Mat != "Unk", Mat,
"")
};
//Variablen festlegen und die Funktion zur Beschriftung aufrufen
var Section = DomainName($feature, 'CrossSectionShape');
// MinLabel-Wert als Mindestlänge des Features festlegen, ab der es beschriftet wird:
var MinLabel = 50;
var PipeLen = $feature.SHAPE__Length; //var PipeLen = Length(Geometry($feature), 'feet')
return ChooseLabelFormat(MinLabel,PipeLen,Section);<SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>