Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save FelipeSBarros/c930ad14f60ae08e728924ca90e49c3a to your computer and use it in GitHub Desktop.
Save FelipeSBarros/c930ad14f60ae08e728924ca90e49c3a to your computer and use it in GitHub Desktop.
FormacaoDanielMarina_26_07.R
library(raster)
# Como gerar um shp de um CSV ----
ptos <- read.csv("./PDMA/Banco Dados Compartilhado/pts.geo.csv")
head(ptos)
# Transofrmando o DantaFrame em um dado espacial
coordinates(ptos) <- ~long+lat
class(ptos)
crs(ptos)
plot(ptos, axes=TRUE)
# Defininido o Sistema de Coordenadas
# WGS84 coords
crs(ptos) = crs("+proj=longlat")
plot(ptos, axes=T)
crs(ptos)
# removendo as amostras que estão erradas (ID passadas pelo trello... por sorte são id iniciando em 1036 ate 1047)
id <- seq(1036, 1047) # não se faz mais necessário após atualização Daniel
# Atenção para essa logica!
ptos <- ptos[! ptos$id %in% id, ]
plot(ptos)
# Criando um Buffer para definir area de estudo
# install.packages(rgeos)
library(rgeos)
# Vamos precisar converter para albers para informar o raio do buffer em metros
Albers <- "+proj=aea +lat_1=-5 +lat_2=-42 +lat_0=-32 +lon_0=-60 +x_0=0 +y_0=0 +ellps=aust_SA +units=m +no_defs"
# Plotando ptos em Albers mas fazendo a conversão na memoria do PC
?spTransform
plot(
spTransform(ptos, Albers), axes=TRUE)
# Adicionando ao plot anterior (argumento add=True) o buffer
?gBuffer
plot(
gBuffer(
spTransform(ptos, Albers),
byid=F, width = 100000)
, add=F, axes=T)
plot( spTransform(ptos, Albers), add=T, col = "blue", axes = TRUE)
ptsBuffer <- gBuffer(
spTransform(ptos, Albers),
byid=F, width = 100000)
ptsBuffer
plot(ptsBuffer, axes=T)
ptsBuffer <- spTransform(ptsBuffer, crs("+proj=longlat"))
# Salvando Resultado
?shapefile
shapefile(ptos, filename = "PontosGeradosR", overwrite=TRUE)
shapefile(ptsBuffer, filename = "BufferGeradosR", overwrite=TRUE)
# Mapa dinamico e rapido!
# install.packages(mapview)
library(mapview)
mapview(ptos)
mapview(ptsBuffer)
?mapview
# Categorizando os pontos por uma coluna
mapview(ptos, zcol = "estudo", burst = TRUE)
## Raster
lista <- list.files("./Data/MapBiomas", full.names = TRUE, pattern = '.tif$')
rs1 <- raster(lista[4])
# rs1 <- stack(lista[4])
# rs1 <- brick(lista[4])
?brick
plot(rs1, maxpixels = 10000)
plot(ptsBuffer, add=TRUE)
# Entendendo como manejar o raster
ptsBuffer2 <- gBuffer(
spTransform(ptos[1:100,], Albers),
byid=F, width = 100000)
ptsBuffer2 <- spTransform(ptsBuffer2, crs(ptos))
?crop
RasterTest <- crop(rs1, ptsBuffer2)
plot(RasterTest, maxpixels = 10000)
plot(ptsBuffer2, add=T)
# Aleatorio
set.seed(1)
sample(1:1000, 10)
# Logica
plot(RasterTest == 0, maxpixels = 10000)
RasterTest[RasterTest == 0] <- NA
?mosaic
# Mascarar ATENCAO pesado!
?mask
RasterTest <- mask(RasterTest, ptsBuffer2)
plot(RasterTest, maxpixels = 100)
plot(ptsBuffer2, add=T)
# Map biomas
Map biomas Floresta 1,2,3,4,5
# Estudo
clase 1 floresta
clase 2 floresta plantada
raster[raster==2] <- 1
raster[raster==3] <- 1
# raster[raster %in% c(1,2,3,4,5) ] <- 1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment