J'ai une couche avec de nombreux bâtiments comme points sur une carte. L'un des attributs de chaque bâtiment est "download_speed"
.
Je veux mettre une grille carrée (100 x 100 mètres) en haut de la carte. Les carrés doivent se comporter comme suit:
La place ne doit être visible que s'il y a au moins un bâtiment sur la place.
Le carré doit être rouge si aucun des bâtiments du carré n'a un
"download_speed"
chiffre supérieur à 10 (Mbit / s).Le carré doit être gris si certains des bâtiments du carré ont une valeur
"download_speed"
supérieure à 10 (Mbit / s)Le carré doit être noir si tous les bâtiments du carré ont une valeur
"download_speed"
supérieure à 10 (Mbit / s)
Je suis un débutant complet sur QGIS (et les logiciels SIG en général), mais un utilisateur expérimenté de Python en science des données.
Le résultat final devrait ressembler un peu à l'image ci-dessous:
la source
Réponses:
Il y a quelque temps, j'ai écrit un article pour créer une grille vectorielle de polygones:
Comment générer une grille vectorielle de polygones dans QGIS en utilisant Python
ce qui m'a inspiré pour proposer une solution.
Mon approche revient à un script personnalisé de la boîte à outils de traitement (veuillez vous référer au post ci-dessus si vous ne savez pas comment le faire).
En tant que paramètres d'entrée, il nécessite:
En supposant que les vitesses de téléchargement sont stockées sur le
"download_speed"
terrain, vous pouvez utiliser ce code:En tant qu'utilisateur Python expérimenté, vous devriez être en mesure de comprendre facilement le code ci-dessus et de l'adapter à vos besoins spécifiques (sinon, faites-moi savoir si vous avez besoin d'explications). Une dernière chose: je n'ai pas testé en profondeur les conditions pour l'affectation des couleurs, mais cela devrait être une tâche facile pour vous.
Test du code sur ces points aléatoires:
J'obtiens ce résultat:
ce qui semble être ce que vous recherchez.
la source