#Heatmaps Preps

packages<-c('ggplot2','reshape','gdata','lubridate', 'dplyr','sf','adehabitatHR','spatialEco','raster','stringi')

package.check <- lapply(packages, FUN = function(x) {
  if (!require(x, character.only = TRUE)) {
    install.packages(x, dependencies = TRUE)
    library(x, character.only = TRUE)
  }
})


rm(list=ls()) ## Removendo as variáveis
gc()
zee.r<-raster('/home/gandra/github/preps/input_data/zee.tif')

load('output_data/preps_aggh.Rda')

l<-as.data.frame(stri_sort(unique(dh$modalidade)))
names(l)<-'mod'

l$vmin<-c(2,1,1,1)
l$vmax<-c(4,5,5,6)
l$pmin<-c(-200,-80,-5000,-5000)
l$pmax<-c(-2,-2,-2,-100)

seasons<-c('sum','aut','win','spr')
mmin<-c(1,4,7,9)
mmax<-c(3,6,8,12)
i=1
j=1

#Zerando antes do loop
kde_all<-zee.r
log_all<-c('mod','seas',0,0)


i=4
time1<-Sys.time()
for(i in 1:nrow(l)){
  df<-dh%>%filter(modalidade==l$mod[i], vel<=l$vmax[i], vel<=l$vmin[i],prof<=l$pmax[i],prof>=l$pmin[i])
  df<-df[complete.cases(df),]
  for (j in 1:length(seasons)){
    time<-Sys.time()
    dfs<-df[month(df$date)>=mmin[j] & month(df$date)<=mmax[j], ]
    xy<-dfs[,5:4]
    spdf <- SpatialPointsDataFrame(coords = xy, data = dfs,
                                   proj4string = CRS("+init=epsg:4326"))
    # plot(spdf)
    kde<-sp.kde(spdf,y=1,bw=.5,newdata = zee.r, standardize = T)
    kde<-raster::resample(kde,zee.r)*zee.r
    names(kde)<-paste(l$mod[i], seasons[j],sep="_")
    kde_all<-stack(kde_all,kde)
    log<-c(l$mod[i],seasons[j],nrow(dfs),length(unique(dfs$cod_embarcacao)))
    log_all<-rbind(log_all,log)
    rm(dfs,spdf,xy,kde,log)
    print(i)
    print(j)
    print(l$mod[i])
    print(seasons[j])
    print(Sys.time()-time)
    print(Sys.time()-time1)
  }
  rm(df)
}
# plot(kde_all)

kde_all<-subset(kde_all,subset=2:nlayers(kde_all))

save(kde_all,log_all, file='output_data/kde_all.Rda')
