Estoy tratando de obtener el mismo estilo de etiqueta que la Orientación de colocación perpendicular de ArcGIS en QGIS. Como QGIS no tiene esta característica por defecto, la opción sería usar una ubicación personalizada para esto.
Un ejemplo de ArcGIS:
Una solución alternativa en QGIS
Configuraciones:
Coordenada X definida por datos (etiqueta en el medio de la línea):
$x_at( num_points( $geometry)/2)
Datos definidos coordinan Y (igual que la ubicación de X):
$y_at( num_points( $geometry)/2)
Rotación definida por datos:
angle_at_vertex( $geometry , num_points( $geometry)/2)
Solo para 2/3 etiquetas, la ubicación es aceptable. Para líneas con muchos saltos con diferentes ángulos, es más difícil obtener una buena etiqueta.
ArcGIS parece buscar el segmento de línea con menos saltos o un segmento recto. ¿Hay alguna manera de obtener coordenadas o geometría del segmento de línea más recto utilizando el generador de expresiones para una mejor colocación de etiquetas?
line_interpolate_angle($geometry, some lenght)
y tomar variosangle_at_vertex( $geometry , num_points( $geometry))
. Un bucle sobre esta función podría ser un enfoque, pero no puedo hacerlo directamente en el generador de ExpresionRespuestas:
Solución real
Supongamos este tipo de geometrías:
Traté de encontrar una buena ubicación. También estoy trabajando con atlas, por lo que utilicé una distancia del 3% de la función de atlas desde la parte media de la línea de interpolación por vértices de la entidad para colocar etiquetas:
Algo como esto:
Y creo una flecha desde el vértice medio de la entidad hasta la etiqueta:
Configuraciones:
Flecha:
Generador de geometría
Etiqueta
Los datos definen X
Los datos definen Y
Tal vez esto podría ser útil para alguien.
Si hay un mejor enfoque, me alegro de recibirlo.
fuente