From 76ea77cb0ca78ad0ae30f06cba4c2c26b2f07f0a Mon Sep 17 00:00:00 2001
From: "louis.heraut" <louis.heraut@inrae.fr>
Date: Thu, 13 Jan 2022 17:49:32 +0100
Subject: [PATCH] Map sub basin

---
 plotting/map.R       |  5 +++++
 processing/extract.R |  9 +++++++--
 script.R             | 40 ++++++++++++++++++++++------------------
 3 files changed, 34 insertions(+), 20 deletions(-)

diff --git a/plotting/map.R b/plotting/map.R
index 3f9a3b9..5dc1e2c 100644
--- a/plotting/map.R
+++ b/plotting/map.R
@@ -33,6 +33,7 @@ map_panel = function (list_df2plot, df_meta, df_shapefile, idPer=1, outdirTmp=''
     # Extract shapefiles
     df_france = df_shapefile$france
     df_bassin = df_shapefile$bassin
+    df_subbassin = df_shapefile$subbassin
     df_river = df_shapefile$river
 
     # Number of variable/plot
@@ -238,6 +239,10 @@ map_panel = function (list_df2plot, df_meta, df_shapefile, idPer=1, outdirTmp=''
             geom_polygon(data=df_bassin,
                          aes(x=long, y=lat, group=group),
                          color="grey70", fill=NA, size=sizebs) +
+            # Plot the hydrological sub-basin
+            geom_polygon(data=df_subbassin,
+                         aes(x=long, y=lat, group=group),
+                         color="grey70", fill=NA, size=sizebs) +
             # Plot the countour of France
             geom_polygon(data=df_france,
                          aes(x=long, y=lat, group=group),
diff --git a/processing/extract.R b/processing/extract.R
index e55be5c..20e3643 100644
--- a/processing/extract.R
+++ b/processing/extract.R
@@ -477,11 +477,12 @@ extract_data = function (computer_data_path, filedir, filename,
 ## 4. SHAPEFILE MANAGEMENT
 # Generates a list of shapefiles to draw a hydrological map of
 # the France
-ini_shapefile = function (computer_data_path, fr_shpdir, fr_shpname, bs_shpdir, bs_shpname, rv_shpdir, rv_shpname, riv=TRUE) {
+ini_shapefile = function (computer_data_path, fr_shpdir, fr_shpname, bs_shpdir, bs_shpname, sbs_shpdir, sbs_shpname, rv_shpdir, rv_shpname, riv=TRUE) {
 
     # Path for shapefile
     fr_shppath = file.path(computer_data_path, fr_shpdir, fr_shpname)
     bs_shppath = file.path(computer_data_path, bs_shpdir, bs_shpname)
+    sbs_shppath = file.path(computer_data_path, sbs_shpdir, sbs_shpname)
     rv_shppath = file.path(computer_data_path, rv_shpdir, rv_shpname)
 
     # France
@@ -495,6 +496,10 @@ ini_shapefile = function (computer_data_path, fr_shpdir, fr_shpname, bs_shpdir,
     bassin = readOGR(dsn=bs_shppath, verbose=FALSE)
     df_bassin = tibble(fortify(bassin))
 
+    # Hydrological basin
+    subbassin = readOGR(dsn=sbs_shppath, verbose=FALSE)
+    df_subbassin = tibble(fortify(subbassin))
+
     # If the river shapefile needs to be load
     if (riv) {
         # Hydrographic network
@@ -504,5 +509,5 @@ ini_shapefile = function (computer_data_path, fr_shpdir, fr_shpname, bs_shpdir,
     } else {
         df_river = NULL   
     }
-    return (list(france=df_france, bassin=df_bassin, river=df_river))
+    return (list(france=df_france, bassin=df_bassin, subbassin=df_subbassin, river=df_river))
 }
diff --git a/script.R b/script.R
index 5837c22..9b171a9 100644
--- a/script.R
+++ b/script.R
@@ -55,7 +55,7 @@ filedir =
 # Name of the file that will be analysed from the BH directory
 # (if 'all', all the file of the directory will be chosen)
 filename =
-    # ""
+    ""
 
     # c(
       # "S2235610_HYDRO_QJM.txt", 
@@ -65,12 +65,12 @@ filename =
       # "O0384010_HYDRO_QJM.txt"
       # )
 
-    c(
+    # c(
       # "S4214010_HYDRO_QJM.txt",
-      "O0384010_HYDRO_QJM.txt",
+      # "O0384010_HYDRO_QJM.txt",
       # "Q7002910_HYDRO_QJM.txt",
-      "O3006710_HYDRO_QJM.txt"
-      )
+      # "O3006710_HYDRO_QJM.txt"
+      # )
 
 
 
@@ -81,8 +81,8 @@ AGlistdir =
     ""
 
 AGlistname = 
-    ""
-    # "Liste-station_RRSE.docx" 
+    # ""
+    "Liste-station_RRSE.docx" 
 
 
 ## NIVALE SELECTION
@@ -119,6 +119,10 @@ fr_shpname = 'gadm36_FRA_0.shp'
 bs_shpdir = 'map/bassin'
 bs_shpname = 'BassinHydrographique.shp'
 
+# Path to the shapefile for sub-basin shape from 'computer_data_path' 
+sbs_shpdir = 'map/sous_bassin'
+sbs_shpname = 'SousBassinHydrographique.shp'
+
 # Path to the shapefile for river shape from 'computer_data_path' 
 rv_shpdir = 'map/river'
 rv_shpname = 'CoursEau_FXX.shp'
@@ -241,9 +245,9 @@ res_VCN10trend = get_VCN10trend(df_data, df_meta,
                                 p_thresold=p_thresold)
 
 # VCN10 date trend
-res_dateVCN10trend = get_dateVCN10trend(df_data, df_meta, 
-                                        period=trend_period,
-                                        p_thresold=p_thresold)
+# res_dateVCN10trend = get_dateVCN10trend(df_data, df_meta, 
+                                        # period=trend_period,
+                                        # p_thresold=p_thresold)
 
 ### 3.3. Break analysis
 # df_break = get_break(res_QAtrend$data, df_meta)
@@ -259,7 +263,7 @@ res_dateVCN10trend = get_dateVCN10trend(df_data, df_meta,
 
 ## 4. PLOTTING
 # Shapefile importation in order to it only once time
-df_shapefile = ini_shapefile(computer_data_path, fr_shpdir, fr_shpname, bs_shpdir, bs_shpname, rv_shpdir, rv_shpname, riv=FALSE)
+df_shapefile = ini_shapefile(computer_data_path, fr_shpdir, fr_shpname, bs_shpdir, bs_shpname, sbs_shpdir, sbs_shpname, rv_shpdir, rv_shpname, riv=FALSE)
 
 ### 4.1. Simple time panel to criticize station data
 # Plot time panel of debit by stations
@@ -276,20 +280,20 @@ df_shapefile = ini_shapefile(computer_data_path, fr_shpdir, fr_shpname, bs_shpdi
 
 ### 4.2. Analysis layout 
 datasheet_layout(isplot=c(
-                     'datasheet'
+                     # 'datasheet'
                      # 'matrix',
-                     # 'map'
+                     'map'
                  ),
                  df_meta=df_meta,
                  df_data=list(res_QAtrend$data,
                               res_QMNAtrend$data,
-                              res_VCN10trend$data,
-                              res_dateVCN10trend$data), 
+                              res_VCN10trend$data),
+                              # res_dateVCN10trend$data), 
                  df_trend=list(res_QAtrend$trend,
                                res_QMNAtrend$trend,
-                               res_VCN10trend$trend,
-                               res_dateVCN10trend$trend),
-                 type=list('QA', 'QMNA', 'VCN10', 'VCN10 date'),
+                               res_VCN10trend$trend),
+                               # res_dateVCN10trend$trend),
+                 type=list('QA', 'QMNA', 'VCN10'),#, 'VCN10 date'),
                  
                  layout_matrix=matrix(c(1, 2, 3, 4, NA, NA), ncol=2),
                  
-- 
GitLab