17 votos

Cómo estilizar puntos en QGIS basándose en múltiples atributos

Mientras intentaba encontrar una forma útil de visualizar los terremotos, me di cuenta de que no es tan fácil de manejar.

Me gustaría poder reconocer la "Magnitud", "Fecha" y "Profundidad" del estilo del punto. Algo así como:

  • tamaño: en función de la magnitud
  • profundidad: color básico (por ejemplo, <15 rojo, 15-30 amarillo, >30 azul)
  • fecha: intensidad del color como sombreado del 100% del color al blanco/...

¿Hay alguna manera de hacerlo sin definir decenas de reglas?

16voto

Rihan Meij Puntos 362

¿Por qué no utilizar el etiquetado basado en reglas? Podría facilitar mucho la tarea si utiliza categorías para múltiples gradientes basados en sus datos de atributos. Desde mi punto de vista, el uso de categorías en el etiquetado basado en reglas es una de las mayores ventajas de QGIS.

Para sus datos (sin conocer la estructura) recomendaría el siguiente flujo de trabajo:

  • Haga un gradiente simple basado en reglas para su fecha -valores a través del estilizador de puntos categorizados o graduados (estilo blanco o grisáceo).
  • Ajuste el tamaño de los puntos haciendo clic en "avanzado" y "campo de escala de tamaño". Aquí seleccione el magnitud de sus puntos. Guarde el estilo resultante como estilo SLD.
  • Vaya al etiquetado basado en reglas, cargue jn su SLD y añada para cada punto de datos por clic derecho una categoría (o rango) con el gradiente de color que le guste para su profundidad y aplicarlo a cada conjunto de reglas.

Así (también se podría hacer una categoría sobre reglas en una categoría ;-) ): enter image description here

  • Después no te olvides de ajustar el orden de renderizado y tal vez de controlar los tamaños de los puntos.

Entiendo que esta solución depende de un cierto esfuerzo (clics de ratón) en su sitio, pero al final un hermoso mapa siempre vale la pena el esfuerzo.

6voto

sherpas Puntos 116

La otra opción es utilizar un asistente de tamaño que esté disponible para cada estilo de capa de datos. Digamos que usted categorizó sus datos de puntos basados en el color utilizando un determinado atributo. Simplemente haga clic con el botón derecho en cada categoría y seleccione Cambiar tamaño. Debería mostrar un cuadro de diálogo de tamaño. A continuación, haga clic en el filtro de expresión y luego seleccione Asistente de tamaño.

enter image description here

El cuadro de diálogo del asistente de tamaño tiene la opción de elegir la columna por la que se va a dimensionar. También puede elegir el método de escala por el que desea escalar sus símbolos y luego proporcionar el rango de tamaños y el rango correspondiente de sus valores de datos. enter image description here Tenga en cuenta que tendrá que hacer esto para cada categoría de sus datos.

4voto

tobes Puntos 19

Actualizado para QGIS 2.8

Asumiendo datos como estos:

id | magnitude | date | depth
 1 |     4     | 1912 |  100
 2 |     3     | 1932 |   85

Utilizando el estilo definido por los datos, establezca el tamaño que será controlado por el campo de la magnitud.

Para el color, que se define por la fecha y la profundidad, puede utilizar la siguiente expresión

CASE 
  WHEN depth < 15 
       THEN color_hsl(1, 100, scale_linear(date, 1900, 2015, 100, 50)
  WHEN depth >= 15 AND depth < 30 
       THEN color_hsl(60, 100, scale_linear(date, 1900, 2015, 100, 50)
  WHEN depth >= 30 
       THEN color_hsl(240, 100, scale_linear(date, 1900, 2015, 100, 50)
END

Los puntos "antiguos" de 1900 serán blancos hsl(x,x,100) mientras que los nuevos son más coloridos hasta hsl(x,x,50).

3voto

Raoul Puntos 1113

Aquí tenemos un tutorial para estilizar usando 2 atributos, usando los propios datos del terremoto.

http://qgis.spatialthoughts.com/2012/02/styling-vector-data-in-qgis-using-size.html

5 votos

Por favor, resuma el concepto principal aquí, de lo contrario esta respuesta podría resultar inútil cuando se rompan los enlaces.

0voto

Dan Garthwaite Puntos 101

@spatialthoughts dirige un sitio de tutoriales muy agradable para qgis. Él ha cambiado la dirección desde que publicó originalmente hace muchos años, y una respuesta a esta pregunta se puede encontrar ahora en http://www.qgistutorials.com/en/docs/3/basic_vector_styling.html . Señala la misma solución que @sherpas aquí.

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