¿Es posible seleccionar solo una línea de contorno para el etiquetado?
Tengo numerosas etiquetas para cada línea y preferiré etiquetar solo las principales, como 1000 m
y1500 m
¿Es posible seleccionar solo una línea de contorno para el etiquetado?
Tengo numerosas etiquetas para cada línea y preferiré etiquetar solo las principales, como 1000 m
y1500 m
Respuestas:
En QGIS 2.6 (quizás también versiones anteriores, no lo sé) puede hacerlo en la sección Propiedades de la Labels
pestaña, pestaña, Rendering
sección. Alrededor de la mitad de la lista de opciones de representación hay un botón que le permitirá escribir una expresión que definirá la lista de características que en realidad se etiquetarán. Tu expresión sería algo así "Elevation" IN (1000, 1500)
. Aquí está el botón (en amarillo), tengo este conjunto para etiquetar solo los contornos con un valor de elevación de 32:
Un enfoque sería cargar la capa de contorno y peinarla. Luego cargue la misma capa nuevamente y aplique un filtro (haga clic con el botón derecho en la capa y baje a 'Filtro ...') Use una expresión de filtro similar a la que se muestra en la imagen. En mi caso, quería contornos mayores a intervalos verticales de 50 metros y el campo que contenía los valores de elevación se llamaba "prop_value".
Cuando se haya cargado la capa filtrada que muestra los contornos principales, aplique etiquetas de contorno y (si es necesario) fortalezca el estilo de línea como se muestra.
La expresión del filtro:
("prop_value" % 50) = 0
también seleccionará contornos a intervalos verticales de 50 metros. Funciona con bases de datos Spatialite, no estoy seguro acerca de los shapefiles.
Estoy usando este enfoque que hace que el etiquetado y la visualización de las curvas de nivel por condición sean bastante fáciles.
Utilizo las "Propiedades definidas por datos" del ancho del símbolo de línea y los colores de las curvas de nivel con una expresión (vea la captura de pantalla 1) mediante la cual puede aplicar diferentes anchos de línea según condiciones personalizadas y una expresión similar para el etiquetado (vea la captura de pantalla 2).
Simplemente ponga los valores necesarios a las expresiones y eso es todo.
Es decir, si desea ocultar líneas de contorno distintas de 500 m, puede usar esta expresión para las propiedades definidas por datos del símbolo de línea:
CASE WHEN Elevation / 500 - floor(Elevation / 500) = 0 then
color_rgba(255,255,255,100)
else
color_rgba(255,255,255,0)
end
es decir, para etiquetar solo intervalos de 500 m use esta expresión para:
CASE WHEN Elevation /500 - floor(Elevation / 500) = 0 THEN Elevation || ' m' END
es decir, para aplicar un ancho de línea diferente, use una expresión como esta para propiedades definidas por datos:
CASE WHEN Elevation / 100 - floor(Elevation / 100) = 0 THEN
0.25
WHEN Elevation / 50 - floor(Elevation / 50) = 0 THEN
0.15
ELSE
0.1
END