Métricas de paisagem no R: landscapemetrics


Maurício VancineLEEC/Unesp

Julho de 2022


Licença: CC BY-NC-SA

Maurício Vancine

  • Doutorando em Ecologia (2020-?)

  • Ecologia Espacial

  • Modelagem Ecológica

  • Análise de Dados Ecológicos e Geoespaciais

  • Ecologia e Conservação de Anfíbios

  • Open source [R, QGIS, GRASS GIS, GNU/Linux, …]

Análises Ecológicas no R

Conteúdo

Ecologia da paisagem

  • Contextualização
  • Definições
  • Escala, heterogeneidade e organismos
  • Estrutura da paisagem
  • Mudanças da paisagem

Métricas da paisagem

  • Definições
  • Elementos da paisagem
  • Tipos de métricas
  • Nível das métricas
  • Delineamento amostral
  • Correlação e escala

Geoprocessamento

  • Cartografia
  • Global Positioning System (GPS)
  • Sensoriamento Remoto
  • Sistema de Informação Geográfico (SIG)

Dados geoespaciais

  • Dados vetoriais
  • Dados matriciais (raster)
  • Conversão de dados geoespaciais
  • Fontes de dados geoespaciais

Introdução ao R

  • R e RStudio
  • Script
  • Objetos
  • Funções
  • Pacotes
  • Diretório

Dados geoespaciais

  • Importação
  • Reprojeção
  • Operações
  • Visualização

landscapemetrics

  • Descrição
  • Checar o raster
  • Descrição das funções
  • Retorno das funções

  • Nível das métricas
  • Classes das métricas
  • Espacializar as métricas
  • Múltiplas escalas

Material

Todo o material está disponível no GitHub

Ecologia da Paisagem

Contextualização

Contextualização

Ecologia da paisagem

Enfatiza as causas e consequências da heterogeneidade espacial em várias escalas (padrão espacial) sobre um ou vários processos ecológicos (predação, dispersão, polinização)


Ecologia da paisagem

Ecologia da Paisagem e Padrões/Processos Ecológicos

Definição de paisagem

(…) um mosaico heterogêneo formado por unidades interativas, sendo esta heterogeneidade existente para pelo menos um fator, segundo um observador e numa determinada escala de observação

Heterogeneidade, escala e organismos

Heterogeneidade, escala e organismos

Elementos da paisagem

  • Mancha (patch): porções de habitat
  • Corredor (corridor): mancha linear que liga outras manchas
  • Matriz (matriz): porções de não-habitat (classe dominante)

Morfologia da paisagem

1. Interior (core): porção interior de habitat

2. Borda (edge): porção exterior de habitat

3. Corredor (corridor): mancha linear que liga outras manchas

4. Ramificação (branch): porção anexa de habitat

5. Trampolim (stepping stone): porção isolada de habitat

6. Perfuração (perforation): borda interna dentro das manchas

Mudanças da paisagem (Processos)

Mudanças da paisagem (Estrutura)

Perda e fragmentação de habitat

E como mensurar a estrutura da paisagem?

Métricas de paisagem

Métricas de paisagem

Algoritmos para quantificar a estrutura espacial (características) da paisagem, para uma área geográfica

Tipos de métricas

  1. Classificação categórica (composição e configuração)
  2. Representação de grafos (conectância e redes)
  3. Classificação de gradientes (NDVI, rugosidade, etc.)


Métricas de classificação categóricas

Composição: número e quantidade das manchas (número e área)

Configuração: arranjo espacial e distribuição das manchas (isolamento e forma)

Métricas de classificação categóricas

Nível das métricas

Métricas

knitr::kable(landscapemetrics::list_lsm())
metric name type level function_name
area patch area area and edge metric patch lsm_p_area
cai core area index core area metric patch lsm_p_cai
circle related circumscribing circle shape metric patch lsm_p_circle
contig contiguity index shape metric patch lsm_p_contig
core core area core area metric patch lsm_p_core
enn euclidean nearest neighbor distance aggregation metric patch lsm_p_enn
frac fractal dimension index shape metric patch lsm_p_frac
gyrate radius of gyration area and edge metric patch lsm_p_gyrate
ncore number of core areas core area metric patch lsm_p_ncore
para perimeter-area ratio shape metric patch lsm_p_para
perim patch perimeter area and edge metric patch lsm_p_perim
shape shape index shape metric patch lsm_p_shape
ai aggregation index aggregation metric class lsm_c_ai
area_cv patch area area and edge metric class lsm_c_area_cv
area_mn patch area area and edge metric class lsm_c_area_mn
area_sd patch area area and edge metric class lsm_c_area_sd
ca total (class) area area and edge metric class lsm_c_ca
cai_cv core area index core area metric class lsm_c_cai_cv
cai_mn core area index core area metric class lsm_c_cai_mn
cai_sd core area index core area metric class lsm_c_cai_sd
circle_cv related circumscribing circle shape metric class lsm_c_circle_cv
circle_mn related circumscribing circle shape metric class lsm_c_circle_mn
circle_sd related circumscribing circle shape metric class lsm_c_circle_sd
clumpy clumpiness index aggregation metric class lsm_c_clumpy
cohesion patch cohesion index aggregation metric class lsm_c_cohesion
contig_cv contiguity index shape metric class lsm_c_contig_cv
contig_mn contiguity index shape metric class lsm_c_contig_mn
contig_sd contiguity index shape metric class lsm_c_contig_sd
core_cv core area core area metric class lsm_c_core_cv
core_mn core area core area metric class lsm_c_core_mn
core_sd core area core area metric class lsm_c_core_sd
cpland core area percentage of landscape core area metric class lsm_c_cpland
dcad disjunct core area density core area metric class lsm_c_dcad
dcore_cv disjunct core area core area metric class lsm_c_dcore_cv
dcore_mn disjunct core area core area metric class lsm_c_dcore_mn
dcore_sd disjunct core area core area metric class lsm_c_dcore_sd
division division index aggregation metric class lsm_c_division
ed edge density area and edge metric class lsm_c_ed
enn_cv euclidean nearest neighbor distance aggregation metric class lsm_c_enn_cv
enn_mn euclidean nearest neighbor distance aggregation metric class lsm_c_enn_mn
enn_sd euclidean nearest neighbor distance aggregation metric class lsm_c_enn_sd
frac_cv fractal dimension index shape metric class lsm_c_frac_cv
frac_mn fractal dimension index shape metric class lsm_c_frac_mn
frac_sd fractal dimension index shape metric class lsm_c_frac_sd
gyrate_cv radius of gyration area and edge metric class lsm_c_gyrate_cv
gyrate_mn radius of gyration area and edge metric class lsm_c_gyrate_mn
gyrate_sd radius of gyration area and edge metric class lsm_c_gyrate_sd
iji interspersion and juxtaposition index aggregation metric class lsm_c_iji
lpi largest patch index area and edge metric class lsm_c_lpi
lsi landscape shape index aggregation metric class lsm_c_lsi
mesh effective mesh size aggregation metric class lsm_c_mesh
ndca number of disjunct core areas core area metric class lsm_c_ndca
nlsi normalized landscape shape index aggregation metric class lsm_c_nlsi
np number of patches aggregation metric class lsm_c_np
pafrac perimeter-area fractal dimension shape metric class lsm_c_pafrac
para_cv perimeter-area ratio shape metric class lsm_c_para_cv
para_mn perimeter-area ratio shape metric class lsm_c_para_mn
para_sd perimeter-area ratio shape metric class lsm_c_para_sd
pd patch density aggregation metric class lsm_c_pd
pladj percentage of like adjacencies aggregation metric class lsm_c_pladj
pland percentage of landscape area and edge metric class lsm_c_pland
shape_cv shape index shape metric class lsm_c_shape_cv
shape_mn shape index shape metric class lsm_c_shape_mn
shape_sd shape index shape metric class lsm_c_shape_sd
split splitting index aggregation metric class lsm_c_split
tca total core area core area metric class lsm_c_tca
te total edge area and edge metric class lsm_c_te
ai aggregation index aggregation metric landscape lsm_l_ai
area_cv patch area area and edge metric landscape lsm_l_area_cv
area_mn patch area area and edge metric landscape lsm_l_area_mn
area_sd patch area area and edge metric landscape lsm_l_area_sd
cai_cv core area index core area metric landscape lsm_l_cai_cv
cai_mn core area index core area metric landscape lsm_l_cai_mn
cai_sd core area index core area metric landscape lsm_l_cai_sd
circle_cv related circumscribing circle shape metric landscape lsm_l_circle_cv
circle_mn related circumscribing circle shape metric landscape lsm_l_circle_mn
circle_sd related circumscribing circle shape metric landscape lsm_l_circle_sd
cohesion patch cohesion index aggregation metric landscape lsm_l_cohesion
condent conditional entropy complexity metric landscape lsm_l_condent
contag connectance aggregation metric landscape lsm_l_contag
contig_cv contiguity index shape metric landscape lsm_l_contig_cv
contig_mn contiguity index shape metric landscape lsm_l_contig_mn
contig_sd contiguity index shape metric landscape lsm_l_contig_sd
core_cv core area core area metric landscape lsm_l_core_cv
core_mn core area core area metric landscape lsm_l_core_mn
core_sd core area core area metric landscape lsm_l_core_sd
dcad disjunct core area density core area metric landscape lsm_l_dcad
dcore_cv disjunct core area core area metric landscape lsm_l_dcore_cv
dcore_mn disjunct core area core area metric landscape lsm_l_dcore_mn
dcore_sd disjunct core area core area metric landscape lsm_l_dcore_sd
division division index aggregation metric landscape lsm_l_division
ed edge density area and edge metric landscape lsm_l_ed
enn_cv euclidean nearest neighbor distance aggregation metric landscape lsm_l_enn_cv
enn_mn euclidean nearest neighbor distance aggregation metric landscape lsm_l_enn_mn
enn_sd euclidean nearest neighbor distance aggregation metric landscape lsm_l_enn_sd
ent shannon entropy complexity metric landscape lsm_l_ent
frac_cv fractal dimension index shape metric landscape lsm_l_frac_cv
frac_mn fractal dimension index shape metric landscape lsm_l_frac_mn
frac_sd fractal dimension index shape metric landscape lsm_l_frac_sd
gyrate_cv radius of gyration area and edge metric landscape lsm_l_gyrate_cv
gyrate_mn radius of gyration area and edge metric landscape lsm_l_gyrate_mn
gyrate_sd radius of gyration area and edge metric landscape lsm_l_gyrate_sd
iji interspersion and juxtaposition index aggregation metric landscape lsm_l_iji
joinent joint entropy complexity metric landscape lsm_l_joinent
lpi largest patch index area and edge metric landscape lsm_l_lpi
lsi landscape shape index aggregation metric landscape lsm_l_lsi
mesh effective mesh size aggregation metric landscape lsm_l_mesh
msidi modified simpson’s diversity index diversity metric landscape lsm_l_msidi
msiei modified simpson’s evenness index diversity metric landscape lsm_l_msiei
mutinf mutual information complexity metric landscape lsm_l_mutinf
ndca number of disjunct core areas core area metric landscape lsm_l_ndca
np number of patches aggregation metric landscape lsm_l_np
pafrac perimeter-area fractal dimension shape metric landscape lsm_l_pafrac
para_cv perimeter-area ratio shape metric landscape lsm_l_para_cv
para_mn perimeter-area ratio shape metric landscape lsm_l_para_mn
para_sd perimeter-area ratio shape metric landscape lsm_l_para_sd
pd patch density aggregation metric landscape lsm_l_pd
pladj percentage of like adjacencies aggregation metric landscape lsm_l_pladj
pr patch richness diversity metric landscape lsm_l_pr
prd patch richness density diversity metric landscape lsm_l_prd
relmutinf relative mutual information complexity metric landscape lsm_l_relmutinf
rpr relative patch richness diversity metric landscape lsm_l_rpr
shape_cv shape index shape metric landscape lsm_l_shape_cv
shape_mn shape index shape metric landscape lsm_l_shape_mn
shape_sd shape index shape metric landscape lsm_l_shape_sd
shdi shannon’s diversity index diversity metric landscape lsm_l_shdi
shei shannon’s evenness index diversity metric landscape lsm_l_shei
sidi simpson’s diversity index diversity metric landscape lsm_l_sidi
siei simspon’s evenness index diversity metric landscape lsm_l_siei
split splitting index aggregation metric landscape lsm_l_split
ta total area area and edge metric landscape lsm_l_ta
tca total core area core area metric landscape lsm_l_tca
te total edge area and edge metric landscape lsm_l_te

Qual métrica calcular e por quê?

Concepção de uma pesquisa

  • Teoria Ecológica: fenônomenos, mecanismos, processos e padrões
  • Observação, questões, hipóteses, predições
  • Variável(is) resposta(s) (Y) e preditora(s) (X)

Delineamento amostral




  • Definir as unidades amostrais
  • Definir as métricas de paisagem
  • Garantir um gradiente das métricas nas unidades amostrais
  • Garantir indepedência entre as amostragens ou tratar isso estatisticamente (fator aleatório)
  • Correlação entre as métricas
  • Escala (de efeito)

Correlação entre as métricas

Escala de efeito




Recapitulando

  1. Ecologia Espacial: respostas ecológicas à covariáveis ambientais incorporando o espaço
  2. Ecologia da Paisagem: relaciona processos ecológicos a padrões espaciais
  3. Paisagem: unidades heterogêneas ao menos para um fator, observador e escala
  4. Elementos da paisagem: mancha, corredor e matriz
  5. Mudanças na paisagem: processos e estrutura (perda e fragmentação)
  6. Métricas da paisagem: quantificam a estrutura espacial (características) da paisagem
  7. Métricas categóricas: composição e configuração
  8. Níveis das métricas: patch, class e landscape
  9. Escolha da métrica: dependente do delineamento amostral
  10. Atenção: correlação entre as métricas
  11. Atenção: escala de efeito

Dúvidas?

Geoprocessamento

Geoprocessamento

Entender os padrões espaciais como o ambiente físico, fenômenos climáticos, humanos, sociais ou econômicos, a partir de dados dados espaciais para gerar informações espaciais

Geoprocessamento (Elementos)

  1. Cartografia digital (CD)
  2. Global Positioning System (GPS)
  3. Sensoriamento Remoto (RS)
  4. Sistemas de Informações Geográficas (SIG)

Cartografia

Escala

Relação entre a medida gráfica (representado no papel ou computador) e a medida real (objeto ou lugar)

  • d (distância gráfica): 0.01 m (1 cm)

  • D (distância real): 250 m

  • E (escala) = d / D = 0.01 m / 250 m

  • E = 1/25000 ou 1:25000

Cartografia

Sistema de coordenadas geográfico (graus)

1. Graus, minutos e segundos

Longitude: 42°42’42” O

Latitude: 23°23’23” S


2. Graus decimais

Longitude: -42.71167

Latitude: -23.38972


Conversão

42 + (42/60) + (42/3600) = 42.71167

23 + (23/60) + (23/3600) = 23.38972



Cartografia

Sistema de coordenadas projetado (metros)


Cartografia

Sistema de coordenadas projetado (metros)

Universal Transversa de Mercator (UTM)

X UTM: 706832 m E

Y UTM: 4344683 m N

Zona: 10S




Cartografia

Datum

Relação do sistema de coordenadas com a superfície da Terra


1. Geocêntricos

WGS84

SIRGAS2000


2. Topocêntricos

SAD69

Córrego Alegre



Cartografia

Sistema de Referência de Coordenadas (SRC)

Datum + Sistema de Coordenadas (geográfico ou projetado)

Cartografia

EPSG (European Petroleum Survey Group)


Global Positioning System (GPS)

Indica uma localização no planeta através de pontos ou linhas

  • Satélites: localização e altitude
  • Tipos de dados: waypoint, route e track
  • Formatos: .gpx e .kml ou .kmz

Global Positioning System (GPS)

Indica uma localização no planeta através de pontos ou linhas

Sensoriamento Remoto


Sistema de Informação Geográfica (SIG/GIS)


Dados geoespaciais

Dados geoespaciais

Dados geoespaciais

Dados vetoriais

Pontos, linhas e polígonos

Dados vetoriais

Tabela de atributos

Dados vetoriais

Formato: Shapefile

.shp: contém as informações da feição (desenho)

.dbf: tabela que contém as informações (colunas) sobre cada feição (linhas)

.shx: arquivo de índice que une o .shp ao .dbf

.prj: contém as informações do sistema de referências de coordenadas



Dados matriciais (Raster)

Matriz de valores

Dados matriciais (Raster)

Matriz de valores - contínuos ou categóricos


Dados matriciais (Raster)

Propriedades - extensão e resolução

Dados matriciais (Raster)

Formato: GeoTiff

.tif: arquivo rater georreferenciado

Conversão de dados geoespaciais

Converter vetor-raster e vice-versa

Fontes de dados geoespaciais

Vetoriais

Fontes de dados geoespaciais

Matriciais

  • MapBiomas: uso e cobertura da terra para o Brasil, diversos anos
  • Bahlu: Distribuições históricas de terras agrícolas e pastagens para todo o Brasil de 1940 a 2012
  • USGS: dados de diversos satélites livres para o mundo
  • SRTM: dados de elevação para o mundo
  • Global Forest Watch: dados de uso e cobertura para todo o planeta
  • Geoservice Maps: dados de elevação e florestas para o mundo
  • GlobCover: dados de uso e cobertura da terra para todo o planeta
  • Global Human Footprint: dados de pegada ecológica para o mundo
  • Land-Use Harmonization (LUH2): dados atuais e previsões de uso da terra
  • SoilGrids: dados de solo para o mundo
  • WorldClim: dados climáticos para o mundo
  • CHELSA: dados climáticos para o mundo
  • EarthEnv: dados de cobertura da terra, nuvens, relevo e hidrografia
  • MARSPEC: dados de condições do oceano para o mundo
  • Bio-ORACLE: dados de condições do oceano para o mundo

Fontes de dados geoespaciais

Pacotes e sites

  • geobr: carrega Shapefiles de Conjuntos de Dados Espaciais Oficiais do Brasil
  • rnaturalearth: dados do mapa mundial da Natural Earth
  • geodata: acesso a dados globais de clima, altitude, solo, ocorrência de espécies e limites administrativos
  • rworldmap: dados globais
  • spData: conjuntos de dados para análise espacial
  • OpenStreetMap: acesso para abrir imagens raster de mapas de ruas
  • osmdata: baixe e importe dados do OpenStreetMap
  • geonames: interface para o serviço da Web de consulta espacial “Geonames”
  • rgbif: interface para o Global ‘Biodiversity’ Information Facility API
  • maptools: ferramentas para lidar com objetos espaciais
  • marmap: importar, traçar e analisar dados batimétricos e topográficos
  • envirem: geração de Variáveis ENVIREM
  • sdmpredictors: conjuntos de dados preditor de modelagem de distribuição de espécies
  • rstac: R Client Library for SpatioTemporal Asset Catalog
  • rwlts: R Client Library for Web Land Trajectory Service
  • getSpatialData: baixar diversas bases de dados
  • rspatialdata: coleção de fontes de dados e tutoriais sobre a visualização de dados espaciais usando R

Recapitulando

  1. Geoprocessamento: entender padrões espaciais a partir de dados espaciais para gerar informações espaciais, com quatro componentes: cartografia, GPS, SR e SIG
  2. Escala: relação entre uma medida gráfica e uma medida real
  3. Sistema de coordenadas: pode ser geográfico (graus) ou projetado (metros)
  4. Datum: relação do sistema de coordenadas com a superfície da Terra
  5. Sistema de Referência de Coordenadas (SRC): Datum + Sistema de Coordenadas
  6. GPS: indica uma localização no planeta através de pontos ou linhas
  7. Sensoriamento Remoto: usa sistemas sensores acoplados a satélites/aviões/drones/balões para imagear a superfície do planeta de forma remota
  8. SIG: conjunto de ferramentas que tratam os dados geoespaciais para gerar informações
  9. Vetor: pontos, linhas e polígonos associados a uma tabela de atributos
  10. Raster: matriz de valores contínuos ou categóricos
  11. Conversão: dados vetoriais para dados rasters e vice-versa

Tranquilo até aqui?

R

R

O R é uma linguagem de programação livre (open source), direcionada à manipulação, análise e visualização de dados, com diversas expansões (pacotes) para o uso de dados com formatos específicos

RStudio

IDE (Integrated Development Environment) ou Ambiente de Desenvolvimento Integrado

Script

Onde os códigos são escritos e salvos no formato .R

Objetos

Palavras que atribuímos dados possibilitando a manipulação dos mesmos

Atribuição (objeto <- dados)

# atribuicao (<-)
objeto <- 42
objeto
[1] 42

Operações (+, -, *, /, ^)

# operacoes
objeto2 <- objeto * 2
objeto2
[1] 84

Funções

Códigos que realizam operações em argumentos

Estrutura de uma função

nome_da_funcao(argumento1, argumento2)

Soma

# soma
objeto3 <- sum(objeto, objeto2)
objeto3
[1] 126

Repetição

# repeticao
objeto4 <- rep(x = objeto, times = 10)
objeto4
 [1] 42 42 42 42 42 42 42 42 42 42

Pacotes

Coleção de funções para executar tarefas específicas

Instalar pacotes do CRAN

# instalar pacotes
install.packages("landscapemetrics", dep = TRUE)

Instalar pacotes do GitHub

# instalar pacotes do github
install.packages("remotes")
remotes::install_github("r-spatialecology/landscapemetrics")

Carregar pacotes

# carregar pacotes
library(landscapemetrics)

Diretório

Caminho de uma pasta/diretório onde o R irá importar e/ou exportar os dados

Definir um diretório de trabalho

# definir o diretorio de trabalho
setwd("/home/mude/data/github/mauriciovancine/workshop-landscapemetrics/")

Verificar o diretório

# verificar o diretorio
getwd()

Listar os arquivos no diretório

# listar os arquivos
dir()

Dados geoespaciais no R

Importar dados geoespaciais

Vetor

# pacote
library(readr)

# diretorio
setwd("/home/mude/data/github/mauriciovancine/workshop-landscapemetrics/03_data")

# importar pontos
da <- readr::read_csv("pontos_amostragem_geo.csv")
da
# A tibble: 10 × 3
      id   lon   lat
   <dbl> <dbl> <dbl>
 1     1 -47.7 -22.3
 2     2 -47.6 -22.4
 3     3 -47.5 -22.3
 4     4 -47.6 -22.5
 5     5 -47.6 -22.5
 6     6 -47.5 -22.3
 7     7 -47.5 -22.3
 8     8 -47.5 -22.4
 9     9 -47.6 -22.3
10    10 -47.7 -22.3

Importar dados geoespaciais

Vetor

# pacote
library(sf)

# importar pontos
po <- sf::st_as_sf(da, coords = c("lon", "lat"), crs = 4326)
po
Simple feature collection with 10 features and 1 field
Geometry type: POINT
Dimension:     XY
Bounding box:  xmin: -47.68955 ymin: -22.51605 xmax: -47.49691 ymax: -22.26893
Geodetic CRS:  WGS 84
# A tibble: 10 × 2
      id              geometry
 * <dbl>           <POINT [°]>
 1     1 (-47.68955 -22.34861)
 2     2 (-47.63003 -22.42595)
 3     3  (-47.49691 -22.3334)
 4     4 (-47.61035 -22.51605)
 5     5   (-47.6095 -22.4709)
 6     6 (-47.50656 -22.26893)
 7     7 (-47.54502 -22.29159)
 8     8 (-47.53064 -22.40221)
 9     9 (-47.55712 -22.33515)
10    10 (-47.68955 -22.34861)

Importar dados geoespaciais

Vetor

plot(po$geometry, col = "black", pch = 19, axes = TRUE, graticule = TRUE)

Importar dados geoespaciais

Vetor

# pacote
library(sf)

# diretorio
setwd("/home/mude/data/github/mauriciovancine/workshop-landscapemetrics/03_data")

# importar vetor
rc <- sf::st_read("rio_claro.shp", quiet = TRUE)
rc
Simple feature collection with 1 feature and 7 fields
Geometry type: POLYGON
Dimension:     XY
Bounding box:  xmin: -47.76521 ymin: -22.55203 xmax: -47.46188 ymax: -22.24368
Geodetic CRS:  WGS 84
  code_mn   name_mn cod_stt abbrv_s   nam_stt cod_rgn nam_rgn
1 3543907 Rio Claro      35      SP São Paulo       3 Sudeste
                        geometry
1 POLYGON ((-47.46875 -22.279...

Importar dados geoespaciais

Vetor

plot(rc$geom, col = "gray", axes = TRUE, graticule = TRUE)

Importar dados geoespaciais

Raster

# pacote
library(raster)

# diretorio
setwd("/home/mude/data/github/mauriciovancine/workshop-landscapemetrics/03_data/")

# importar raster
mapbiomas <- raster::raster("mapbiomas.tif")
mapbiomas
class      : RasterLayer 
dimensions : 1143, 1124, 1284732  (nrow, ncol, ncell)
resolution : 0.0002694946, 0.0002694946  (x, y)
extent     : -47.76495, -47.46204, -22.55185, -22.24381  (xmin, xmax, ymin, ymax)
crs        : +proj=longlat +datum=WGS84 +no_defs 
source     : mapbiomas.tif 
names      : mapbiomas 
values     : 0, 255  (min, max)

Importar dados geoespaciais

Raster

plot(mapbiomas)

Reprojetar dados geoespaciais

Vetor

# reprojetar vetor
po_utm <- sf::st_transform(po, crs = 31983)
po_utm
Simple feature collection with 10 features and 1 field
Geometry type: POINT
Dimension:     XY
Bounding box:  xmin: 222993.2 ymin: 7507708 xmax: 242815.3 ymax: 7535264
Projected CRS: SIRGAS 2000 / UTM zone 23S
# A tibble: 10 × 2
      id           geometry
 * <dbl>        <POINT [m]>
 1     1 (222993.2 7526113)
 2     2 (229276.4 7517654)
 3     3 (242815.3 7528139)
 4     4 (231477.1 7507708)
 5     5 (231477.4 7512711)
 6     6 (241702.3 7535264)
 7     7 (237779.5 7532687)
 8     8 (239467.7 7520459)
 9     9   (236614 7527841)
10    10 (222993.2 7526113)

Reprojetar dados geoespaciais

Vetor

plot(po_utm$geometry, pch = 20, axes = TRUE, graticule = TRUE)

Reprojetar dados geoespaciais

Vetor

# reprojetar vetor
rc_utm <- sf::st_transform(rc, crs = 31983)
rc_utm
Simple feature collection with 1 feature and 7 fields
Geometry type: POLYGON
Dimension:     XY
Bounding box:  xmin: 215165.5 ymin: 7503729 xmax: 246553 ymax: 7537978
Projected CRS: SIRGAS 2000 / UTM zone 23S
  code_mn   name_mn cod_stt abbrv_s   nam_stt cod_rgn nam_rgn
1 3543907 Rio Claro      35      SP São Paulo       3 Sudeste
                        geometry
1 POLYGON ((245619.2 7534186,...

Reprojetar dados geoespaciais

Vetor

plot(rc_utm$geom, col = "gray", axes = TRUE, graticule = TRUE)

Reprojetar dados geoespaciais

Raster

# reprojetar raster
mapbiomas_utm <- raster::projectRaster(mapbiomas, 
                                       crs = "+init=epsg:31983", 
                                       method = "ngb", 
                                       res = 90)
mapbiomas_utm 
class      : RasterLayer 
dimensions : 395, 363, 143385  (nrow, ncol, ncell)
resolution : 90, 90  (x, y)
extent     : 214560.4, 247230.4, 7503021, 7538571  (xmin, xmax, ymin, ymax)
crs        : +proj=utm +zone=23 +south +ellps=GRS80 +units=m +no_defs 
source     : memory
names      : mapbiomas 
values     : 0, 48  (min, max)

Reprojetar dados geoespaciais

Raster

plot(mapbiomas_utm)

Operações com dados geoespaciais

Buffer

bu <- sf::st_buffer(po_utm, dist = 500)
bu
Simple feature collection with 10 features and 1 field
Geometry type: POLYGON
Dimension:     XY
Bounding box:  xmin: 222493.2 ymin: 7507208 xmax: 243315.3 ymax: 7535764
Projected CRS: SIRGAS 2000 / UTM zone 23S
# A tibble: 10 × 2
      id                                                                geometry
 * <dbl>                                                           <POLYGON [m]>
 1     1 ((223493.2 7526113, 223492.5 7526086, 223490.5 7526060, 223487.1 75260…
 2     2 ((229776.4 7517654, 229775.7 7517627, 229773.7 7517601, 229770.2 75175…
 3     3 ((243315.3 7528139, 243314.6 7528113, 243312.6 7528087, 243309.2 75280…
 4     4 ((231977.1 7507708, 231976.4 7507682, 231974.4 7507656, 231970.9 75076…
 5     5 ((231977.4 7512711, 231976.7 7512685, 231974.6 7512659, 231971.2 75126…
 6     6 ((242202.3 7535264, 242201.6 7535238, 242199.6 7535211, 242196.1 75351…
 7     7 ((238279.5 7532687, 238278.8 7532661, 238276.7 7532635, 238273.3 75326…
 8     8 ((239967.7 7520459, 239967 7520433, 239965 7520407, 239961.5 7520381, …
 9     9 ((237114 7527841, 237113.3 7527815, 237111.3 7527789, 237107.9 7527763…
10    10 ((223493.2 7526113, 223492.5 7526086, 223490.5 7526060, 223487.1 75260…

Operações com dados geoespaciais

Buffer

plot(rc_utm$geom, border = "gray")
plot(po_utm$geometry, add = TRUE)
plot(bu$geometry, border = "red", add = TRUE)

Operações com dados geoespaciais

Ajuste à extenção

mapbiomas_utm_crop <- raster::crop(mapbiomas_utm, st_as_sf(bu))
mapbiomas_utm_crop
class      : RasterLayer 
dimensions : 317, 231, 73227  (nrow, ncol, ncell)
resolution : 90, 90  (x, y)
extent     : 222480.4, 243270.4, 7507251, 7535781  (xmin, xmax, ymin, ymax)
crs        : +proj=utm +zone=23 +south +ellps=GRS80 +units=m +no_defs 
source     : memory
names      : mapbiomas 
values     : 0, 48  (min, max)

Operações com dados geoespaciais

Ajuste à extenção

plot(rc_utm$geom, border = "gray")
plot(mapbiomas_utm_crop, add = TRUE)
plot(po_utm$geometry, add = TRUE)
plot(bu$geometry, border = "red", add = TRUE)

Operações com dados geoespaciais

Ajuste à máscara

mapbiomas_utm_mask <- raster::mask(mapbiomas_utm, st_as_sf(bu))
mapbiomas_utm_mask
class      : RasterLayer 
dimensions : 395, 363, 143385  (nrow, ncol, ncell)
resolution : 90, 90  (x, y)
extent     : 214560.4, 247230.4, 7503021, 7538571  (xmin, xmax, ymin, ymax)
crs        : +proj=utm +zone=23 +south +ellps=GRS80 +units=m +no_defs 
source     : memory
names      : mapbiomas 
values     : 3, 47  (min, max)

Operações com dados geoespaciais

Ajuste à máscara

plot(mapbiomas_utm_mask)
plot(bu$geometry, border = "red", add = TRUE)
plot(rc_utm$geom, border = "gray", add = TRUE)

Operações com dados geoespaciais

Ajuste à extensão e à máscara

mapbiomas_utm_crop <- raster::crop(mapbiomas_utm, st_as_sf(bu))
mapbiomas_utm_crop_mask <- raster::mask(mapbiomas_utm_crop, st_as_sf(bu))
mapbiomas_utm_crop_mask
class      : RasterLayer 
dimensions : 317, 231, 73227  (nrow, ncol, ncell)
resolution : 90, 90  (x, y)
extent     : 222480.4, 243270.4, 7507251, 7535781  (xmin, xmax, ymin, ymax)
crs        : +proj=utm +zone=23 +south +ellps=GRS80 +units=m +no_defs 
source     : memory
names      : mapbiomas 
values     : 3, 47  (min, max)

Operações com dados geoespaciais

Ajuste à máscara

plot(mapbiomas_utm_crop_mask)
plot(bu$geometry, border = "red", add = TRUE)
plot(rc_utm$geom, border = "gray", add = TRUE)

Operações com dados geoespaciais

Reclassificação de rasters

mapbiomas_utm_floresta <- raster::reclassify(x = mapbiomas_utm,
                                             rcl = c(0,2,NA, 2,4,1, 4,48,NA))
mapbiomas_utm_floresta
class      : RasterLayer 
dimensions : 395, 363, 143385  (nrow, ncol, ncell)
resolution : 90, 90  (x, y)
extent     : 214560.4, 247230.4, 7503021, 7538571  (xmin, xmax, ymin, ymax)
crs        : +proj=utm +zone=23 +south +ellps=GRS80 +units=m +no_defs 
source     : memory
names      : mapbiomas 
values     : 0, 1  (min, max)

Operações com dados geoespaciais

Reclassificação de rasters

plot(mapbiomas_utm_floresta)
plot(rc_utm$geom, border = "gray", add = TRUE)

Visualização

Vetor

# pacote
library(tmap)

# mapa
tm_shape(rc_utm) +
    tm_polygons()

Visualização

Vetor

tm_shape(rc_utm) +
    tm_polygons() +
    tm_grid(lines = FALSE) +
    tm_compass() +
    tm_scale_bar()

Visualização

Raster

tm_shape(mapbiomas_utm_floresta) +
    tm_raster(style = "cat", pal = c("white", "forestgreen")) +
    tm_shape(rc_utm) +
    tm_borders() +
    tm_grid(lines = FALSE) +
    tm_compass() +
    tm_scale_bar()

Recapitulando

  1. R: linguagem de programação direcionada à manipulação, análise e visualização de dados
  2. RStudio: IDE (Ambiente de Desenvolvimento Integrado) facilita o uso do R
  3. Script: onde os códigos são escritos e salvos no formato .R
  4. Objetos: palavras que atribuímos dados possibilitando a manipulação dos mesmos
  5. Funções: códigos que realizam operações em argumentos
  6. Pacotes: coleção de funções para executar tarefas específicas
  7. Diretório: caminho de uma pasta/diretório onde o R irá importar e exportar os dados
  8. Importar: readr::read_csv(), sf::st_as_sf(), sf::st_read() e raster::raster()
  9. Reprojetar: sf::st_transform e raster::projectRaster()
  10. Operações: sf::st_buffer(), raster::crop(), raster::mask() e raster::reclassify
  11. Visualização: tm_shape() + tm_polygon() e tm_shape() + tm_raster()

Sussa? Bora finalmente calcular as métricas?

Métricas de paisagem no R

landscapemetrics

Implementação do FRAGSTATS para a linguagem R



landscapemetrics

Pacote no R para calcular métricas de paisagem com classes categóricas (raster categórico)

landscapemetrics

O raster categórico de entrada tem de estar com coordenadas projetadas

Checar o raster

# pacote
library(landscapemetrics)

Raster geográfico

# checar o raster
check_landscape(mapbiomas)
  layer        crs   units   class n_classes OK
1     1 geographic degrees integer        18  ✖

Raster projetado

# checar o raster
check_landscape(mapbiomas_utm)
  layer       crs units   class n_classes OK
1     1 projected     m integer        18  ✔

landscapemetrics

Descrição das funções

  • Todas as funções começam com lsm_ (para métricas de paisagem)

  • A segunda parte especifica o nível (patch - p, classe - c ou paisagem - l)

  • A última parte do nome da função é a abreviação da métrica correspondente (e.g., enn - euclidean nearest-neighbor distance)

# general structure
lsm_"level"_"metric"

# Patch level
## lsm_p_"metric"
lsm_p_enn()

# Class level
## lsm_c_"metric"
lsm_c_enn()

# Landscape level
## lsm_p_"metric"
lsm_l_enn()

landscapemetrics

Todas as funções retornam uma tabela com a mesma estrutura

$layer_1

library(landscapemetrics)
knitr::kable(lsm_p_area(landscape) |> dplyr::filter(class == 1))
layer level class id metric value
1 patch 1 1 area 0.0001
1 patch 1 2 area 0.0005
1 patch 1 3 area 0.0148
1 patch 1 4 area 0.0001
1 patch 1 5 area 0.0001
1 patch 1 6 area 0.0014
1 patch 1 7 area 0.0003
1 patch 1 8 area 0.0005
1 patch 1 9 area 0.0001

landscapemetrics

Nível das métricas

  • Mancha (patch): calculada para cada mancha na paisagem

  • Classe (classe): resume as manchas pertencentes a uma mesma classe

  • Paisagem (landscape): resume todas as manchas de todas as classes em um único valor

landscapemetrics

Regras de definição da manchas

landscapemetrics

Classes das métricas

  1. Métricas de área e borda (area e edge): descrevem o tamanho de manchas, classes e a quantidade de borda (composição - dominância ou raridade de classes)

  2. Métricas de forma (shape): descrevem a forma das manchas, principalmente área e perímetro

  3. Métricas de interior (core): descrevem a área de manchas que não são borda

  4. Métricas de agregação (aggregation): descrevem se as manchas (da mesma classe) são agregadas ou isolados (configuração)

  5. Métricas de diversidade (diversity): descrevem a abundância e dominância/raridade das classes (disponíveis apenas no nível da paisagem)

  6. Métricas de complexidade (complexity): descrevem a complexidade da paisagem (entropia marginal, entropia condicional, entropia conjunta e informação mútua)

landscapemetrics

Espacializar as métricas

Apenas para as métricas calculadas para manchas

landscapemetrics

Múltiplas escalas

knitr::kable(
    data.frame(buffer = rep(c(3000, 6000), each = 3),
               layer = rep(1, 6),
               level = rep("landscape", 6),   
               class = rep(NA, 6),  
               id = rep(NA, 6),  
               metric = rep("landscape", 6),   
               value = c(0.87, 1.49, 0.665, 1.02, 1.62, 0.731)
    ))
buffer layer level class id metric value
3000 1 landscape NA NA landscape 0.870
3000 1 landscape NA NA landscape 1.490
3000 1 landscape NA NA landscape 0.665
6000 1 landscape NA NA landscape 1.020
6000 1 landscape NA NA landscape 1.620
6000 1 landscape NA NA landscape 0.731

Bora para o R!

Muito obrigado!