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")
aoi_boundary_HARVsub = aoi_boundary_HARV[aoi_boundary_HARV$NMIDELOG == "OSVALDO ARANHA",]
dim(aoi_boundary_HARVsub)
## [1] 15 22
pal = mapviewPalette("mapviewTopoColors")
paletta = colorRampPalette(c("#1E90FF", "#3CB371"), 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.Positron","CartoDB.DarkMatter", "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')
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]),]
View(congestionamentos_m_a)
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"

Mapa de Congestionamentos

Congestionamentos identificados na data de 2019-11-13 entre 08:52:19 e 08:55:27

proj4string(Sl) <- CRS("+init=epsg:4326")
row.names(congestionamentos_m_a) = row.names(Sl)
SlDF <- SpatialLinesDataFrame(Sl, data = congestionamentos_m_a %>% dplyr::select(-c("line", "segments") )  )
paletta = colorRampPalette(c("#ff0000","#cc0099", "orange", "yellow", "green", "blue"), space="Lab" )
mapview(SlDF, zcol= 'sentido', color = paletta, layer.name = 'Sentido', lwd=4,
      legend = TRUE, map.types=c("CartoDB.Positron" ,"OpenStreetMap", "Esri.WorldImagery", "CartoDB.DarkMatter", "Esri.WorldStreetMap"))

Índices de Congestionamento

## [1] "Extensão de congesionamentos: 1637"
## [1] "Extensão da Via: 2778"
## [1] "Índice de Congestionamento: 58.93%"
## [1] "Índice de Congestionamento B/C: 23.47%"
## [1] "Índice de Congestionamento C/B: 35.46%"