23 votos

Renderizador de clusters de puntos de QGIS 3.0, ¿es posible controlar el orden de renderizado (orden z)?

He estado jugando con el nuevo renderizador de clústeres de puntos en QGIS 3.0.2 y es genial - mucho más fácil (y rápido) que tener que hacer la agrupación uno mismo.

Para mostrar lo que quiero decir, he aquí un ejemplo de accidentes de tráfico en Edimburgo utilizando datos de STATS19 y un radio de 30 m.

enter image description here

No sé cómo configurar el orden z para que los grupos más grandes se dibujen delante de los más pequeños.

Soy consciente de la @tamaño_cluster es lo que utilizo para escalar y colorear los símbolos. Para ello estoy utilizando los asistentes de tamaño y color. He eliminado los marcadores de fuente para eliminar el texto de cada grupo.

El tamaño de los marcadores se define del siguiente modo:-

coalesce(scale_exp(@cluster_size, 0, 50, 1, 200, 0.57), 0)

El color de los marcadores se define del siguiente modo:-.

coalesce(ramp_color('custom ramp',scale_linear( @cluster_size, 0, 50, 0, 1), '#000000')

Lo que he probado hasta ahora:-

  • Niveles de símbolos - No ha habido suerte; no se ha podido seleccionar un nombre de variable.
  • Renderizado de capas > Controlar el orden de renderizado de las características y elija @tamaño_cluster como clase. No parece tener efecto.
  • Estilo graduado mediante @tamaño_cluster ya que la expresión no funciona.

¿Alguien sabe si esto es posible, o es una limitación de este renderizador en particular?

Sé que hay muchas otras formas de hacerlo (buffer/spatial join, plugins), pero el nuevo renderizador debería ser mucho más rápido. ¿O he pasado por alto algo obvio? :)

6voto

Christy James Puntos 123

Parece como si la implementación del cluster de puntos no permitiera esto de forma nativa.

Considere la renderizador de clústeres de puntos - esencialmente analiza y agrupa los datos puntuales en tiempo de renderizado, creando una nueva pseudocapa. El usuario no puede acceder a esta capa. No se puede consultar un punto agrupado. No se puede calcular un @tamaño_cluster atributo.

El renderizador de clusters de puntos hereda el orden de renderizado de la fuente utilizando Controlar el orden de representación de las características ( QgsFeatureRequest ::OrderByClause) dejando abierta la posibilidad de alguna solución inteligente utilizando atributos y expresiones, sin embargo no se garantiza que ciertos esquemas de ordenación sean consistentes.

Como ejemplo, considere una capa de puntos con renderizado ordenado ascendentemente por un atributo "Latitud". Los puntos más septentrionales se representan encima de los más meridionales. El renderizador de clústeres de puntos no tiene un atributo "Latitud" para sus nuevas características, aunque heredará cierta apariencia de ese orden de la fuente. Puede darse el caso de que un cluster más meridional se renderice encima de otro más septentrional, debido al orden de los puntos originales.

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