Code
source (here:: here ("_rinit.R" ))
source (here:: here ("data" , "paris" , "_paris.R" )) # wkb2sfc(), paris_basemap(), arrondissements_sf()
invisible (Sys.setlocale ("LC_TIME" , "fr_FR.UTF-8" ))
# cd ~/iCloud/website/data/paris; /usr/local/bin/R -e 'quarto::quarto_render("fontaines-a-boire.qmd")'
knitr:: opts_chunk$ set (echo = TRUE , message = FALSE , warning = FALSE ,
fig.width = 8 , fig.height = 5 , dpi = 150 )
font_path <- here:: here ("data" , "paris" , "fontaines-a-boire.parquet" )
fontaines <- arrow:: read_parquet (font_path) |>
dplyr:: mutate (
ar = suppressWarnings (as.integer (stringr:: str_extract (commune, "[0-9]+" ))),
disponible = dispo == "OUI"
)
n_tot <- nrow (fontaines)
arr_sf <- arrondissements_sf ()
pts_sf <- fontaines |>
dplyr:: mutate (geometry = wkb2sfc (geo_point_2d)) |>
sf:: st_as_sf (crs = 4326 )
theme_carte <- theme_void (base_size = 12 ) +
theme (plot.title = element_text (face = "bold" ),
plot.subtitle = element_text (colour = "grey35" ),
plot.margin = margin (5 , 12 , 5 , 5 ))
theme_barres <- theme_minimal (base_size = 12 ) +
theme (plot.title = element_text (face = "bold" ),
plot.subtitle = element_text (colour = "grey35" ),
panel.grid.major.y = element_blank ())
1323 fontaines à boire , des classiques fontaines Wallace en fonte verte aux bornes fontaines de parcs, en passant par les fontaines pétillantes plus récentes. 94% sont actuellement disponibles.
Code
fontaines |>
dplyr:: transmute (Type = type_objet, Modèle = modele, Voie = voie,
Arrondissement = ar, Disponible = dispo) |>
dplyr:: slice_sample (n = 8 ) |>
gt:: gt () |>
gt:: sub_missing (missing_text = "—" ) |>
gt:: tab_header (title = "8 fontaines tirées au hasard" ) |>
gt:: tab_options (table.width = "100%" )
Type
Modèle
Voie
Arrondissement
Disponible
FONTAINE_BOIS
Fontaine des Bois, Parcs et Jardins
CIMETIERE PARISIEN DE THIAIS
—
OUI
FONTAINE_BOIS
Fontaine des Bois, Parcs et Jardins
QUAI DE VALMY
10
OUI
BORNE_FONTAINE
GHM Ville de Paris
RUE D ABOUKIR
2
OUI
FONTAINE_BOIS
GHM Bois
AVENUE DAUMESNIL
12
OUI
BORNE_FONTAINE
GHM Ville de Paris
RUE AMELOT
11
OUI
FONTAINE_2EN1
Mât source
RUE DE BELLEVILLE
19
OUI
FONTAINE_BOIS
GHM Bois
PARC DES BUTTES CHAUMONT
19
OUI
FONTAINE_BOIS
—
RUE FELIX FAURE
15
OUI
Carte
Code
pal <- leaflet:: colorFactor ("Set2" , domain = fontaines$ type_objet)
leaflet:: leaflet (pts_sf, options = leaflet:: leafletOptions (minZoom = 11 )) |>
paris_basemap () |>
leaflet:: addPolygons (data = arr_sf, fill = FALSE , color = "#999" , weight = 1 ) |>
leaflet:: addCircleMarkers (
radius = 4 , stroke = FALSE , fillOpacity = 0.8 ,
fillColor = ~ pal (type_objet),
label = ~ sprintf ("%s (%s)" , voie, modele),
popup = ~ sprintf ("<b>%s</b><br>%s<br>%s<br>%s" , type_objet, modele, voie,
ifelse (disponible, "Disponible" , paste ("Indisponible :" , motif_ind)))
) |>
leaflet:: addLegend ("bottomright" , pal = pal, values = ~ type_objet, title = "Type" , opacity = 0.9 )
Par arrondissement
Code
cnt <- fontaines |> dplyr:: filter (! is.na (ar)) |> dplyr:: count (ar, name = "n" )
arr_sf |>
dplyr:: left_join (cnt, by = c ("c_ar" = "ar" )) |>
ggplot () +
geom_sf (aes (fill = n), colour = "white" , linewidth = 0.2 ) +
scale_fill_viridis_c (option = "mako" , direction = - 1 , na.value = "grey92" , name = "Fontaines" ) +
labs (title = "Fontaines à boire par arrondissement" ,
subtitle = "20ᵉ, 12ᵉ et 16ᵉ (bois inclus) en tête" ) +
theme_carte
Types de fontaines
Code
fontaines |>
dplyr:: count (type_objet, sort = TRUE ) |>
dplyr:: mutate (type_objet = forcats:: fct_reorder (type_objet, n)) |>
ggplot (aes (n, type_objet)) +
geom_col (fill = "#2f6f9f" , width = 0.65 ) +
geom_text (aes (label = n), hjust = - 0.2 , size = 3.2 ) +
scale_x_continuous (expand = expansion (mult = c (0 , 0.12 ))) +
labs (title = "Type de fontaine" ,
subtitle = "Bornes-fontaines de parcs et jardins en tête, loin devant les Wallace" ,
x = NULL , y = NULL ) +
theme_barres
Source & données
Code
tibble:: tibble (
` ` = c ("Jeu de données" , "Producteur" , "Licence" , "Fichier" , "Mise à jour" , "Observations" ),
` ` = c (
"[Fontaines à boire](https://opendata.paris.fr/explore/dataset/fontaines-a-boire/information/)" ,
"Direction de la Voirie et des Déplacements — Ville de Paris" ,
"Open Database License (ODbL)" ,
sprintf ("`data/paris/fontaines-a-boire.parquet` (%s ko) + `arrondissements.parquet`" ,
round (file.size (font_path) / 1024 )),
format (as.Date (file.mtime (font_path)), "%d %B %Y" ),
sprintf ("%d fontaines" , n_tot)
)
) |>
gt:: gt () |> gt:: fmt_markdown (columns = ` ` ) |>
gt:: tab_options (table.width = "100%" , column_labels.hidden = TRUE )
Jeu de données
Fontaines à boire
Producteur
Direction de la Voirie et des Déplacements — Ville de Paris
Licence
Open Database License (ODbL)
Fichier
data/paris/fontaines-a-boire.parquet (78 ko) + arrondissements.parquet
Mise à jour
05 septembre 2026
Observations
1323 fontaines