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("zones-touristiques-internationales.qmd")'
knitr:: opts_chunk$ set (echo = TRUE , message = FALSE , warning = FALSE ,
fig.width = 8 , fig.height = 5 , dpi = 150 )
zti_path <- here:: here ("data" , "paris" , "zones-touristiques-internationales.parquet" )
zti <- arrow:: read_parquet (zti_path) |>
dplyr:: mutate (jorf_url = sprintf ("https://www.legifrance.gouv.fr/jorf/id/%s" , source))
n_tot <- nrow (zti)
arr_sf <- arrondissements_sf ()
zti_sf <- zti |>
dplyr:: mutate (geometry = wkb2sfc (geo_shape)) |>
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 ))
Créées par la loi Macron du 6 août 2015, les zones touristiques internationales sont les seules zones de Paris où les commerces peuvent ouvrir le dimanche et en soirée (jusqu’à minuit) sans autorisation au cas par cas. Chaque zone est délimitée par arrêté ministériel, publié au Journal Officiel. Paris en compte 12 , presque toujours calées sur un axe commerçant précis plutôt que sur un quartier entier — d’où leur forme allongée sur la carte.
Code
ggplot () +
geom_sf (data = arr_sf, fill = "grey96" , colour = "white" ) +
geom_sf (data = zti_sf, aes (fill = name), colour = "white" , linewidth = 0.2 , alpha = 0.85 ) +
coord_sf (xlim = c (2.26 , 2.40 ), ylim = c (48.815 , 48.895 ), expand = FALSE ) +
scale_fill_viridis_d (option = "turbo" , name = NULL ) +
labs (title = "Les 12 zones touristiques internationales de Paris" ) +
theme_carte +
theme (legend.position = "none" )
Carte interactive
Code
pal <- leaflet:: colorFactor ("Set3" , domain = zti_sf$ name)
leaflet:: leaflet (zti_sf, options = leaflet:: leafletOptions (minZoom = 11 )) |>
paris_basemap () |>
leaflet:: addPolygons (data = arr_sf, fill = FALSE , color = "#999" , weight = 1 ) |>
leaflet:: addPolygons (
fillColor = ~ pal (name), fillOpacity = 0.55 , color = "white" , weight = 1.5 ,
highlightOptions = leaflet:: highlightOptions (weight = 3 , color = "#333" , bringToFront = TRUE ),
label = ~ name
)
Liste des zones
Code
zti |>
dplyr:: arrange (name) |>
dplyr:: transmute (
Zone = name,
` Arrêté (JORF) ` = sprintf ('<a href="%s" target="_blank">%s ↗</a>' , jorf_url, source)
) |>
gt:: gt () |>
gt:: fmt_markdown (columns = ` Arrêté (JORF) ` ) |>
gt:: tab_options (table.width = "100%" )
Source & données
Code
tibble:: tibble (
` ` = c ("Jeu de données" , "Producteur" , "Licence" , "Fichier" , "Mise à jour" , "Observations" ),
` ` = c (
"[Zones touristiques internationales](https://opendata.paris.fr/explore/dataset/zones-touristiques-internationales/information/)" ,
"Ville de Paris (limites issues des arrêtés publiés au Journal Officiel)" ,
"Open Database License (ODbL)" ,
sprintf ("`data/paris/zones-touristiques-internationales.parquet` (%s ko)" , round (file.size (zti_path) / 1024 )),
format (as.Date (file.mtime (zti_path)), "%d %B %Y" ),
sprintf ("%d zones" , n_tot)
)
) |>
gt:: gt () |> gt:: fmt_markdown (columns = ` ` ) |>
gt:: tab_options (table.width = "100%" , column_labels.hidden = TRUE )
Jeu de données
Zones touristiques internationales
Producteur
Ville de Paris (limites issues des arrêtés publiés au Journal Officiel)
Licence
Open Database License (ODbL)
Fichier
data/paris/zones-touristiques-internationales.parquet (21 ko)
Mise à jour
04 septembre 2026
Observations
12 zones