#Rotina de filtragem de dados do PREPS por modalidade de pesca e discretização para dados a cada 1 hora

packages<-c('dplyr','lubridate','raster')

package.check <- lapply(packages, FUN = function(x) {
  if (!require(x, character.only = TRUE)) {
    install.packages(x, dependencies = TRUE)
    library(x, character.only = TRUE)
  }
})
load('output_data/preps_bruto_SE_S.Rda')
length(unique(d$cod_embarcacao))
range(d$utc)
#Embarcacoes------------------
load('embarcacoes_final.Rda')
e<-efim%>%dplyr::select(cod_embarcacao,modalidade)
# e<-e[which(e$modalidade=='Arrasto de Fundo' | e$modalidade=='Espinhel Pelágico de Superfície' | e$modalidade=='Rede de Espera' |  e$modalidade=='Cerco'),]
rm(efim)



# d<-d[sample(1000000,100),]

# #Discretizando a cada uma hora-------------
d$hour<-hour(d$utc)
d$date<-date(d$utc)
time<-Sys.time()
Sys.time()
dh<-d%>%group_by(cod_embarcacao,date,hour)%>%
  summarise(lat=mean(lat),lon=mean(lon),vel=mean(velocidade),dist=sum(distancia))
Sys.time()-time
dh<-merge(dh,e,by='cod_embarcacao')

#Renomeando modalidades de pesca
dh$modalidade[dh$mod=='Espinhel Pelágico de Superfície']<-'Espinhel'
dh$modalidade[dh$mod=='Rede de Espera']<-'Emalhe'
dh$modalidade[dh$mod=='Arrasto de Fundo']<-'Arrasto'

# #Profundidade------------------
time1<-Sys.time()
bat<-raster('input_data/batimetria_dhn.tif')

prof<-extract(bat,dh[,c('lon','lat')])
dh<-cbind(dh,prof)
Sys.time()-time1

save(dh,file = 'output_data/preps_aggh_SE_S.Rda')