library(sf)
library(mapview)
library(raster)
library(jsonlite)
library(dplyr)
library(tidyr)
library(sp)
library(mapview)
library(chron)
library(stringr)
library(ggplot2)
load("C:/Users/fagne/OneDrive/r-files/CIET/data/LogradourosPoA.Rda")
vias = c("EDGAR PIRES DE CASTRO", " JUCA BATISTA", " A J RENNER", "AZENHA", "IPIRANGA", "JOAO PESSOA", "PROTASIO ALVES", "SERTORIO", "GETULIO VARGAS", "CEL APARICIO BORGES", "GETULIO VARGAS", "ASSIS BRASIL", "JOAO DE OLIVEIRA REMIAO", "BENTO GONCALVES", "CARLOS GOMES", "JOAO DE OLIVEIRA REMIAO", "MANOEL ELIAS", "EDVALDO PEREIRA PAIVA", "CAVALHADA", "PRESIDENTE CASTELO BRANCO", "PRAIA DE BELAS", "SEVERO DULLIUS", "WENCESLAU ESCOBAR", "EDUARDO PRADO", "DONA TEODORA", "FARRAPOS", "VOLUNTARIOS DA PATRIA", "BORGES DE MEDEIROS", "INDEPENDENCIA", "VINTE QUATRO DE OUTUBRO", " MOSTARDEIRO")
aoi_boundary_HARVsub = aoi_boundary_HARV[aoi_boundary_HARV$NMIDELOG == "OSVALDO ARANHA",]
for (via in vias) {
aoi_boundary_HARVsubTemp = aoi_boundary_HARV[aoi_boundary_HARV$NMIDELOG == via,]
aoi_boundary_HARVsub = rbind(aoi_boundary_HARVsub, aoi_boundary_HARVsubTemp)
}
dim(aoi_boundary_HARVsub)
## [1] 1269 22
pal = mapviewPalette("mapviewTopoColors")
paletta = colorRampPalette(c("#00afb9","#f08700"), space="Lab" )
mapview(aoi_boundary_HARVsub, zcol= 'sentidoDuplo', color = paletta, lwd=5, layer.name = "aoi_boundary_HARV", alpha = 1,
legend = TRUE, map.types=c("CartoDB.DarkMatter", "CartoDB.Positron","OpenStreetMap", "Esri.WorldImagery", "Esri.WorldStreetMap", "OpenTopoMap"))
load("C:/Users/fagne/OneDrive/r-files/CIET/waze_download/waze.Rda")
waze = waze %>%
filter(str_detect(dia, "feira"))
congestionamentos = waze
congestionamentos$sentido = "C/B"
congestionamentos_m_a = congestionamentos[congestionamentos$hora > "07:00:00",]
congestionamentos_m_a = congestionamentos_m_a[congestionamentos_m_a$hora < "09:00:00",]
congestionamentos_m_a = congestionamentos_m_a[congestionamentos_m_a$pubMillis >= "2019-11-13",]
congestionamentos_m_a = congestionamentos_m_a[congestionamentos_m_a$pubMillis < "2019-11-14",]
vias_de_interesse = c('Av. Osvaldo Aranha', 'Av. Ipiranga', 'Av. João Pessoa', 'Av. da Azenha', 'Av. Protásio Alves', 'Av. Sertório', 'Av. Carlos Gomes', 'Av. Getúlio Vargas', 'Av. Assis Brasil', 'Av. Cel. Aparício Borges', 'Est. João de Oliveira Remião', 'Av. Bento Gonçalves', 'R. Da. Teodora', 'Av. Manoel Elias', 'Av. da Cavalhada', 'Av. A. J. Renner', 'Av. Farrapos', 'Av. João Pessoa - Pista Esq.', 'Av. João Pessoa - Pista Dir.', 'Av. Edvaldo Pereira Paiva', 'Av. Pres. Castello Branco', 'Av. Praia de Belas - Pista Esq.', 'Av. Praia de Belas - Pista Dir.', 'Av. Praia de Belas', 'Av. Severo Dullius', 'Av. Wenceslau Escobar', 'Av. Edgar Pires de Castro', 'Av. Juca Batista', 'Av. Eduardo Prado', 'R. Voluntários da Pátria', 'Av. Borges de Medeiros', 'R. 24 de Outubro', 'Av. Independência', 'Av. Independência - Pista Dir.', 'Av. Independência - Pista Esq.', 'R. Mostardeiro')
congestionamentos_m_a = subset(congestionamentos_m_a,street %in% vias_de_interesse)
#congestionamentos_m_a = congestionamentos_m_a[!duplicated(congestionamentos_m_a[9]),]
#congestionamentos_m_a = congestionamentos_m_a[!duplicated(congestionamentos_m_a[4]),]
lista = list()
nomes_linhas = list()
pracaAlfandega = as.data.frame(cbind(c(-51.23105), c(-30.02961)))
for (i in 1:length(congestionamentos_m_a$country)) {
nomes_linhas[i] = i
teste = congestionamentos_m_a$line[i]
teste = as.data.frame(teste)
inicioLinha = head(teste,1)
fimLinha = tail(teste,1)
#ACinicioLinha = pointDistance(antonioCarvalho, inicioLinha, lonlat=TRUE)
#ACfimLinha = pointDistance(antonioCarvalho, fimLinha, lonlat=TRUE)
inicioLinha = pointDistance(pracaAlfandega, inicioLinha, lonlat=TRUE)
fimLinha = pointDistance(pracaAlfandega, fimLinha, lonlat=TRUE)
if (fimLinha < inicioLinha) {
congestionamentos_m_a$sentido[i] = "B/C"
}
l1 = cbind(c(teste$x),c(teste$y))
Sl1 = Line(l1)
S1 = Lines(list(Sl1), ID=i)
lista[i] = S1
}
Sl = SpatialLines(lista)
class(Sl)
## [1] "SpatialLines"
## attr(,"package")
## [1] "sp"
options(scipen = 999)
data = min(congestionamentos_m_a$date)
minimo = as.character(min(congestionamentos_m_a$hora))
maximo = as.character(max(congestionamentos_m_a$hora))
totalFilas = sum(congestionamentos_m_a$length)
#paste("Extensão de congesionamentos:", sum(congestionamentos_m_a$length))
extensaoTotalVias = round(sum(ifelse(aoi_boundary_HARVsub$sentidoDuplo == 0, aoi_boundary_HARVsub$GEOM_LEN, aoi_boundary_HARVsub$GEOM_LEN * 2))*1000,0)
indiceCongestionamentos = paste(round(sum(congestionamentos_m_a$length)/sum(ifelse(aoi_boundary_HARVsub$sentidoDuplo == 0, aoi_boundary_HARVsub$GEOM_LEN, aoi_boundary_HARVsub$GEOM_LEN * 2))/10, 2), "%", sep = "")
indiceBC = paste(round(sum(congestionamentos_m_a[congestionamentos_m_a$sentido =="B/C", c('length')])/sum(ifelse(aoi_boundary_HARVsub$sentidoDuplo == 0, aoi_boundary_HARVsub$GEOM_LEN, aoi_boundary_HARVsub$GEOM_LEN * 2))/10, 2), "%", sep = "")
indiceCB= paste(round(sum(congestionamentos_m_a[congestionamentos_m_a$sentido =="C/B", c('length')])/sum(ifelse(aoi_boundary_HARVsub$sentidoDuplo == 0, aoi_boundary_HARVsub$GEOM_LEN, aoi_boundary_HARVsub$GEOM_LEN * 2))/10, 2), "%", sep = "")
Mapa de Congestionamentos
Índices de Congestionamento