He estado jugando con el nuevo renderizador de clúster de puntos 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 utilizando datos 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 los 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 probado hasta ahora:
- Niveles de símbolo : sin suerte; incapaz de seleccionar un nombre de variable.
- Representación de capas> Orden de representación de características de control y elija @cluster_size como ordenar. 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? :)
fuente
Respuestas:
Parece que la implementación del clúster de puntos no permite esto de forma nativa.
Considere el procesador de grupos de puntos : esencialmente analiza y agrupa los datos de puntos en el momento del procesamiento, creando una nueva pseudocapa. Esta capa no es accesible para el usuario. No se puede consultar un punto agrupado. No se puede calcular en el campo un atributo @cluster_size .
El renderizador de clúster de puntos hereda el orden de representación de la fuente utilizando el orden de representación de la función Control ( QgsFeatureRequest :: OrderByClause) dejando abierta la posibilidad de una solución alternativa inteligente usando atributos y expresiones, sin embargo, no se garantiza que ciertos esquemas de ordenación sean consistentes.
Como ejemplo, considere una capa de puntos con representación ordenada ascendente por un atributo "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 "Latitud" para sus nuevas características, aunque heredará cierta apariencia de ese orden de la fuente. Puede haber casos en que un grupo más al sur se representa sobre un grupo más al norte, debido al orden de los puntos originales.
fuente