Distribuição de Espécies Vegetais no Brasil - Dados GBIF

Códigos
Mapas
GBIF
Autor

Jeanne Franco

Data de Publicação

4 de fevereiro de 2025

Mapas de distribuição de espécies

Mapas de distribuição de espécies são representações geográficas que mostram onde uma determinada espécie ocorre no espaço. Eles são amplamente utilizados em estudos ecológicos, biológicos, biogeográficos, e para conservação de espécies e planejamento ambiental. Esses mapas podem ser construídos de diferentes formas, dependendo da disponibilidade de dados e da escala da análise.

Tipos de mapas de distribuição

  1. Mapas de ocorrência: Baseiam-se em registros pontuais da espécie, geralmente obtidos de bancos de dados como GBIF (Global Biodiversity Information Facility) ou de levantamentos de campo.

  2. Mapas de distribuição potencial: Utilizam modelagem preditiva, como Modelos de Nicho Ecológico (ex.: MaxEnt), para estimar onde a espécie pode ocorrer com base em variáveis ambientais.

  3. Mapas de distribuição histórica: Mostram a distribuição passada de uma espécie, com base em registros fósseis, literatura histórica ou inferências paleoecológicas.

  4. Mapas de distribuição futura: Baseiam-se em projeções de mudanças climáticas para prever possíveis deslocamentos na distribuição da espécie ao longo do tempo.

Importância dos mapas de distribuição

  • Identificação de áreas prioritárias para conservação.

  • Monitoramento de espécies ameaçadas.

  • Planejamento de unidades de conservação.

  • Estudo dos impactos das mudanças climáticas e invasão de espécies exóticas.

Fontes de dados e ferramentas para construção

  • Bancos de dados globais: GBIF, iNaturalist, SpeciesLink.

  • SIG (Sistemas de Informação Geográfica): QGIS, ArcGIS.

  • Modelagem de distribuição de espécies: MaxEnt, Biomod2, ENMTools.

  • R para análise espacial: Pacotes como sf, raster, terra e dismo.

Exemplo de um mapa da distribuição de espécies vegetais feito no R

Passo 1: carregar pacotes necessários:

# Caso não tenha os pacotes, baixe em seu computador utilizando a função install.packages("nome_pacote")

library(rgbif) # Extrair dados de espécies
library(dplyr) # Manipulação de dados
library(sf) # Definir geometrias de mapas
library(ggplot2) # Produzir mapas e gráficos
library(rnaturalearth)
library(rnaturalearthdata)
library(cols4all) # Seleção de cores
library(kableExtra) # Visualizar tabelas

Passo 2: carregar dados

Definir lista de espécies para busca dos dados de ocorrência no GBIF

species_list <- c("Paubrasilia echinata", "Setaria parviflora", 
                  "Achyrocline satureioides", "Bertholletia excelsa", 
                  "Myracrodruon urundeuva")

Função para buscar dados de uma espécie

get_occ_data <- function(species_name) {
  occ_search(scientificName = species_name, limit = 500)$data %>%
    filter(!is.na(decimalLongitude) & !is.na(decimalLatitude)) %>%
    select(decimalLongitude, decimalLatitude) %>%
    mutate(species = species_name)
}

Buscar dados para todas as espécies

all_occ_data <- bind_rows(lapply(species_list, get_occ_data))

Converter para objeto sf

coords_sf_all <- st_as_sf(all_occ_data, coords = c("decimalLongitude", "decimalLatitude"), crs = 4326)

Obter dados das fronteiras dos países

world <- ne_countries(scale = "medium", returnclass = "sf")

Filtrar para um país específico (por exemplo, Brasil)

brazil <- world %>% filter(name == "Brazil") 

Filtrar ocorrências para aquelas dentro do Brasil

coords_sf_brazil <- st_intersection(coords_sf_all, brazil)

Dados biomas

my_biom <- read_sf("lm_bioma_250.shp") 
head(my_biom, 18)
Simple feature collection with 6 features and 2 fields
Geometry type: MULTIPOLYGON
Dimension:     XY
Bounding box:  xmin: -73.98318 ymin: -33.75118 xmax: -28.84777 ymax: 5.269581
Geodetic CRS:  SIRGAS 2000
# A tibble: 6 × 3
  Bioma          CD_Bioma                                               geometry
  <chr>             <int>                                     <MULTIPOLYGON [°]>
1 Amazônia              1 (((-44.08515 -2.416695, -44.0856 -2.416867, -44.08638…
2 Caatinga              2 (((-41.7408 -2.808262, -41.73673 -2.809341, -41.7346 …
3 Cerrado               3 (((-43.39009 -2.339372, -43.38741 -2.342188, -43.3841…
4 Mata Atlântica        4 (((-48.70814 -28.44851, -48.70994 -28.44873, -48.7107…
5 Pampa                 5 (((-52.82472 -27.46295, -52.81558 -27.47158, -52.8155…
6 Pantanal              6 (((-57.75946 -15.72779, -57.75659 -15.73327, -57.7564…

Ajustar os limites do mapa para focar na América do Sul

xlim <- c(-81, -36)
ylim <- c(-37, 6.7)   

Visualizar mapa

Definir cores

# Seleção de 5 cores do tipo categórica "cat"

## cols4all::c4a_table(type = "cat", n = 5) 

# Abre planilha com paletas de cores

## c4a_gui() 

Criar mapa com ggplot2

map_sp_vegetation <- ggplot() +
  geom_sf(data = my_biom, color = "gray55", 
        fill = "gray3", show.legend = F) +
geom_sf(data = coords_sf_brazil, 
        aes(color = species), 
        size = 2, shape = 18) +  
  scale_color_manual(
    values = c(
      "Paubrasilia echinata" = "#CC6677",
      "Setaria parviflora" = "#88CCEE", 
      "Achyrocline satureioides" = "#DDCC77",
      "Bertholletia excelsa" = "#117733",
      "Myracrodruon urundeuva" = "#cab2d6"),
    labels = c(
      "Paubrasilia echinata" = expression(italic("Paubrasilia echinata")),
      "Setaria parviflora" = expression(italic("Setaria parviflora")),
      "Achyrocline satureioides" = expression(italic("Achyrocline satureioides")),
      "Bertholletia excelsa" = expression(italic("Bertholletia excelsa")),
      "Myracrodruon urundeuva" = expression(italic("Myracrodruon urundeuva")))) +
  coord_sf(xlim = xlim, ylim = ylim) +
  labs(title = "Distribuição de Espécies Vegetais no Brasil - Dados GBIF*",
       x = "Longitude",
       y = "Latitude",
       colour = "",
       caption = "*GBIF – Global Biodiversity Information Facility – é uma rede internacional e uma infra-estrutura de dados financiada\n pelos governos de todo o mundo e que visa fornecer a qualquer pessoa, em qualquer lugar, acesso aberto\n a dados sobre todos os tipos de vida na Terra.") +
  theme_minimal() +
  theme(legend.position = c(0.26, 0.35),
        axis.text = element_text(color = "black",size = 8),
        axis.title = element_text(size = 8, hjust = 1),
        legend.text = element_text(size = 10),
        legend.key = element_rect(fill = "gray3", size = 1.58),
        plot.title = element_text(hjust = 0.1, size = 11),
        plot.caption = element_text(size = 7),
        legend.text.align = 0) 

map_sp_vegetation # Visualizar objeto do mapa

Funções do ggplot2 usadas para o mapa

  1. ggplot(): elaborar gráficos e mapas;
  2. geom_sf(): definir as coordenadas geográficas no mapa do Brasil e das distribuições das espécies selecionadas;
  3. scale_color_manual(): definir cores e nomes para cada espécie selecionada;
  4. coord_sf(): delimitar escalas de coordenadas;
  5. labs(): denifir título, nome das coordenadas x e y, e legendas;
  6. theme(): definir background do mapa e alinhamentos, cores e tamanhos de fontes.

Salvar mapa

# Salvar em formato jpg

ggsave("map_sp_vegetation.jpg", dpi = 300,
       width = 35, height = 15, 
       units = "cm", map_sp_vegetation)

# Salvar em formato PDF

ggsave("map_sp_vegetation.pdf", dpi = 300,
       width = 35, height = 15, 
       units = "cm", map_sp_vegetation)