diff --git a/NAMESPACE b/NAMESPACE index 2e51793684b18b8ec8c703d312b7e181a1eedd13..5af0c97dc71b24c1048ea953712893c8f46cadba 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 0000000000000000000000000000000000000000..a379f3a435ed25d02738cf33ff34a136e8254859 --- /dev/null +++ b/R/creer_carte_2_7.R @@ -0,0 +1,56 @@ +#' 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)) %>% + dplyr::ungroup() + + + 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 07bb31e8fa602b53b968dbe0b781a5a5b3c64cd9..9fc0516e9eeb7fb2e7d2b0d4baaef6324532e369 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 59b3f8cc95fe436b582ce7df8f73e3ecc2798d7d..89b98c6da00af885724242134babd58a4be969e0 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 0000000000000000000000000000000000000000..5cea42f6f26950cf6e6cef6b0b71367e59bc41ad --- /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 0000000000000000000000000000000000000000..44f564cbbfbc9894dc8636e71fe997d797c3b9b1 --- /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 0000000000000000000000000000000000000000..e0e234dd50c9558fb1f7e02904ed58533581ba8b --- /dev/null +++ b/vignettes/bg-ch2-7.Rmd @@ -0,0 +1,31 @@ +--- +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 régionale de l'évolution des surfaces cadastrées 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 bee4bcf6f35b410501573498d11e4b9331472940..94481ce394b84992697dabff20c3bccdc80ef56f 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) } +