renderizador de clúster de puntos QGIS 3.0, ¿es posible controlar el orden de representación (orden z)?

18

He estado jugando con el nuevo punto clúster en QGIS 3.0.2 y es genial, mucho más fácil (y más rápido) que tener que hacer el agrupamiento usted mismo.

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

  

No puedo averiguar cómo configurar el orden z para que los grupos más grandes se dibujen frente a grupos más pequeños.

Soy consciente de la variable @cluster_size : es lo que estoy usando para escalar y colorear los símbolos. Para esto estoy usando los asistentes de tamaño y color. Eliminé los marcadores de fuente para eliminar el texto de cada grupo.

El tamaño de los marcadores se define de la siguiente manera: -

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

El color de los marcadores se define de la siguiente manera: -

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

Lo que he intentado hasta ahora: -

  • Niveles de símbolo : no hay suerte; no se puede seleccionar un nombre de variable.
  • Representación de capa > Controle el orden de representación de la función y elija @cluster_size como orden. No parece tener un efecto.
  • Estilo graduado usando @cluster_size ya que la expresión no funciona.
  

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

Sé que hay muchas otras formas de hacer esto (búfer / unión espacial, complementos), pero el nuevo renderizador debería ser mucho más rápido. ¿O he pasado por alto algo obvio? :)

    
pregunta Steven Kay 10.05.2018 - 22:13

1 respuesta

1

Parece que la implementación del cluster de puntos no permite esto de forma nativa.

Considere el procesador de puntos del punto - esencialmente analiza y agrupa puntos de datos en el tiempo de procesamiento, creando una nueva pseudo capa. Esta capa no es accesible para el usuario. Uno no puede consultar un punto agrupado. No se puede calcular en el campo un atributo @cluster_size .

El procesador de puntos del punto hereda el orden de procesamiento de la fuente usando Orden de representación de la función de control ( QgsFeatureRequest :: OrderByClause) dejando abierta la posibilidad de alguna solución inteligente con atributos y expresiones, sin embargo, no se garantiza que ciertos esquemas de ordenación sean consistentes.

Como ejemplo, considere una capa de puntos con una representación ordenada ascendente por un atributo de "Latitud". Los puntos más al norte se representan sobre los puntos más al sur. El renderizador de clúster de puntos no tiene un atributo "Latitude" para sus nuevas funciones, aunque heredará cierta apariencia de ese orden de la fuente. Puede haber casos en que un clúster más al sur se muestre sobre un clúster más al norte, debido al orden de los puntos originales.

    
respondido por el CrystallineEntity 14.10.2018 - 19:13

Lea otras preguntas en las etiquetas