Eu tenho uma camada com muitos edifícios como pontos em um mapa. Um dos atributos de cada edifício é "download_speed"
.
Quero colocar uma grade quadrada (100 x 100 metros) em cima do mapa. Os quadrados devem se comportar da seguinte maneira:
A praça só deve ser visível se houver pelo menos um edifício na praça.
O quadrado deve ficar vermelho se nenhum dos edifícios no quadrado tiver um valor
"download_speed"
acima de 10 (Mbit / s).O quadrado deve ficar cinza se alguns dos edifícios no quadrado tiverem
"download_speed"
acima de 10 (Mbit / s)O quadrado deve ser preto se todos os edifícios do quadrado tiverem
"download_speed"
acima de 10 (Mbit / s)
Sou um novato completo em QGIS (e software GIS em geral), mas um usuário experiente de Python em ciência de dados.
O resultado final deve se parecer com a figura abaixo:
fonte
Respostas:
Há algum tempo, escrevi um post para criar uma grade vetorial de polígonos:
Como gerar uma grade vetorial de polígonos no QGIS usando Python
o que me inspirou a propor uma solução.
Minha abordagem se baseia em um script personalizado da Processing Toolbox (consulte a postagem acima, se você não souber como fazê-lo).
Como parâmetros de entrada, requer:
Supondo que as velocidades de download sejam armazenadas no
"download_speed"
campo, você pode usar este código:Como um usuário experiente do Python, você deve entender facilmente o código acima e adaptá-lo às suas necessidades específicas (caso contrário, deixe-me saber se você precisa de alguma explicação). Mais uma coisa: não testei profundamente os condicionais para a atribuição de cores, mas deve ser uma tarefa fácil para você.
Testando o código nesses pontos aleatórios:
Eu obtenho este resultado:
que parece ser o que você está procurando.
fonte