5 votos

¿Etiquetar usando 'wordwrap' y 'wrap on character' con múltiples campos en QGIS?

Tengo un problema con el etiquetado de campos múltiples tanto con la función 'wordwrap' como con el modo 'wrap on character'. De hecho necesitaría utilizar el modo multilínea sólo en el segundo de los dos campos (configurando el wrap_lenght para optimizar el número de líneas) pero no lo he conseguido de ninguna manera.

enter image description here

enter image description here

en la primera imagen, a la izquierda el formato correcto, a la derecha el formato que me gustaría corregir pero evitando demasiadas líneas como a la derecha en la segunda imagen. El "número" es el primer campo mientras que el "nombre" es el segundo.

He intentado resolver el problema utilizando la expresión

"FIELD_1" || '' || wordwrap ("FIELD_2", 12)

sin cambios de formato, y también utilizando un etiquetado basado en reglas con:

"FIELD_1" || ''
'' || wordwrap ("FIELD_2", 12)

pero perdiendo completamente el formato.

¿Es posible resolver este problema?

7voto

Sushant23 Puntos 329

Puede aplicar una condición para tener un mayor control sobre las etiquetas si la longitud del texto excede cierto número de caracteres como sigue:

 case
 when  length("Field_2") < 6 then "Field_1"  || '\n' || wordwrap("Field_2",6)
 when length("Field_2") >= 6 then "Field_1"  || '\n' || wordwrap("Field_2",12)
 end

Los números 6 y 10 son sólo un ejemplo, tienes que ajustarlos en función de tus necesidades.

El resultado debería ser el siguiente:

enter image description here

En los ejemplos anteriores, la longitud del condado de Smith y del condado de Bob son diferentes, pero se apilan en dos líneas basadas en las condiciones anteriores.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X