library(jsonlite) library(httr) devtools::load_all() source("secrets") # Create a Bearer token header headersLIM <- add_headers( accept = "*/*", apikey = token2 ) headersLIM2 <- add_headers( accept = "*/*", apikey = token ) headersPaquet <- add_headers( accept = "*/*", apikey = yearTokenPaquer ) # Test the function with dates and station ID start_date <- as.Date("2024-03-24") end_date <- as.Date("2024-08-14") station_id <- "38269004" #allstations=getStations(headersLIM) allstations=read.csv("allstations.csv") #write.csv(file="allstations.csv",allstation,row.names=F) lacouch.coor <- c(45.3722971,5.6387118) lamure.coor <- c(44.9167, 5.8000) vignass.coor=c(44.8550665,5.8441789) lamure.id=38269004 lavaldens.id=38269004 lacouch.id=38269004 lacouch.stats=getIdFromCoords(lacouch.coor,allstations,N=3) lamure.stats=getIdFromCoords(lamure.coor,allstations,N=3) vignass.stats=getIdFromCoords(vignass.coor,allstations,N=3) allvignass=getStationData(start_date="2024-06-24",end_date="2024-08-14",station_id=lamure.id,headers=headersLIM) alllavaldens=getStationData(start_date="2024-06-24",end_date="2024-08-14",station_id=38207001,headers=headersLIM) allcouch=getStationData(start_date="2024-06-24",end_date="2024-08-16",station_id=lacouch.id,headers=headersLIM) today=format(Sys.Date(), "%Y-%m-%d") monthan=format(Sys.Date()-45, "%Y-%m-%d") allvignass=lapply(vignass.stats$Id_station,function(statid){print(paste("recuperer station",statid));Sys.sleep(5);getStationData(start_date=monthan,end_date=today,station_id=statid,headers=headersLIM);paste("done, sleep 5 sec");Sys.sleep(5)}) alllacouch=lapply(lacouch.stats$Id_station,function(statid){print(paste("recuperer station",statid));statdat=tryCatch(getStationData(start_date=monthan,end_date=today,station_id=statid,headers=headersLIM),error=function(e)NULL);paste("done, sleep 5 sec");Sys.sleep(5);statdat}) getStationData(start_date="2024-07-04",end_date="2024-08-16",station_id=vignass.stats$Id_station[3],headers=headersLIM) allvignass.df=do.call("rbind.data.frame",allvignass) allvignass.df=allvignass.df[allvignass.df[,3]>0,] ids=vignass.stats$Nom_usuel names(ids)=vignass.stats$Id_station cols=palette.colors()[1:nrow(vignass.stats)] names(cols)=vignass.stats$Id_station plot(getDate(allvignass.df[,2]),allvignass.df[,3],pch=20,col=cols[as.character(allvignass.df[,1])],cex=2) legend("topleft",col=cols,legend=ids[names(cols)],pch=20,cex=2) abline(v=as.numeric(as.POSIXlt("2024-08-07",format="%Y-%m-%d")),lwd=3,col="red") alllacouch=do.call("rbind.data.frame",alllacouch) alllacouch=alllacouch[alllacouch[,3]>0,] ids=lacouch.stats$Nom_usuel names(ids)=lacouch.stats$Id_station cols=palette.colors()[1:nrow(lacouch.stats)] names(cols)=lacouch.stats$Id_station plot(getDate(alllacouch[,2]),alllacouch[,3],pch=20,col=cols[as.character(alllacouch[,1])],cex=2) legend("topleft",col=cols,legend=ids[names(cols)],pch=20,cex=2) paquetLamure=getStationPaquet(id_station=lamure) allal=getStationData(start_date="2024-01-24",end_date="2024-08-13",station_id=staupre,headers=headersLIM) plot(getDate(alllavaldens[,2]),alllavaldens[,3],lwd=3,type="l",col="red") plot(getDate(allmure[,2]),allmure[,3],pch=20,type="o",col="blue",ylab="preciptitation (mm)",main="La Mure/Lavalends",ylim=range(c(alllavaldens[,3],allmure[,3]),na.rm=T),cex=2) points(getDate(alllavaldens[,2]),alllavaldens[,3],pch=20,col="red",cex=2,type="o") points(getDate(allcouch[,2]),allcouch[,3],pch=20,col="green",cex=2,type="o") legend("topleft",col=c("blue","red","green"),legend=c("La Mure","Lavaldens","St Aupre"),cex=2,pch=20) plot(allmure[,3],alllavaldens[,3],col="red") library(httr) # Token to be included in the Authorization header (example token placeholder) df <- getStations() plot(df$Longitude,df$Latitude,xlim=c(-5.1,9.6),ylim=c(41.2,51.1),pch=21) # La Mure coordinates (latitude and longitude) la_mure_latitude <- 44.9167 la_mure_longitude <- 5.8000 # Define the bounding box for the region around La Mure in Isère # Adjust these values as needed to capture the desired area lat_min <- 44.5 lat_max <- 45.5 lon_min <- 5.4 lon_max <- 6.2 # Filter data for the region around La Mure df_la_mure <- df[df$Latitude >= lat_min & df$Latitude <= lat_max & df$Longitude >= lon_min & df$Longitude <= lon_max,] # Plot Latitude and Longitude for the region around La Mure plot(df_la_mure$Longitude, df_la_mure$Latitude, main = "Region around La Mure, Isère, France Plot", xlab = "Longitude", ylab = "Latitude") text(df_la_mure$Longitude, df_la_mure$Latitude,labels=df_la_mure$Nom_usuel,pos=3) text(df_la_mure$Longitude, df_la_mure$Latitude,labels=df_la_mure$Id_station,pos=1) library(ggmap) ggmap::register_google(key="AIzaSyBF0l8LHg5kBQInFgR9sD65H1ek0qvn2Yw") # Geocode La Salle en Beaumont using the Google Maps API location <- "La Salle en Beaumont, France" la_salle_geocode <- geocode(location) # Print the latitude and longitude of La Salle en Beaumont print(la_salle_geocode) library(osmdata) # Geocode La Salle en Beaumont using OpenStreetMap location <- "La Salle en Beaumont, France" la_salle_geocode <- osm_geocode(location) # Print the latitude and longitude of La Salle en Beaumont print(la_salle_geocode) library(tmap) datetime_obj <- as.POSIXlt(as.character(allmure[,2]), format = "%Y%m%d%H%M") datetime_obj <- as.POSIXlt(as.character(alllavaldens[,2]), format = "%Y%m%d%H%M") # Create the date object using the format argument plot(datetime_obj,alllavaldens[,3],lwd=2,type="l",col=2) # Print the date object # Convert temperature from Kelvin to Celsius temperature_celsius <- temperature_kelvin - 273.15 location <- "La Couchonnier, Saint Etienne de Crossey, France" couch <- geocode(location) couch <- osm_geocode(location) # Print the latitude and longitude of La Salle en Beaumont print(la_salle_geocode) 45.3722971,5.6387118