From 2b474f30c35974e7d2bcb7abcf9c60e046769dc2 Mon Sep 17 00:00:00 2001
From: Daniel Kalioudjoglou
 <daniel.kalioudjoglou@developpement-durable.gouv.fr>
Date: Fri, 28 May 2021 11:13:57 +0200
Subject: [PATCH 1/3] creation carte communale de l evolution des surfaces
 cadastrees

ticket 39
---
 NAMESPACE                                     |  1 +
 R/creer_carte_2_7.R                           | 55 ++++++++++++
 devstuff_history.R                            |  5 ++
 .../publication/skeleton/skeleton.Rmd         |  7 ++
 man/creer_carte_2_7.Rd                        | 20 +++++
 tests/testthat/test-creer_carte_2_7.R         |  7 ++
 vignettes/bg-ch2-7.Rmd                        | 30 +++++++
 vignettes/test.R                              | 88 +++++++++----------
 8 files changed, 168 insertions(+), 45 deletions(-)
 create mode 100644 R/creer_carte_2_7.R
 create mode 100644 man/creer_carte_2_7.Rd
 create mode 100644 tests/testthat/test-creer_carte_2_7.R
 create mode 100644 vignettes/bg-ch2-7.Rmd

diff --git a/NAMESPACE b/NAMESPACE
index 2e51793..5af0c97 100644
--- a/NAMESPACE
+++ b/NAMESPACE
@@ -4,6 +4,7 @@ export("%>%")
 export(creer_carte_1_3)
 export(creer_carte_1_7)
 export(creer_carte_2_2)
+export(creer_carte_2_7)
 export(creer_carte_3_2)
 export(creer_graphe_1_1)
 export(creer_graphe_1_4)
diff --git a/R/creer_carte_2_7.R b/R/creer_carte_2_7.R
new file mode 100644
index 0000000..26c0c1c
--- /dev/null
+++ b/R/creer_carte_2_7.R
@@ -0,0 +1,55 @@
+#' Creation de la carte regionale de l evolution des surfaces cadastrees
+#' @description carte regionale de l evolution des surfaces cadastrees
+#'
+#' @param millesime_obs_artif une année parmi les millesimes sélectionnables par l'utilisateur, au format numerique.
+#'
+#' @return une carte regionale
+#'
+#' @importFrom dplyr filter select mutate arrange
+#' @importFrom forcats fct_drop fct_relevel
+#' @importFrom ggplot2 ggplot geom_bar aes geom_text labs facet_wrap theme element_text scale_y_continuous
+#' @importFrom gouvdown scale_fill_gouv_discrete
+#' @importFrom glue glue
+#' @importFrom lubridate year
+#' @importFrom stringr str_wrap
+#' @importFrom mapfactory format_fr
+#'
+#' @export
+#'
+#' @examples
+#' creer_carte_2_7(millesime_obs_artif = 2019)
+creer_carte_2_7 <- function(millesime_obs_artif) {
+
+  # calcul des millesimes de la carte
+  millesime_debut <- millesime_obs_artif - 10
+  millesime_fin <- millesime_obs_artif - 1
+
+  # Creation de la table utile a la production du graphique
+  data <- observatoire_artificialisation %>%
+    dplyr::mutate(date = as.numeric(lubridate::year(.data$date))) %>%
+    dplyr::filter(.data$TypeZone == "Communes",
+                  .data$date <= millesime_obs_artif,
+                  .data$date >= millesime_obs_artif - 9) %>%
+    dplyr::mutate(flux_naf_artificialisation_total = .data$flux_naf_artificialisation_total / 10000) %>%
+    dplyr::group_by(.data$CodeZone, .data$TypeZone, .data$Zone) %>%
+    dplyr::summarise(valeur = sum(.data$flux_naf_artificialisation_total, na.rm = T))
+
+
+  fond_cartographique <- mapfactory::fond_carto(nom_reg = "Pays de la Loire")
+  bins  <- stats::quantile(data$valeur,probs = c(0,0.1, 0.25, 0.5,0.75,0.9,1),na.rm=TRUE)
+
+  carte_2_7 <- mapfactory::creer_carte_communes(data = data,
+                                                code_region=52,
+                                                carto = fond_cartographique,
+                                                indicateur = valeur,
+                                                bornes = bins,
+                                                decimales = 0,
+                                                titre = glue::glue("Evolution des surfaces cadastr\u00e9es\n entre {millesime_debut} et {millesime_fin}"),
+                                                sous_titre = NULL,
+                                                bas_de_page = glue::glue("Source : DGFip/Cerema {millesime_obs_artif}"),
+                                                suffixe = "ha"
+  )
+
+
+  return(carte_2_7)
+}
diff --git a/devstuff_history.R b/devstuff_history.R
index 07bb31e..9fc0516 100644
--- a/devstuff_history.R
+++ b/devstuff_history.R
@@ -70,6 +70,11 @@ usethis::use_vignette("bd-ch2-4","bd- Chapitre 2 Graphe 4")
 usethis::use_r("creer_graphe_2_4")
 usethis::use_test("creer_graphe_2_4")
 
+##creer_carte_2_7
+usethis::use_vignette("bg-ch2-7","bg- Chapitre 2 Carte 7")
+usethis::use_r("creer_carte_2_7")
+usethis::use_test("creer_carte_2_7")
+
 ##creer_carte_3_2
 usethis::use_vignette("cb-ch3-2","cb- Chapitre 3 Carte 2")
 usethis::use_r("creer_carte_3_2")
diff --git a/inst/rmarkdown/templates/publication/skeleton/skeleton.Rmd b/inst/rmarkdown/templates/publication/skeleton/skeleton.Rmd
index 59b3f8c..89b98c6 100644
--- a/inst/rmarkdown/templates/publication/skeleton/skeleton.Rmd
+++ b/inst/rmarkdown/templates/publication/skeleton/skeleton.Rmd
@@ -81,6 +81,13 @@ creer_graphe_2_3( params$millesime_obs_artif_gk3)
 ```{r graph conso espace departements 10 ans,fig.width=5,fig.height=7}
 creer_graphe_2_4( params$millesime_obs_artif)
 ```
+
+```{r carte communale de l evolution des surfaces cadastrees,fig.width=9,fig.height=7}
+creer_carte_2_7( params$millesime_obs_artif)
+```
+
+
+
 ## Chapitre 3
 
 ```{r carte communale de l etalement urbain,fig.width=9,fig.height=7}
diff --git a/man/creer_carte_2_7.Rd b/man/creer_carte_2_7.Rd
new file mode 100644
index 0000000..5cea42f
--- /dev/null
+++ b/man/creer_carte_2_7.Rd
@@ -0,0 +1,20 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/creer_carte_2_7.R
+\name{creer_carte_2_7}
+\alias{creer_carte_2_7}
+\title{Creation de la carte regionale de l evolution des surfaces cadastrees}
+\usage{
+creer_carte_2_7(millesime_obs_artif)
+}
+\arguments{
+\item{millesime_obs_artif}{une année parmi les millesimes sélectionnables par l'utilisateur, au format numerique.}
+}
+\value{
+une carte regionale
+}
+\description{
+carte regionale de l evolution des surfaces cadastrees
+}
+\examples{
+creer_carte_2_7(millesime_obs_artif = 2019)
+}
diff --git a/tests/testthat/test-creer_carte_2_7.R b/tests/testthat/test-creer_carte_2_7.R
new file mode 100644
index 0000000..44f564c
--- /dev/null
+++ b/tests/testthat/test-creer_carte_2_7.R
@@ -0,0 +1,7 @@
+test_that("creer_carte_2_7 fonctionne", {
+
+  # Test que la carte est un ggplot
+  objet <- creer_carte_2_7(millesime_obs_artif = 2019)
+  testthat::expect_equal(attr(objet, "class"), c("gg","ggplot"))
+
+})
diff --git a/vignettes/bg-ch2-7.Rmd b/vignettes/bg-ch2-7.Rmd
new file mode 100644
index 0000000..73c1245
--- /dev/null
+++ b/vignettes/bg-ch2-7.Rmd
@@ -0,0 +1,30 @@
+---
+title: "bg- Chapitre 2 Carte 7"
+output: rmarkdown::html_vignette
+vignette: >
+  %\VignetteIndexEntry{bg- Chapitre 2 Carte 7}
+  %\VignetteEngine{knitr::rmarkdown}
+  %\VignetteEncoding{UTF-8}
+---
+
+```{r, include = FALSE}
+knitr::opts_chunk$set(
+  collapse = TRUE,
+  echo = FALSE, 
+  message = FALSE, 
+  warning = FALSE, 
+  error = FALSE,
+  comment = "#>",
+  fig.width = 9,
+  fig.height = 7
+)
+
+```
+
+# Descriptif
+La fonction `creer_carte_2_7()` produit la carte regionale de l evolution des surfaces cadastrees en hectares.
+
+```{r setup}
+library(propre.artificialisation)
+creer_carte_2_7(millesime_obs_artif = 2019)
+```
diff --git a/vignettes/test.R b/vignettes/test.R
index bee4bcf..94481ce 100644
--- a/vignettes/test.R
+++ b/vignettes/test.R
@@ -1,58 +1,56 @@
-#' Creation du graphique du taux d'evolution 2009/19 (%) de l'artificialisation cadastree des differentes regions.
-#' @description Graphique du taux d'evolution 2009/19 (%) de l'artificialisation cadastree des differentes regions.
+#' Creation de la carte regionale de l evolution des surfaces cadastrees
+#' @description carte regionale de l evolution des surfaces cadastrees
 #'
-#' @param millesime_teruti une année parmi les millesimes sélectionnables par l'utilisateur, au format numerique.
+#' @param millesime_obs_artif une année parmi les millesimes sélectionnables par l'utilisateur, au format numerique.
 #'
-#' @return Un diagramme en barres
+#' @return une carte regionale
 #'
-#' @importFrom dplyr mutate filter select group_by case_when
-#' @importFrom forcats fct_reorder
-#' @importFrom ggplot2 ggplot aes geom_bar geom_text position_dodge coord_flip labs theme element_text scale_y_continuous
+#' @importFrom dplyr filter select mutate arrange
+#' @importFrom forcats fct_drop fct_relevel
+#' @importFrom ggplot2 ggplot geom_bar aes geom_text labs facet_wrap theme element_text scale_y_continuous
+#' @importFrom gouvdown scale_fill_gouv_discrete
 #' @importFrom glue glue
-#' @importFrom scales number_format
+#' @importFrom lubridate year
+#' @importFrom stringr str_wrap
+#' @importFrom mapfactory format_fr
 #'
 #' @export
 #'
 #' @examples
-#' creer_graphe_2_3(millesime_obs_artif_gk3=2019)
+#' creer_carte_2_7(millesime_obs_artif = 2019)
+creer_carte_2_7 <- function(millesime_obs_artif) {
 
-creer_graphe_2_3 <- function(millesime_obs_artif_gk3){
+  # calcul des millesimes de la carte
+  millesime_debut <- millesime_obs_artif - 10
+  millesime_fin <- millesime_obs_artif - 1
 
   # Creation de la table utile a la production du graphique
-  data <- observatoire_artificialisation_gk3 %>%
-    dplyr::mutate(date=year(.data$date)) %>%
-    dplyr::filter(.data$TypeZone == "R\u00e9gions",
-                  !(.data$CodeZone %in% c("01","02","03","04","06")),
-                  .data$date == millesime_obs_artif_gk3 | .data$date == millesime_obs_artif_gk3 - 9) %>%
-    dplyr::select (-.data$surface_naf) %>%
-    dplyr::group_by(.data$TypeZone,.data$Zone,.data$CodeZone) %>%
-    summarise(evolution=round((sum(surface_artificialisee[which(date==2019)],na.rm=T) - sum(surface_artificialisee[which(date==2010)],na.rm=T))/10000,0)) %>%
-    dplyr::mutate(couleur_barre = dplyr::case_when(
-      .data$CodeZone=="52"~ 1,
-      TRUE ~ 0))
-
-  valeur_max <- max(data$evolution,na.rm=T)
-  millesime_debut <- millesime_obs_artif_gk3 - 9
-
-  graph_2_3<-data  %>%
-    ggplot2::ggplot(ggplot2::aes(x=forcats::fct_reorder(.data$Zone,.data$evolution,.desc=F), ymax=valeur_max+5000, y=.data$evolution,fill=.data$couleur_barre)) +
-    ggplot2::geom_bar(stat="identity")+
-    ggplot2::geom_text(ggplot2::aes(y=.data$evolution ,
-                                    label=.data$evolution,
-                                    color = .data$couleur_barre
-    ),
-    position= ggplot2::position_dodge(width=1),
-    vjust=0.5,
-    hjust=-0.5,
-    size=3) +
-    ggplot2::coord_flip(expand = FALSE) +
-    ggplot2::labs(title=glue::glue("\u00e9volution {millesime_debut} - {millesime_obs_artif_gk3} en hectares\nde l'artificialisation cadastr\u00e9e par r\u00e9gion"),
-                  subtitle="",x="",y="",
-                  fill="",
-                  caption = glue::glue("Source : Observatoire artificialisation {millesime_obs_artif_gk3}"))+
-    ggplot2::theme(axis.text.x = ggplot2::element_text(), legend.position = "none") +
-    ggplot2::scale_y_continuous(labels = scales::number_format(suffix = "", accuracy = 1))
-
-  return(graph_1_1)
+  data <- observatoire_artificialisation %>%
+    dplyr::mutate(date = as.numeric(lubridate::year(.data$date))) %>%
+    dplyr::filter(.data$TypeZone == "Communes",
+                  .data$date <= millesime_obs_artif,
+                  .data$date >= millesime_obs_artif - 9) %>%
+    dplyr::mutate(flux_naf_artificialisation_total = .data$flux_naf_artificialisation_total / 10000) %>%
+    dplyr::group_by(.data$CodeZone, .data$TypeZone, .data$Zone) %>%
+    dplyr::summarise(valeur = sum(.data$flux_naf_artificialisation_total, na.rm = T))
 
+
+  fond_carto <- mapfactory::fond_carto(nom_reg = "Pays de la Loire")
+  bins  <- stats::quantile(data$valeur,probs = c(0,0.1, 0.25, 0.5,0.75,0.9,1),na.rm=TRUE)
+
+  carte_2_7 <- mapfactory::creer_carte_communes(data = data,
+                                                code_region=52,
+                                                carto = fond_carto,
+                                                indicateur = valeur,
+                                                bornes = bins,
+                                                decimales = 0,
+                                                titre = glue::glue("Evolution des surfaces cadastr\u00e9es\n entre {millesime_debut} et {millesime_fin}"),
+                                                sous_titre = NULL,
+                                                bas_de_page = glue::glue("Source : DGFip/Cerema {millesime_obs_artif}"),
+                                                suffixe = "ha"
+  )
+
+
+  return(carte_2_7)
 }
+
-- 
GitLab


From bcc816b53b3c2f2c2336dbe5c4310b4911a01920 Mon Sep 17 00:00:00 2001
From: Daniel Kalioudjoglou
 <daniel.kalioudjoglou@developpement-durable.gouv.fr>
Date: Fri, 28 May 2021 14:29:31 +0200
Subject: [PATCH 2/3] corrections sur l ordre de la legende de la carte

---
 R/creer_carte_2_7.R | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/R/creer_carte_2_7.R b/R/creer_carte_2_7.R
index 26c0c1c..a379f3a 100644
--- a/R/creer_carte_2_7.R
+++ b/R/creer_carte_2_7.R
@@ -32,7 +32,8 @@ creer_carte_2_7 <- function(millesime_obs_artif) {
                   .data$date >= millesime_obs_artif - 9) %>%
     dplyr::mutate(flux_naf_artificialisation_total = .data$flux_naf_artificialisation_total / 10000) %>%
     dplyr::group_by(.data$CodeZone, .data$TypeZone, .data$Zone) %>%
-    dplyr::summarise(valeur = sum(.data$flux_naf_artificialisation_total, na.rm = T))
+    dplyr::summarise(valeur = sum(.data$flux_naf_artificialisation_total, na.rm = T)) %>%
+    dplyr::ungroup()
 
 
   fond_cartographique <- mapfactory::fond_carto(nom_reg = "Pays de la Loire")
-- 
GitLab


From 6380fbe7c268d85f45e9e3ee72ffdc6bd2800abc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ma=C3=ABl=20Theuliere?=
 <mael.theuliere@developpement-durable.gouv.fr>
Date: Fri, 28 May 2021 15:08:50 +0200
Subject: [PATCH 3/3] typo vignette

---
 vignettes/bg-ch2-7.Rmd | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/vignettes/bg-ch2-7.Rmd b/vignettes/bg-ch2-7.Rmd
index 73c1245..e0e234d 100644
--- a/vignettes/bg-ch2-7.Rmd
+++ b/vignettes/bg-ch2-7.Rmd
@@ -22,7 +22,8 @@ knitr::opts_chunk$set(
 ```
 
 # Descriptif
-La fonction `creer_carte_2_7()` produit la carte regionale de l evolution des surfaces cadastrees en hectares.
+
+La fonction `creer_carte_2_7()` produit la carte régionale de l'évolution des surfaces cadastrées en hectares.
 
 ```{r setup}
 library(propre.artificialisation)
-- 
GitLab