I'm trying to indicate a specific point to fixate 2 lines of a feature's labels. This points should by linked to the END of a guideline's position, who is rendered by the "Geometry Generator" in my shapefile.
I already have an example of what is expected as final result in QGIS. It's a dynamic block that I've elaborated several years ago to AutoCAD.
Currently what I´ve reached in QGIS, using a Multi-line label and a guideline:
So, the difference between the 2 examples above is on the 1st and the 4th line of QGIS's labels. As I've said, I want to put it always in the guideline's end point with the 4th line on the closest point and the 1st line after the 4th. The problem is: this place is exactly between the 2nd and 3rd line and if I use one more '\ n' (breakline) the final result is not that good.
I don't know if is that a way to "print" the labels in a specific coordinate using Geometry Generator's expression.
Anyone has another idea to do it with the final result similar to the AutoCAD's block ?
Here's the link with the shapefile and the ".qml" style that I'm using on the GIF's example: https://drive.google.com/open?id=12zYPu4aGMMCpXGpE3-mLIiT-q8WM4oae
Label's code:
"Nodo_tipo" || '\n' ||
'CT = ' || "CT_(N)" || '\n' ||
'CF = ' ||"CF_nodo" || '\n' ||
'h = ' ||"h_nodo_NT" || 'm'
And guideline's generator code:
CASE
WHEN @map_scale < 6000
THEN
If ($x < "LABEL_X",
make_line (
make_point( "LABEL_X" + (0.015 * @map_scale), "LABEL_Y" + (0.0065 *
@map_scale)),
make_point( "LABEL_X" - (0.0020 * @map_scale), "LABEL_Y" + (0.0065 *
@map_scale)),
make_point( x(centroid( $geometry )), y(centroid( $geometry )))
),
make_line (
make_point( "LABEL_X" - (0.0020 * @map_scale), "LABEL_Y" + (0.0065 *
@map_scale)),
make_point( "LABEL_X" + (0.015 * @map_scale), "LABEL_Y" + (0.0065 *
@map_scale)),
make_point( x(centroid( $geometry )), y(centroid( $geometry )))
)
)
END