Há algum tempo publicamos uma matéria onde foram apresentados alguns conceitos introdutórios sobre os chamados mapas de Kernel. Naquela ocasião explicamos sobre eles são, quais suas vantagens para análise espacial e como funciona o algoritmo para sua geração. Diversos leitores pediram um tutorial prático sobre este procedimento. Agora veremos como fazer este tipo de mapas no ambiente do software QGIS.
INTRODUÇÃO AOS MAPAS DE KERNEL
Antes de realizar os processos ensinados neste tutorial é bastante interessante que você leia a matéria onde os aspectos conceituais deste tipo de mapeamento foram apresentados. Ela está disponível no link abaixo.
No exemplo que iremos apresentar neste tutorial vamos usar como base uma camada vetorial contendo a hipotética localização de 12.000 (doze mil) casos de ocorrências criminais no estado do Maranhão.
Vamos então à prática em ambiente SIG.
TRABALHANDO COM MAPAS DE KERNEL NO QGIS
Caso você queira utilizar os mesmos dados que iremos usar aqui, faça o download clicando aqui [360 KB].
Detalhe: Dessa vez não vou ser tão “bonzinho” com vocês (risos!), pois vou apenas entregar já pronto o shapefile com a divisão municipal do Maranhão. O outro arquivo que está compactado junto é um CSV com as coordenadas dos pontos. Vocês terão que gerar a camada pontual, seguindo o material indicado no link abaixo, ou com base em seus conhecimentos prévios.
Para começar, instale no QGIS o complemento Mapa de Calor.
Acesse o menu Raster > Mapa de Calor > Mapa de Calor.
Na janela que será aberta, indique qual a camada, que precisa ser pontual, a ser utilizada para geração do mapa matricial. Neste exemplo, nosso layer de entrada é Crimes_MA.
Escolha onde será gravada a nova camada. Aqui demos o nome de “MapadeKernel“, mas isso fica à critério do operador. As demais opções deixamos com os parâmetros da configuração padrão.
O raster gerado pode ser visualizado na imagem a seguir.
Logicamente, com esta visualização imediata não conseguimos extrair informações relevantes. Portanto, vamos acessar as propriedades deste dado matricial e alterar, inicialmente, o nível de transparência global (veja a imagem abaixo).
Depois, nas opções de estilo, escolha como tipo de renderização “Banda simples falsa cor” e em gerar novo mapa de cores, escolha a rampa Spectral, clique em classificar e depois em OK.
O resultado, aplicando-se as configurações mostrada na figura anterior, está ilustrado na imagem abaixo:
Aplicando certo nível de zoom em uma das regiões do mapa é fácil de notar a aplicabilidade deste tipo de mapa.
Pronto! Geramos um mapa de Kernel. O que acharam deste tutorial? Aguardarei seus comentários.
Pretendo publicar uma sequência deste material onde iremos trabalhar com a calculadora raster do QGIS sobre um mapa de kernel, afim de obter mais informações e dados geográficos.
OBS: Este tutorial foi elaborado tendo por base no post Creating Heatmaps, do blog QGIS Tutorials, de autoria de Ujaval Gandhi.
Sobre o QGIS, leia o conteúdo dos seguintes links:
- Curso Online de QGIS (Básico)
- Curso Online de QGIS (Avançado)
- Como gerar Curvas de Nível com QGIS usando SRTM
40 respostas
Olá Anderson! Tenho a vesão 3.4.7 do Qgis, entretanto quando procuro pelo complemento ” mapa de calor” nada é encontrado! Tem ideia do que possa ser?
Vi uma aula sua no youtube que comenta que em um caso atribuiram uma pontuação diferenciada para cada tipo de crime, dá para fazer isso no qgis? alguma dica?
Oi Jefferson,
Sim, é possívelsim. Nós podemos atribuir peso específico para cada um dos pontos.
Abraço.
Qual o significado dos números na legenda? Várias pessoas perguntaram mas não encontrei a resposta..
Olá, Anderson!
Muito bom o tutorial. Parabéns!
Tentei usá-lo com três sequencias de dados e funcionou perfeitamente para uma delas, mas não para as outras duas. O mapa de calor baseado na segunda sequencia de dados simplesmente não aparece depois de criado. E o terceiro aparece como um aglomerado gigante que ultrapassa muito a distância do mapa. Você faz ideia do que pode estar acontecendo? As três origens de dados são as mesmas (lat, long, ID), a única diferença entre eles é que o primeiro dado teve ID de 1 a 2, enquanto os outros dois tiveram de 1 a 500.
Obrigada desde já!
Abraço
Primeiramente, obrigada por disponibilizar diversos tutoriais sobre o Qgis e outras ferramentas.
Minha dúvida é a seguinte: é possível representar na legenda o raster gerado (Kernel) de outras formas. Isto porque, quando adicionada a legenda, a representação simbólica é gerada com as bandas de cores uma abaixo da outra com seus valores respectivamente ao lado.No Arcgis é possível modificar essa formatação, porém não estou conseguindo no Qgis.
Um abraço!
gostei de como gerar Mapas de Kernel no qgis
Olá Anderson quando chego na parte do mapa de calor o meu programa aparece uma mensagem de erro e automaticamente fecha, como posso proceder?
Oi Polyanna, tudo bem?
Qual é a mensagem de erro? É a de minidump?
Abraço!
Há maneiras de se gerar esse arquivo do raster em formato KML, de modo que o Google Maps possa carregá-lo?
Adelson,
Neste caso, tem que usar a calculadora de campos para vetorizar o kernel.
Abraço!
Fiz tudo igualizinho ao tutorial, e salvo o raster. Porém, quando abro em um outro momento o heatmap não está com os estilos que deixei. Como salvar os estilos do heatmap para eles não ficarem preto e branco sempre que forem abetos?
esta ferramenta poderia ser utilizada para mapear os numeros da loteria?
Oi Renato, tudo bem?
Você poderia dar mais detalhes do que deseja fazer?
Abraço!
Boa Tarde, estou utilizando o QGIS 2.8.1 e quando tendo gerar um mapa de calor, o raster gerado aparece em um local completamente diferente de onde estão localizados os pontos, por que isso está acontecendo? Já tentei mudar o Sistema de Referência e nada.
Boa tarde Anderson, td bom?
Tenho um arquivo shp com a localização das 30000 ligações de água do município. Estou levantando e quero gerar um mapa de Kernel que identifique as regiões onde mais ocorrem manutenção nas ligações. Para tal, gerei um arquivo csv das ligações onde ocorreram manutenções e adicionei uma camada a partir de um texto com esse arquivo csv. Por fim, uni esta camada com a camada vetorial (arquivo shp das 30000 ligações). Gostaria de gerar um mapa de Kernel somente das ligações onde ocorreram manutenção (informações do arquivo csv), mas quando gero, automaticamente ele gera das 30000 ligações. Consigo gerar somente o mapa de Kernel somente das ligações que ocorreram manutenção?
Oi Fábio, tudo bem?
O ideal é você gerar uma camada com apenas esses seus dados de interesse (selecione eles através de uma consulta e salve a seleção como uma nova camada).
Gere o mapa de Kernel e sobreponha os layers.
Abraço!
Muito Bom Anderson. Funcionou!
Muito obrigado
Abraço
Obrigado pelo feedback Fábio.
Abraço!
Boa tarde ! Muito bom seus tutoriais! Gostaria de saber se é possível criar um mapa de Kernel só com um dado com ocorrência por várias vezes ? Ou dá pra criar por exemplo com um caso que se repete 8 vezes ?
Anderson, o raio (ex: 30000m) é definido com base em quais critérios?
Oi Vivian,
É definido com base no tamanho da área coberta.
Abraço!
Oi Anderson!
Poderia me tirar uma dúvida? Fazendo mapa de kernel no ArcGIS, a gente pode definir a unidade de saída, mas no QGIS, essa opção não existe. Qual a unidade de saída desses dados gerados na classificação no QGIS? Gerei mapas de kernel no QGIS, mas estou tendo dificuldades para ‘interpretar’ os dados resultante. Abraço!
Vanessa,
Pelo que vejo ele trabalha considerando as dimensões do Pixel.
Abraço!
Anderson, boa noite.
Como fazer mapas de calor através de linhas?
(Realizo trabalho de iniciação científica com mapeamento das linhas de ônibus da cidade de Sampa; pretendo fazer mapa de calor da concentração das linhas de ônibus em determinados corredores, já consegui converter todas as linhas em extensão Kml.
Obrigado.
Anderson Furlan
Oi Anderson, como vai?
É necessário que você faça uma modelagem para representar essas linhas de ônibus para o tipo de linhas. Mapas de Kernel são formados apenas a partir de feições pontuais.
Abraço!
oi,gostei muito da explicação,mais não achei o link da aula teórica, tá escrito link abaixo mas não tem nada,e se vc pudesse me mandar outros com teoria dizendo pra que serve e qual os benefícios eu ficaria mt grata !!
Oi Romila, como vai?
O link está na frase destacada “O que são Mapas de Kernel? Qual sua aplicação?”. O link direto é:
http://www.andersonmedeiros.com/mapas-de-kernel-parte-1/
Abraço!
Olá
Gostaria de entender melhor o que o número resultante representa (ex. 0.00 e 0.20)?
Obrigada,
Olá Anderson.
Existe algum recurso no framework SharpMap que permita a geração de Mapas de Kernel?
Obrigado
Oi Jucelino,
Não conheço este framework.
Abraço!
Excelente tutorial Anderson!
Com certeza vai ajudar muitas pessoas na elaboração desse tipo de mapa!
Tenho uma dúvida, gostaria que me ajudasse. É necessário obrigatoriamente ter os arquivos em formato shp para gerar esse tipo de mapa? Dá para elaborar o mesmo mapa com arquivos kml (Polígono e pontos) no QGIS?
Luiz,
O que importa é que seja uma camada vetorial de geometria pontual.
Abraço!
Olá Anderson,
Existem recursos no PostGIS para fazer uma procedimento como este?
Utilizar uma seleção de pontos e aplicar algum algorítmo de interpolação?
Att.
Oi Rogério, como vai?
Veja esse link:
http://gis.stackexchange.com/questions/11567/spatial-clustering-with-postgis
Abraço!
Interessante se tivesse um post sobre estatística espacial no Qgis, para entender quando e como mudar as configurações do programa, isso é uma sugestão e se já existir desculpe 😀
Muito boa dica, Anderson.
Vai uma outra aí sobre o tema, se é que ainda não saiu por aqui.
Para se obter mapas de kernel usando o QGIS (até v1.8) como front end do R, pode-se usar o complemento SDA4PP.
Além de mapas de kernel com opções avançadas, o plugin provê o uso de vários outros algoritmos do R para análise de padrões pontuais.
Cordialmente,
Eugênio F Leite
Olá professor Eugênio, como vai?
Bom tê-lo visitando e comentando aqui no site.
Excelente essa sua observação sobre uso do QGIS + R.
Forte abraço!
Ótima dica! Há tempos eu procuro essa ferramenta no QGis! Obrigado!
Ricardo, como vai?
Agradeço por seu comentário.
Continue nos visitando.
Abraço!