library(httr)
library(sf)
## Linking to GEOS 3.12.1, GDAL 3.8.4, PROJ 9.4.0; sf_use_s2() is TRUE
#si on veut afficher les mailles sur une carte
library(rnaturalearth)
library(rnaturalearthdata)
##
## Attachement du package : 'rnaturalearthdata'
## L'objet suivant est masqué depuis 'package:rnaturalearth':
##
## countries110
library(ggplot2)
path="/home/tloree/Documents/a_del/tmp/"
liste_maille_safran=c(1648, 1649, 1650, 1769)
parametre="ETP_Q,T_Q" #parametre à télécharger séparé par une virgule
date_dl="2023-01-01/2024-11-02"
## télécharger le fichier contenant l'emplacement des mailles
GET("https://object.files.data.gouv.fr/meteofrance/data/synchro_ftp/REF_CC/SIM/SIM2.kml",
write_disk(paste0(path,"SIM2.kml"),overwrite = TRUE))
## Response [https://object.files.data.gouv.fr/meteofrance/data/synchro_ftp/REF_CC/SIM/SIM2.kml]
## Date: 2024-12-05 09:32
## Status: 200
## Content-Type: application/octet-stream
## Size: 1.16 MB
## <ON DISK> /home/tloree/Documents/a_del/tmp/SIM2.kml
maille <- read_sf(paste0(path,"SIM2.kml"))
#affiche les mailles
##########################################
#affiche les mailles
##########################################
maille_bbox <- st_bbox(maille)
world <- ne_countries(scale = "medium", returnclass = "sf")
ggplot(data = world) +
geom_sf(fill = "lightgray", color = "white") +
geom_sf(data = maille, color = "black") +
coord_sf(
xlim = c(maille_bbox["xmin"], maille_bbox["xmax"]),
ylim = c(maille_bbox["ymin"], maille_bbox["ymax"])
)

##########################################
#affiche les mailles sélectionné pour voir si elles sont bien placées
##########################################
maille$Name<- as.integer(maille$Name)
subset_maille <- subset(maille, Name %in% liste_maille_safran)
maille_bbox <- st_bbox(subset_maille)
ggplot(data = world) +
geom_sf(fill = "lightgray", color = "white") +
geom_sf(data = subset_maille, color = "black") +
coord_sf(
xlim = c(maille_bbox["xmin"]-1, maille_bbox["xmax"]+1),
ylim = c(maille_bbox["ymin"]-1, maille_bbox["ymax"]+1)
)

##########################################
for (id_maille in liste_maille_safran) {
subset_geom <- maille[maille$Name == id_maille, ]
coords <- st_coordinates(subset_geom)
print(paste("Téléchargement id safran :", id_maille))
print(paste0("Coordonnées x: ",coords[1]," y: ",coords[2]))
response=GET(paste0("https://api.geosas.fr/edr/collections/safran-isba/position?",
"coords=POINT(",coords[1],"%20",coords[2],")&crs=EPSG:4326&",
"parameter-name=",parametre,"&f=CSV&datetime=",date_dl),
write_disk(paste0(path,id_maille,".csv"),overwrite = TRUE))
if (response$status_code == 200) {
print("La requête a réussi, le fichier a été téléchargé.")
} else {
print(paste("Erreur lors de la requête. Code :", response$status_code))
}
}
## [1] "Téléchargement id safran : 1648"
## [1] "Coordonnées x: -1.08582 y: 48.7022"
## [1] "La requête a réussi, le fichier a été téléchargé."
## [1] "Téléchargement id safran : 1649"
## [1] "Coordonnées x: -0.97728 y: 48.7053"
## [1] "La requête a réussi, le fichier a été téléchargé."
## [1] "Téléchargement id safran : 1650"
## [1] "Coordonnées x: -0.86873 y: 48.7083"
## [1] "La requête a réussi, le fichier a été téléchargé."
## [1] "Téléchargement id safran : 1769"
## [1] "Coordonnées x: -1.29783 y: 48.6239"
## [1] "La requête a réussi, le fichier a été téléchargé."