-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPlotaGraficosDecendiosIndividuais.R
More file actions
118 lines (100 loc) · 4.19 KB
/
PlotaGraficosDecendiosIndividuais.R
File metadata and controls
118 lines (100 loc) · 4.19 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
# Intalação de Pacotes
if (!require("rgdal")) install.packages("rgdal", repos = "http://cran.us.r-project.org")
if (!require("raster")) install.packages("raster", repos = "http://cran.us.r-project.org")
if (!require("sp")) install.packages("sp", repos = "http://cran.us.r-project.org")
if (!require("maptools")) install.packages("maptools", repos = "http://cran.us.r-project.org")
if (!require("rworldmap")) install.packages("rworldmap", repos = "http://cran.us.r-project.org")
if (!require("rgeos")) install.packages("rgeos", repos = "http://cran.us.r-project.org")
# Carregar Pacotes para avariavel
packs <- c(
"rgdal", "raster", "sp",
"maptools", "rworldmap", "rgeos"
)
# carrega os pacotes
lapply(packs, require, character.only = TRUE)
# Carregar Funções
source("funcoes.R")
# Criar os recortes do Paraná e da Mesorregião do Oeste do Paraná
# Carregar shapefiles e metadados
brasil_shapefile <- readOGR("./Centroides", "brasil")
# Extrair coordenadas do contorno do Paraná
parana_contorno <- brasil_shapefile@polygons[[221]]@Polygons[[1]]@coords
mapa_parana <- criar_recorte_regiao_especifica(parana_contorno)
# Carregar coordenadas da Mesorregião do Oeste do Paraná
coordenadas <- read.table("Centroides/oestepr_contorno.txt")
recorte_oeste_parana <- criar_recorte_regiao_especifica(coordenadas)
# Criar o círculo em Toledo e Cascavel
centroide <- c(-53.5, -25) # coordenadas do centroide do circulo
# Definir o raio do polígono circular
raio_poligono <- 0.36
circulo_toledo_cascavel <- criar_poligono_circular(centroide, raio_poligono)
# ano para rodar os scrypts
anos <- c("2018", "2019", "2020", "2021", "2022")
meses <- c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
dias <- c("01", "11", "20")
{
ano <- anos[1]
mes <- meses[1]
datas <- gerar_datas(ano, meses, dias)
# carrega os dados (GRIB) de um ano em decendios
# (parametro ano corresponde a pasta com os arquivo)
raster_ano_selecionado <- ler_arquivos_grib(ano)
# Empilhar os dados de precipitação do grib escolhodo
ecmwf_step_240_t00_d1_d11_d20 <-
stack_precipitacao_d1_d11_d20(raster_ano_selecionado[[mes]])
raster_com_decendios <- recortar_rasters(ecmwf_step_240_t00_d1_d11_d20[[1]], mapa_parana[[1]])
# Plotar os dados do grib escolhido
legend <- paste(
"Dados de Previsão de Precipitação para 240h do ECMWF.",
"\nPrimeiro decêndio de Janeiro de ", ano,
", para o estado do Paraná",
sep = ""
)
exemplo <- spplot(ecmwf_step_240_t00_d1_d11_d20[[1]], scales = list(draw = TRUE), main = legend)
# Plotar os dados no mapa do Paraná com todos os dias
exemplo2 <- spplot(raster_ano_selecionado[[1]], scales = list(draw = TRUE))
# Plotar os dados no mapa do Paraná com a Mesorregião do Oeste do Paraná
# com o círculo em Toledo e Cascavel
# cria a legenda para o mapa
legenda <- paste(
"Dados de Previsão de Precipitação \nPrimeiro decêndio de Janeiro de ",
ano
)
exemplo3 <- spplot(
raster_com_decendios,
scales = list(draw = TRUE),
sp.layout = list(
list(mapa_parana[[2]],lwd = 4, first = FALSE),
list(recorte_oeste_parana[[1]], lwd = 4, first = FALSE),
list(circulo_toledo_cascavel, lwd = 4, first = FALSE)
)
# , main = legenda
)
# Plotar os dados no mapa do Paraná com a Mesorregião do Oeste do Paraná
# e os números do grid na mesorregião
exemplo4 <- spplot(
raster_com_decendios[[1]],
scales = list(draw = TRUE),
sp.layout = list(
list(mapa_parana[[2]], first = FALSE),
list(recorte_oeste_parana[[1]], lwd = 2, first = FALSE),
list("sp.text", c(-54, -24.5), "1"),
list("sp.text", c(-53.5, -24.5), "2"),
list("sp.text", c(-54, -25), "3"),
list("sp.text", c(-53.5, -25), "4"),
list("sp.text", c(-53, -25), "5"),
list("sp.text", c(-54.45, -25.4), "6"),
list("sp.text", c(-54, -25.4), "7"),
list("sp.text", c(-53.5, -25.4), "8")
)
)
}
# Criar o arquivo PNG
nome_arquivo <- paste0("Graficos/exemploPixelsCoordenadasPrecipitacao2", ".png")
png(nome_arquivo, width = 10, height = 7, units = "in", res = 300)
print(exemplo3)
# Finalizar o arquivo SVG
dev.off()
pixels <- rasterToPoints(ecmwf_step_240_t00_d1_d11_d20[[1]])
# Adicionar rótulos aos pixels, se houver pixels
pixels[94, 1:2]