Ik heb de onderstaande label-expressie geschreven om de leidinglengte en de vorm van de doorsnede te controleren en te bepalen of en hoe er een label voor een leiding wordt weergegeven. In ArcGIS Pro werkt de expressie prima. Wanneer ik de expressie in ArcGIS Online plak, wordt de code gevalideerd en wordt, zoals verwacht, een teststring weergegeven (voor beide labelfuncties in de expressie).
Er worden echter geen labels op de kaart weergegeven. Ik heb een vergelijkbare (en eenvoudigere) functie die prima werkt.
function ChooseLabelFormat(ML,PL,Sec){
//Roept de labelfunctie aan op basis van de leidingvorm
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){
//Geeft de diameter en/of het materiaal terug, met uitzondering van de waarden -999 en Unk
return When(
Dia !=-999 && Mat != "Unk", Dia + "'' " + Mat,
Dia !=-999 && Mat == "Unk", Dia + "''",
Dia ==-999 && Mat != "Unk", Mat,
"")
};
function GetMainLabelNC(Mat,BH,BW){
//Geeft de hoogte x breedte en/of het materiaal terug, met uitzondering van de waarden -999 en Unk
return When(
BH !=-999 && Mat != "Unk", BH + "'' x " + BW + "'' " + Mat,
BH !=-999 && Mat == "Unk", BH + "'' x " + BW + "'' ",
BH ==-999 && Mat != "Unk", Mat,
"")
};
//Stelt variabelen in en roept de functie aan om labels weer te geven
var Section = DomainName($feature, 'CrossSectionShape');
// Stel MinLabel in op de minimale objectlengte waarvoor een label wordt weergegeven:
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>