O leaflet é uma biblioteca javascript para criação de mapas interativos. O pacote leaflet
do R é um htmlwidget
que permite gerar esses mapas de forma direta no R, para usar em documentos RMarkdown
e Shiny.
Uma das ferramentas que mais gosto do leaflet é a função markerClusterOptions()
, que permite agrupar pontos no mapa em conjuntos de vários pontos.
Como exemplo, utilizaremos uma base de dados que contém a localização e informações das varas da Justiça Estadual no Brasil. A tabela abaixo mostra as cinco primeiras linhas dessa base. A coluna lab
já foi trabalhada para ser adicionada nos marcadores do mapa como popup.
muni_id | muni_nm | lon | lat |
---|---|---|---|
1100015 | Alta Floresta D’oeste | -62.27467 | -12.47017 |
1100023 | Ariquemes | -62.95718 | -9.95190 |
1100031 | Cabixi | -60.63986 | -13.47489 |
1100049 | Cacoal | -61.32475 | -11.30123 |
1100056 | Cerejeiras | -61.26095 | -13.20351 |
Para utilizar o pacote leaflet
, basta instalar o pacote via install.packages()
. Acesse o mapa dinâmico neste link. Experimente passear pelo mapa. Procure também algum lugar que tenha várias varas juntas, para ver o que o markerCluster
faz nesse caso.
library(leaflet)
abjData::muni %>%
leaflet() %>%
addTiles() %>%
addMarkers(
lng = ~lon,
lat = ~lat,
popup = ~muni_nm,
clusterOptions = markerClusterOptions()
)
- A função
leaflet()
carrega o motor do leaflet, ainda em branco. - A função
addTiles()
adiciona as camadas de mapas de acordo com o zoom. É possível escolher temas para essas camadas. - A função
addMarkers()
mapeia as varas da base de dados de acordo com as respectivas latitude e longitude.- Note que é necessário adicionar um
~
antes das variáveis para mapeá-las da base de dados. - A opção
popup
permite adicionar um balão com informações ao clicar num marcador. - A opção
clusterOptions
faz a mágica que agrupa os pontos. A região azul observada ao colocar o mouse sobre um cluster é a casca convexa dos marcadores agrupados.
- Note que é necessário adicionar um