Escribí la expresión de etiquetado de abajo para comprobar la longitud de la tubería y la forma de la sección transversal, y determinar si se genera una etiqueta para una tubería y cómo se genera. Funciona perfectamente en ArcGIS Pro y, cuando pego la expresión en ArcGIS Online, el código se valida y devuelve una cadena de prueba, tal como se esperaba (para ambas funciones de etiquetado de la expresión).
Sin embargo, no se muestran etiquetas en el mapa. Tengo una función similar (y más sencilla) que funciona perfectamente.
function ChooseLabelFormat(ML,PL,Sec){
//Llama a la función de etiquetado según la forma de la tubería
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){
//Devuelve el diámetro y/o el material, excepto los valores -999 y Unk
return When(
Dia !=-999 && Mat != "Unk", Dia + "'' " + Mat,
Dia !=-999 && Mat == "Unk", Dia + "''",
Dia ==-999 && Mat != "Unk", Mat,
"")
};
function GetMainLabelNC(Mat,BH,BW){
//Devuelve la altura x el ancho y/o el material, excepto los valores -999 y Unk
return When(
BH !=-999 && Mat != "Unk", BH + "'' x " + BW + "'' " + Mat,
BH !=-999 && Mat == "Unk", BH + "'' x " + BW + "'' ",
BH ==-999 && Mat != "Unk", Mat,
"")
};
//Define las variables y llama a la función para etiquetar
var Section = DomainName($feature, 'CrossSectionShape');
// Establece MinLabel como la longitud mínima del elemento que se etiquetará:
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>