Chapitre 3 Traitement des données
Afin de faciliter l’appropriation des outils de traitement, un jeu de données de test a été inclus dans data(chronique_exemple). La structure des tables utilisées à proprement parler est également disponible dans data(chronique_structure_hors_bdd).
C’est à partir du jeu de données data(chronique_exemple) que les exemples suivants de traitement seront présentés.
3.1 Structure des données
Le jeu de données d’exemple est mis en mémoire. La structure des six principales tables est détaillé ci-dessous.
3.1.1 Format au sein de la base de données du RSTMAJ
Les formats présentés ci-dessous sont tels que présents au sein de la base de données PostGIS du RSTMAJ.
La structure des tables est visible via le jeu de données chronique_structure_hors_bdd.
3.1.1.1 Stations
Cette table contient la description des stations, notamment leur nommage homogène au sein du RSTMAJ.
## Classes 'sf' and 'data.frame': 0 obs. of 71 variables:
## $ id : int
## $ chsta_coderhj : chr
## $ chsta_codemo : chr
## $ chsta_codesie : chr
## $ chsta_mo : chr
## $ chsta_milieu : chr
## $ chsta_milieucodehydro : logi
## $ chsta_bassin : chr
## $ chsta_sousbassin : chr
## $ chsta_commune : chr
## $ chsta_departement : chr
## $ chsta_codecontextepdpg : chr
## $ chsta_pays : chr
## $ chsta_coord_x : num
## $ chsta_coord_y : num
## $ chsta_coord_type : chr
## $ chsta_fonctionnement : chr
## $ chsta_transmission : chr
## $ chsta_suivithermie : chr
## $ chsta_reseauthermietype : chr
## $ chsta_suivipiezo : chr
## $ chsta_suivihydro : chr
## $ chsta_suivio2 : chr
## $ chsta_suivipluvio : chr
## $ chsta_altitude : num
## $ chsta_distancesource : num
## $ chsta_distancesource_confluencedrainprincipal: num
## $ chsta_temperaturemax : int
## $ chsta_sectionmouillee : int
## $ chsta_durete : int
## $ chsta_largeurlitmineur : num
## $ chsta_largeurlitetiage : num
## $ chsta_pente : int
## $ chsta_typetheorique : chr
## $ chsta_surfacebassinversant : num
## $ chsta_carteign : chr
## $ chsta_rive : chr
## $ chsta_ancrage : chr
## $ chsta_acces : chr
## $ chsta_detailsloc : chr
## $ chsta_description : chr
## $ chsta_url : chr
## $ chsta_remarques : chr
## $ chsta_ordretournee : int
## $ chsta_impacts : chr
## $ chsta_profsonde : num
## $ chsta_substrats : chr
## $ chsta_distberge : num
## $ chsta_numphoto : chr
## $ chsta_zcapteur : num
## $ chsta_zbouchon : num
## $ chsta_typez : num
## $ chsta_hcapteurbouchon : chr
## $ chsta_module : num
## $ chsta_qmna5 : num
## $ chsta_q2 : num
## $ chsta_q5 : num
## $ chsta_q10 : num
## $ chsta_q20 : num
## $ chsta_q30 : num
## $ chsta_q50 : num
## $ chsta_q100 : num
## $ chsta_q300 : num
## $ chsta_ombrage : chr
## $ chsta_facies : chr
## $ chsta_sprep : chr
## $ chsta_codehydro : chr
## $ chsta_codemeteofrance : chr
## $ chsta_infl_ant_type : chr
## $ chsta_infl_nappe : chr
## $ geom :sfc_GEOMETRY of length 0 - attr(*, "sf_column")= chr "geom"
## - attr(*, "agr")= Factor w/ 3 levels "constant","aggregate",..: NA NA NA NA NA NA NA NA NA NA ...
## ..- attr(*, "names")= chr [1:70] "id" "chsta_coderhj" "chsta_codemo" "chsta_codesie" ...
3.1.1.2 Suivi
Cette table contient le suivi de terrain relatif à chaque intervention sur un point de suivi (pose, relève, dépose, etc.).
## tibble [0 × 16] (S3: tbl_df/tbl/data.frame)
## $ id : int(0)
## $ chsvi_mo : chr(0)
## $ chsvi_coderhj : chr(0)
## $ chsvi_typesuivi : chr(0)
## $ chsvi_operateurs : chr(0)
## $ chsvi_date : 'Date' num(0)
## $ chsvi_heure : chr(0)
## $ chsvi_capteur : chr(0)
## $ chsvi_valeur : num(0)
## $ chsvi_unite : chr(0)
## $ chsvi_profondeur : num(0)
## $ chsvi_action : chr(0)
## $ chsvi_fonctionnement: chr(0)
## $ chsvi_qualite : chr(0)
## $ chsvi_actionafaire : chr(0)
## $ chsvi_remarques : chr(0)
3.1.1.3 Mesures
Cette table contient les mesures/chroniques/séries à proprement parler.
## tibble [0 × 12] (S3: tbl_df/tbl/data.frame)
## $ id : int(0)
## $ chmes_coderhj : chr(0)
## $ chmes_capteur : chr(0)
## $ chmes_date : 'Date' num(0)
## $ chmes_heure : chr(0)
## $ chmes_valeur : num(0)
## $ chmes_unite : chr(0)
## $ chmes_typemesure : chr(0)
## $ chmes_validation : chr(0)
## $ chmes_mode_acquisition : chr(0)
## $ chmes_mode_integration : chr(0)
## $ chmes_referentiel_temporel: chr(0)
3.1.1.4 Capteurs
Cette table contient un descriptif rapide relatif à chaque capteur utilisé (marque, modèle, propriétaire, etc.).
## tibble [0 × 11] (S3: tbl_df/tbl/data.frame)
## $ id : int(0)
## $ chcap_proprietaire : chr(0)
## $ chcap_typecapteur : chr(0)
## $ chcap_modelecapteur : chr(0)
## $ chcap_numerocapteur : chr(0)
## $ chcap_etat : chr(0)
## $ chcap_projet : chr(0)
## $ chcap_originecapteur: chr(0)
## $ chcap_datedebut : chr(0)
## $ chcap_datefin : chr(0)
## $ chcap_remarques : chr(0)
3.1.1.5 Commentaires
Cette table contient les commentaires rédigés de chaque chronique pour chaque couple station-année biologique-paramètre.
## tibble [0 × 5] (S3: tbl_df/tbl/data.frame)
## $ id : int(0)
## $ chres_coderhj : chr(0)
## $ chres_typemesure : chr(0)
## $ chres_anneebiol : int(0)
## $ chres_commentaire: chr(0)
3.1.1.6 Résultats
Cette table contient les résultats/métriques calculés pour chaque couple station-année biologique-paramètre.
## tibble [0 × 78] (S3: tbl_df/tbl/data.frame)
## $ id : int(0)
## $ chres_coderhj : chr(0)
## $ chres_typemesure : chr(0)
## $ chres_periodetotale : chr(0)
## $ chres_annee : num(0)
## $ chres_anneevmm : num(0)
## $ chres_datedperiode : 'Date' num(0)
## $ chres_datefperiode : 'Date' num(0)
## $ chres_nbj : int(0)
## $ chres_intervallemax : chr(0)
## $ chres_dureetotale : chr(0)
## $ chres_nbjpasok : int(0)
## $ chres_nbjok : int(0)
## $ chres_vmini : num(0)
## $ chres_vmedi : num(0)
## $ chres_vmoyi : num(0)
## $ chres_vmaxi : num(0)
## $ chres_vamplii : num(0)
## $ chres_vari : num(0)
## $ chres_nmesuresi : int(0)
## $ chres_vmoyjminper : num(0)
## $ chres_datevmoyjminper : 'Date' num(0)
## $ chres_vmoyjmedper : num(0)
## $ chres_vmoyjmoyper : num(0)
## $ chres_vmoyjmaxper : num(0)
## $ chres_datevmoyjmaxper : 'Date' num(0)
## $ chres_amplitudevmoyjper : num(0)
## $ chres_varvmoyj : num(0)
## $ chres_vmaxmoy24h : num(0)
## $ chres_datemoyvmaxmoy24h : chr(0)
## $ chres_vmaxmoy7j : num(0)
## $ chres_datedebutvmaxmoy7j : 'Date' num(0)
## $ chres_datefinvmaxmoy7j : 'Date' num(0)
## $ chres_vmaxmoy30j : num(0)
## $ chres_datedebutvmaxmoy30j : 'Date' num(0)
## $ chres_datefinvmaxmoy30j : 'Date' num(0)
## $ chres_vmoymoy30j : num(0)
## $ chres_vminab : num(0)
## $ chres_datevminab : chr(0)
## $ chres_vmaxab : num(0)
## $ chres_datevmaxab : chr(0)
## $ chres_percentile10ab : num(0)
## $ chres_percentile25ab : num(0)
## $ chres_percentile50ab : num(0)
## $ chres_percentile75ab : num(0)
## $ chres_percentile90ab : num(0)
## $ chres_percentile90diurneab : num(0)
## $ chres_dureemaxepisodessup25: int(0)
## $ chres_nbjepisodessup25 : int(0)
## $ chres_nbepisodessup25 : int(0)
## $ chres_datedepisodessup25 : chr(0)
## $ chres_datefepisodessup25 : chr(0)
## $ chres_dureeepisodessup25 : chr(0)
## $ chres_dureemaxepisodessup22: int(0)
## $ chres_nbjepisodessup22 : int(0)
## $ chres_nbepisodessup22 : int(0)
## $ chres_datedepisodessup22 : 'POSIXct' num(0)
## - attr(*, "tzone")= chr ""
## $ chres_datefepisodessup22 : 'POSIXct' num(0)
## - attr(*, "tzone")= chr ""
## $ chres_dureeepisodessup22 : chr(0)
## $ chres_dureemaxepisodessup19: int(0)
## $ chres_nbjepisodessup19 : int(0)
## $ chres_nbepisodessup19 : int(0)
## $ chres_datedepisodessup19 : 'POSIXct' num(0)
## - attr(*, "tzone")= chr ""
## $ chres_datefepisodessup19 : 'POSIXct' num(0)
## - attr(*, "tzone")= chr ""
## $ chres_dureeepisodessup19 : chr(0)
## $ chres_dureemaxepisodessup15: int(0)
## $ chres_nbjepisodessup15 : int(0)
## $ chres_nbepisodessup15 : int(0)
## $ chres_datedepisodessup15 : 'POSIXct' num(0)
## - attr(*, "tzone")= chr ""
## $ chres_datefepisodessup15 : 'POSIXct' num(0)
## - attr(*, "tzone")= chr ""
## $ chres_dureeepisodessup15 : chr(0)
## $ chres_dureemaxepisodesinf4 : int(0)
## $ chres_nbjepisodesinf4 : int(0)
## $ chres_nbepisodesinf4 : int(0)
## $ chres_datedepisodesinf4 : 'POSIXct' num(0)
## - attr(*, "tzone")= chr ""
## $ chres_datefepisodesinf4 : 'POSIXct' num(0)
## - attr(*, "tzone")= chr ""
## $ chres_dureeepisodesinf4 : chr(0)
## $ chres_aquatoolsversion : chr(0)
3.2 Ouverture des données
Les données peuvent être importées à partir de la fonction chronique.ouverture().
mes_donnees <- chronique.ouverture(Type = "Mesures", typemesure = "Thermie", Localisation = "./data/Mesures/20347223.txt", skipvalue = 1, nbcolonnes = 6, typefichier = ".csv", typedate = "ymd")## Warning: One or more parsing issues, call `problems()` on your data frame for details,
## e.g.:
## dat <- vroom(...)
## problems(dat)
## Warning: There was 1 warning in `mutate()`.
## ℹ In argument: `Date = ymd(Date)`.
## Caused by warning:
## ! 1 failed to parse.
## Warning: There was 1 warning in `mutate()`.
## ℹ In argument: `Valeur = as.numeric(sub(",", ".", Valeur))`.
## Caused by warning:
## ! NAs introduits lors de la conversion automatique
Il est également possible de les importer par un traitement en lots.