No estoy seguro de si esto es un duplicado, pero ¿puede echar un vistazo a gis.stackexchange.com/q/89501/1297 y gis.stackexchange.com/q/59778/1297 para ver si eso lo acerca a lo que está ¿buscando? Y luego creo que ayudaría a su pregunta si proporcionara algunos detalles sobre lo que intentó y tal vez dónde está yendo mal.
SaultDon
Respuestas:
13
En QGIS 2.6 (quizás también versiones anteriores, no lo sé) puede hacerlo en la sección Propiedades de la Labelspestaña, pestaña, Renderingsecció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
@catindri, ten cuidado de verificar una respuesta ...
Kay
3
Otra expresión conveniente es "ELEV" LIKE '%00'(paso 100m) o "ELEV" LIKE '%00' OR "ELEV" LIKE '%50'(paso 50m) o "ELEV" LIKE '%0'(paso 10m), etc., donde "ELEV" es mi campo de elevación de datos. La segunda opción solo funciona si 50 es un múltiplo de intervalo (10 mo 5 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:fuente
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:
también seleccionará contornos a intervalos verticales de 50 metros. Funciona con bases de datos Spatialite, no estoy seguro acerca de los shapefiles.
fuente
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:
es decir, para etiquetar solo intervalos de 500 m use esta expresión para:
es decir, para aplicar un ancho de línea diferente, use una expresión como esta para propiedades definidas por datos:
fuente
Otra expresión conveniente es
"ELEV" LIKE '%00'
(paso 100m) o"ELEV" LIKE '%00' OR "ELEV" LIKE '%50'
(paso 50m) o"ELEV" LIKE '%0'
(paso 10m), etc., donde "ELEV" es mi campo de elevación de datos. La segunda opción solo funciona si 50 es un múltiplo de intervalo (10 mo 5 m ...).fuente