Tengo una capa con muchos edificios como puntos en un mapa. Uno de los atributos de cada edificio es "download_speed"
.
Quiero poner una cuadrícula cuadrada (100 x 100 metros) en la parte superior del mapa. Los cuadrados deben comportarse de la siguiente manera:
El cuadrado solo debe ser visible si hay al menos un edificio en el cuadrado.
El cuadrado debe ser rojo si ninguno de los edificios del cuadrado tiene un valor
"download_speed"
superior a 10 (Mbit / s).El cuadrado debe ser gris si algunos de los edificios en el cuadrado tienen un valor
"download_speed"
superior a 10 (Mbit / s)El cuadrado debe ser negro si todos los edificios del cuadrado tienen un valor
"download_speed"
superior a 10 (Mbit / s)
Soy un novato en QGIS (y software GIS en general), pero un usuario experimentado de Python en ciencia de datos.
El resultado final debería parecerse a la imagen de abajo:
fuente
Respuestas:
Hace algún tiempo escribí una publicación para crear una cuadrícula de polígonos vectoriales:
Cómo generar una grilla vectorial de polígonos en QGIS usando Python
lo que me inspiró para proponer una solución.
Mi enfoque recurre a un script personalizado de Processing Toolbox (consulte la publicación anterior si no sabe cómo hacerlo).
Como parámetros de entrada, requiere:
Suponiendo que las velocidades de descarga se almacenan en el
"download_speed"
campo, puede usar este código:Como usuario experimentado de Python, debe poder comprender fácilmente el código anterior y adaptarlo a sus necesidades específicas (de lo contrario, avíseme si necesita alguna explicación). Una cosa más: no probé profundamente los condicionales para la asignación de colores, pero debería ser una tarea fácil para usted.
Probar el código en estos puntos aleatorios:
Obtengo este resultado:
que parece ser lo que estás buscando.
fuente