¿Cómo concatenar etiquetas en QGIS?

14

Estoy usando QGIS 1.8 en una máquina con Windows XP e intento hacer una concatenación de varios campos para etiquetar los nombres de mis carreteras locales en la tabla de atributos, pero no puedo encontrar la sintaxis correcta. El primer campo consiste en om la calle, el segundo tipo de enlace, por ejemplo: Avenida y la tercera orientación, por ejemplo, Este u Oeste. ¿Podría decirme cómo escribir la sintaxis correcta utilizando el cuadro de diálogo de etiquetas basado en una fórmula?   Adjunto una captura de pantalla que muestra la tabla de atributos.

    
pregunta Gabriel Giroux 12.07.2012 - 07:11

2 respuestas

19

El operador de concatenación es || (impd huh?), por lo que usarías algo como:

street || ', ' || link || ', ' || orientation

Insértelos con cualquier separador y cadena estática que te guste.

Como se anotó en @NathanW, esto fallará si alguno de los campos es NULL, pero en ese caso puede usar un valor de reserva:

street || ', ' || CASE WHEN ("link" IS NULL) THEN '(nodata)' ELSE "link" END || ', ' || orientation

QGIS admite una función auxiliar coalesce desde la versión 2.0. Está ahí para evitar los problemas de NULL y el ejemplo sería:

 street || ', ' || coalesce(link, '(nodata)') || ', ' || orientation
    
respondido por el lynxlynxlynx 12.07.2012 - 10:52
2

En QGIS veriosn 2.0.1, la expresión simple funcionó así:

"campo1" || '(' || "field2" || ')'

salida deseada: campo1 (campo2)

    
respondido por el Pavlarian 17.01.2014 - 10:51

Lea otras preguntas en las etiquetas