¿Cómo establecer la transparencia para varias capas o agregar una preferencia de transparencia global?

8

¿Cómo puedo configurar la transparencia al 27% para las 245 capas en QGIS? Lo único que sé es haciendo clic derecho en el nombre de la capa, seleccionando Propiedades, luego Transparencia y luego moviendo el control deslizante de transparencia hacia la izquierda o hacia la derecha.

una

Esto es bastante simple. Pero esto solo es bueno para hasta 10 capas tal vez. ¿Qué pasa si tienes 245 capas como yo? ¿Sigues repitiendo el proceso? ¿Ahora seguramente, debe haber una manera de aplicar esto a todas las 245 capas a la vez?

si

Alternativamente, ¿hay una configuración de preferencia de transparencia global que pueda agregar para que cuando agregue nuevas capas obtengan automáticamente un 27% de transparencia?

La documentación en línea de QGIS menciona algo sobre la exportación de su configuración de transparencia a un archivo para un uso posterior.

Como puede ver, esto es bastante fácil de configurar una transparencia personalizada, pero puede ser bastante trabajo. Por lo tanto, puede usar el botón Exportar a archivo para guardar su lista de transparencia en un archivo. El botón Importar desde archivo carga su configuración de transparencia y la aplica a la capa ráster actual.

Esto parece una característica útil. Pero no creo que esto sea lo que estoy buscando.

Intenté seleccionar varias capas en la tabla de contenido y luego haga clic derecho y seleccione Propiedades y establezca el nivel de transparencia, aplique los cambios y haga clic en Aceptar. Aplicó los cambios, pero solo a la última capa de la selección, en la que hice clic derecho. Ninguna de las otras capas de la selección se vio afectada. (Esto podría ser un error en realidad).

Samir
fuente

Respuestas:

8

Un pequeño script de Python como este lo haría

for layer in iface.legendInterface().layers():
   layer.renderer().setOpacity(0.2)

Simplemente copie y pegue eso en la consola de Python (que se muestra a través de Plugins-> Consola de Python) y presione enter dos veces. El script recorrerá todas las capas y establecerá su opacidad al 20%.

ndawson
fuente
¿Es posible hacer lo mismo cuando también tienes capas vectoriales? ¿Te gusta hacerlo solo para capas seleccionadas o para capas dentro de un mismo grupo?
Victor
parece que esto ya no funciona en 2.8.2, veo un renderizador V2 en los documentos en lugar del renderizador, pero no tiene el método setOpacity :(
chrismarx
Veo este ticket que sugeriría que los grupos de capas podrían hacer esto, pero tampoco veo cómo - trac.osgeo.org/qgis/ticket/557
chrismarx
Para GQIS3, reemplace la primera línea w: for layer in [layer for layer in QgsProject.instance().mapLayers().values()]:por esto: gis.stackexchange.com/questions/273576/…
andrew
4

Otra opción, que no requiere python, es simplemente editar su archivo de proyecto.

La transparencia de la capa ráster se establece con: opacidad rasterrenderer = "1"

Puede abrir su archivo de proyecto .qgs en un editor de texto y buscar y reemplazar: rasterrenderer opacity = "1" Con: rasterrenderer opacity = "0.73"

HeikkiVesanto
fuente
3

La forma más fácil de hacerlo es mediante el uso de estilos de capa. Simplemente configure la transparencia de una sola capa en 27% y copie / pegue el estilo en todas las demás capas. Puede pegar un estilo en varias capas a la vez.

Ver también:

http://hub.qgis.org/issues/14931

eclipsado_por_la_luna
fuente
no porque eso copiará sobre todo lo demás, incluida la simbología / colores / extensiones de vista.
Theo F
Respuesta subestimada! Funciona perfectamente cuando solo estamos trabajando en la transparencia
Eliasse