From a layer of points 'POINTS_LAYER', I create the concave_hull using the following expression:
smooth(simplify(buffer(concave_hull(
collect(
$geometry,
group_by:=overlay_nearest(@layer, "class"))
,0.0),0.75),2.0),5)
I add the screenshot with the result:
I am labeling the perimeter with this expression:
format_number(round(perimeter(smooth(simplify(buffer(concave_hull(
collect(
$geometry,
group_by:=overlay_nearest(@layer, "class"))
,0.0),0.75),2.0),5)),1)) || ' m'
I would like to label with a dynamic expression the calculated perimeter in percentage relative to the perimeter of the aggregated polygonal layer 'POLY_LAYER'. For example, if the layer 'POLY_LAYER' has a perimeter of 346.000 m, and the concave_hull created has a perimeter of 104.948 m, I would like to label the calculated percentage that represents the perimeter of the concave_hull with regards to the polygonal layer (30.06%) as you can see in this simulation: