library(dplyr) # data handling
library(archive) # read 7z files
library(sf) # read and work with geospatial data
library(tools) # checksum and filepath tooling
library(targets)
emprise <- targets::tar_read(area)PROFIT - Analyse des relations entre carreaux et IRIS
Préparation des données
Téléchargement des données
targets::tar_load(iris)
targets::tar_load(carreaux)Extraction des archives et lecture des données
Nantes Métropole
empriseGeometry set for 1 feature
Geometry type: MULTIPOLYGON
Dimension: XY
Bounding box: xmin: 328183.3 ymin: 6677203 xmax: 370832.9 ymax: 6704770
Projected CRS: RGF93 v1 / Lambert-93
Extraction des IRIS
irisSimple feature collection with 265 features and 7 fields
Geometry type: MULTIPOLYGON
Dimension: XY
Bounding box: xmin: 321611.2 ymin: 6668908 xmax: 374966.8 ymax: 6709337
Projected CRS: RGF93 v1 / Lambert-93
First 10 features:
cleabs code_insee nom_commune iris code_iris
1 IRIS____0000000441430101 44143 Rezé 0101 441430101
2 IRIS____0000000441620104 44162 Saint-Herblain 0104 441620104
3 IRIS____0000000442150104 44215 Vertou 0104 442150104
4 IRIS____0000000440200106 44020 Bouguenais 0106 440200106
5 IRIS____0000000441720106 44172 Sainte-Luce-sur-Loire 0106 441720106
6 IRIS____0000000440260106 44026 Carquefou 0106 440260106
7 IRIS____0000000441900109 44190 Saint-Sébastien-sur-Loire 0109 441900109
8 IRIS____0000000440350109 44035 La Chapelle-sur-Erdre 0109 440350109
9 IRIS____0000000440350110 44035 La Chapelle-sur-Erdre 0110 440350110
10 IRIS____0000000441140112 44114 Orvault 0112 441140112
nom_iris type_iris geometrie
1 Z.A. Atout Sud-Trentemoult A MULTIPOLYGON (((352148.7 66...
2 Les Lions-Angevinière A MULTIPOLYGON (((350495.4 66...
3 Z.A. Parc Industriel Vertonne A MULTIPOLYGON (((359493.3 66...
4 Centre Économique A MULTIPOLYGON (((349635.8 66...
5 Z.A. RN 23-Maison Neuve A MULTIPOLYGON (((360284.7 66...
6 Zone Industrielle Nantes Carquefou A MULTIPOLYGON (((359284.8 66...
7 Z.A. Auchan A MULTIPOLYGON (((359702.4 66...
8 Z.A. Erdre Active A MULTIPOLYGON (((355895.9 66...
9 Z.A. Newton-Ampère-Babinière A MULTIPOLYGON (((355800.1 66...
10 Z.A. Grand Val A MULTIPOLYGON (((352575.2 66...
Extraction des carreaux
carreauxSimple feature collection with 6786 features and 34 fields
Geometry type: POLYGON
Dimension: XY
Bounding box: xmin: 331852.8 ymin: 6678178 xmax: 370588.3 ymax: 6704359
Projected CRS: RGF93 v1 / Lambert-93
First 10 features:
idcar_200m idcar_1km
1 CRS3035RES200mN2734400E3454000 CRS3035RES1000mN2734000E3454000
2 CRS3035RES200mN2734600E3453800 CRS3035RES1000mN2734000E3453000
3 CRS3035RES200mN2734600E3454400 CRS3035RES1000mN2734000E3454000
4 CRS3035RES200mN2734600E3455000 CRS3035RES1000mN2734000E3455000
5 CRS3035RES200mN2734800E3453800 CRS3035RES1000mN2734000E3453000
6 CRS3035RES200mN2734800E3454000 CRS3035RES1000mN2734000E3454000
7 CRS3035RES200mN2734800E3454200 CRS3035RES1000mN2734000E3454000
8 CRS3035RES200mN2734800E3454400 CRS3035RES1000mN2734000E3454000
9 CRS3035RES200mN2734800E3454800 CRS3035RES1000mN2734000E3454000
10 CRS3035RES200mN2734800E3455000 CRS3035RES1000mN2734000E3455000
idcar_nat i_est_200 i_est_1km lcog_geo ind men
1 CRS3035RES1000mN2734000E3454000 1 0 4403744215 1 0.4
2 CRS3035RES2000mN2734000E3452000 1 0 4421544037 5 2.1
3 CRS3035RES1000mN2734000E3454000 1 0 4403744215 10 3.7
4 CRS3035RES1000mN2734000E3455000 1 0 4403744215 12 4.7
5 CRS3035RES2000mN2734000E3452000 1 0 44215 19 7.9
6 CRS3035RES1000mN2734000E3454000 1 0 44215 21 7.8
7 CRS3035RES1000mN2734000E3454000 1 0 4421544037 9 3.3
8 CRS3035RES1000mN2734000E3454000 1 0 4421544037 18 6.7
9 CRS3035RES1000mN2734000E3454000 1 0 44215 9 3.3
10 CRS3035RES1000mN2734000E3455000 1 0 4421544037 18 7.0
men_pauv men_1ind men_5ind men_prop men_fmp ind_snv men_surf men_coll
1 0.0 0.1 0.0 0.3 0.0 25506.6 38.2 0.0
2 0.1 0.5 0.2 1.8 0.2 116848.4 231.8 0.0
3 0.2 0.8 0.5 3.2 0.2 255066.4 382.0 0.1
4 0.3 1.0 0.3 3.8 0.3 326135.4 512.2 0.0
5 0.5 1.9 0.9 7.0 0.9 444024.0 881.0 0.0
6 0.5 1.8 1.0 6.7 0.5 535639.4 802.3 0.3
7 0.2 0.8 0.4 2.9 0.2 229559.7 343.8 0.1
8 0.4 1.5 0.8 5.7 0.4 459119.5 687.7 0.3
9 0.2 0.8 0.4 2.9 0.2 229559.7 343.8 0.1
10 0.4 1.5 0.4 5.6 0.4 489203.2 768.4 0.0
men_mais log_av45 log_45_70 log_70_90 log_ap90 log_inc log_soc ind_0_3
1 0.4 0.2 0.0 0.1 0.1 0 0 0.1
2 2.1 0.4 0.0 0.8 0.9 0 0 0.0
3 3.6 1.5 0.1 1.1 1.0 0 0 0.6
4 4.7 2.0 0.2 1.2 1.3 0 0 0.3
5 7.9 1.4 0.0 3.2 3.3 0 0 0.0
6 7.5 3.2 0.3 2.2 2.1 0 0 1.3
7 3.2 1.4 0.1 0.9 0.9 0 0 0.5
8 6.4 2.7 0.3 1.9 1.8 0 0 1.1
9 3.2 1.4 0.1 0.9 0.9 0 0 0.5
10 7.0 3.0 0.3 1.8 1.9 0 0 0.4
ind_4_5 ind_6_10 ind_11_17 ind_18_24 ind_25_39 ind_40_54 ind_55_64 ind_65_79
1 0.0 0.1 0.1 0.0 0.2 0.2 0.2 0.1
2 0.0 0.1 0.6 0.6 0.2 1.3 1.0 0.9
3 0.2 1.2 0.8 0.5 2.2 1.7 1.6 1.0
4 0.0 1.0 1.5 1.0 1.5 3.5 0.5 1.5
5 0.0 0.5 2.3 2.3 0.9 5.1 3.7 3.3
6 0.3 2.5 1.7 1.0 4.6 3.7 3.3 2.1
7 0.1 1.1 0.8 0.4 2.0 1.6 1.4 0.9
8 0.3 2.2 1.5 0.8 3.9 3.1 2.9 1.8
9 0.1 1.1 0.8 0.4 2.0 1.6 1.4 0.9
10 0.0 1.5 2.2 1.5 2.4 5.2 0.8 2.2
ind_80p ind_inc geom
1 0.0 0 POLYGON ((361439.9 6678178,...
2 0.3 0 POLYGON ((361222.1 6678357,...
3 0.2 0 POLYGON ((361819.7 6678416,...
4 1.2 0 POLYGON ((362417.3 6678475,...
5 0.9 0 POLYGON ((361203.5 6678556,...
6 0.5 0 POLYGON ((361402.7 6678575,...
7 0.2 0 POLYGON ((361601.9 6678595,...
8 0.4 0 POLYGON ((361801.1 6678615,...
9 0.2 0 POLYGON ((362199.5 6678654,...
10 1.8 0 POLYGON ((362398.6 6678673,...
Cartographie
plot(sf::st_geometry(iris), border = "red", lwd = 2)
plot(sf::st_geometry(carreaux), border = "blue", col = "blue", add = TRUE)Nombre de carreaux contenus par IRIS
nbre_carreaux_par_iris <- iris |>
sf::st_join(carreaux) |> sf::st_drop_geometry() |>
dplyr::group_by(code_iris) |> dplyr::tally(name = "Carreaux", sort = TRUE)
nbre_carreaux_par_iris |> dplyr::group_by(Carreaux) |>
dplyr::count(name = "Nombre", sort = TRUE) |> knitr::kable()| Carreaux | Nombre |
|---|---|
| 23 | 12 |
| 19 | 11 |
| 1 | 10 |
| 16 | 9 |
| 18 | 9 |
| 20 | 9 |
| 22 | 8 |
| 11 | 7 |
| 17 | 7 |
| 24 | 7 |
| 25 | 7 |
| 31 | 7 |
| 36 | 7 |
| 13 | 6 |
| 14 | 6 |
| 21 | 6 |
| 26 | 6 |
| 12 | 5 |
| 15 | 5 |
| 10 | 4 |
| 27 | 4 |
| 28 | 4 |
| 30 | 4 |
| 34 | 4 |
| 39 | 4 |
| 48 | 4 |
| 5 | 3 |
| 8 | 3 |
| 9 | 3 |
| 29 | 3 |
| 32 | 3 |
| 33 | 3 |
| 41 | 3 |
| 45 | 3 |
| 3 | 2 |
| 4 | 2 |
| 6 | 2 |
| 35 | 2 |
| 38 | 2 |
| 40 | 2 |
| 44 | 2 |
| 49 | 2 |
| 51 | 2 |
| 52 | 2 |
| 55 | 2 |
| 58 | 2 |
| 86 | 2 |
| 138 | 2 |
| 151 | 2 |
| 2 | 1 |
| 7 | 1 |
| 37 | 1 |
| 43 | 1 |
| 46 | 1 |
| 54 | 1 |
| 59 | 1 |
| 60 | 1 |
| 65 | 1 |
| 68 | 1 |
| 69 | 1 |
| 71 | 1 |
| 73 | 1 |
| 74 | 1 |
| 80 | 1 |
| 81 | 1 |
| 82 | 1 |
| 84 | 1 |
| 89 | 1 |
| 90 | 1 |
| 94 | 1 |
| 95 | 1 |
| 98 | 1 |
| 104 | 1 |
| 105 | 1 |
| 109 | 1 |
| 115 | 1 |
| 126 | 1 |
| 132 | 1 |
| 133 | 1 |
| 139 | 1 |
| 154 | 1 |
| 160 | 1 |
| 169 | 1 |
| 171 | 1 |
| 190 | 1 |
| 220 | 1 |
| 222 | 1 |
| 312 | 1 |
hist(nbre_carreaux_par_iris$Carreaux, main ="Répartition du nombre de carreaux intersectés par IRIS", xlab ="Nombre de carreau") Nombre de carreaux intégralement contenus
carreaux_contenus <- carreaux |> sf::st_join(iris, join = st_within)Sur 6786 carreaux inclus dans la zone d’étude, 4197 ne font partie que d’un seul IRIS, 2589 font partie de plusieurs IRIS.
carreaux_contenus <- carreaux_contenus |> sf::st_drop_geometry() |>
dplyr::mutate(
contenu = dplyr::case_when(
is.na(cleabs) ~ "Plusieurs IRIS",
.default = "IRIS unique"
)
)
dplyr::glimpse(carreaux_contenus)Rows: 6,786
Columns: 42
$ idcar_200m <chr> "CRS3035RES200mN2734400E3454000", "CRS3035RES200mN2734600E…
$ idcar_1km <chr> "CRS3035RES1000mN2734000E3454000", "CRS3035RES1000mN273400…
$ idcar_nat <chr> "CRS3035RES1000mN2734000E3454000", "CRS3035RES2000mN273400…
$ i_est_200 <int> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1…
$ i_est_1km <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0…
$ lcog_geo <chr> "4403744215", "4421544037", "4403744215", "4403744215", "4…
$ ind <dbl> 1.0, 5.0, 10.0, 12.0, 19.0, 21.0, 9.0, 18.0, 9.0, 18.0, 11…
$ men <dbl> 0.4, 2.1, 3.7, 4.7, 7.9, 7.8, 3.3, 6.7, 3.3, 7.0, 5.2, 12.…
$ men_pauv <dbl> 0.0, 0.1, 0.2, 0.3, 0.5, 0.5, 0.2, 0.4, 0.2, 0.4, 0.9, 0.0…
$ men_1ind <dbl> 0.1, 0.5, 0.8, 1.0, 1.9, 1.8, 0.8, 1.5, 0.8, 1.5, 1.7, 2.0…
$ men_5ind <dbl> 0.0, 0.2, 0.5, 0.3, 0.9, 1.0, 0.4, 0.8, 0.4, 0.4, 0.3, 1.0…
$ men_prop <dbl> 0.3, 1.8, 3.2, 3.8, 7.0, 6.7, 2.9, 5.7, 2.9, 5.6, 3.2, 11.…
$ men_fmp <dbl> 0.0, 0.2, 0.2, 0.3, 0.9, 0.5, 0.2, 0.4, 0.2, 0.4, 0.3, 0.0…
$ ind_snv <dbl> 25506.6, 116848.4, 255066.4, 326135.4, 444024.0, 535639.4,…
$ men_surf <dbl> 38.2, 231.8, 382.0, 512.2, 881.0, 802.3, 343.8, 687.7, 343…
$ men_coll <dbl> 0.0, 0.0, 0.1, 0.0, 0.0, 0.3, 0.1, 0.3, 0.1, 0.0, 0.0, 0.0…
$ men_mais <dbl> 0.4, 2.1, 3.6, 4.7, 7.9, 7.5, 3.2, 6.4, 3.2, 7.0, 5.2, 12.…
$ log_av45 <dbl> 0.2, 0.4, 1.5, 2.0, 1.4, 3.2, 1.4, 2.7, 1.4, 3.0, 0.9, 3.0…
$ log_45_70 <dbl> 0.0, 0.0, 0.1, 0.2, 0.0, 0.3, 0.1, 0.3, 0.1, 0.3, 0.6, 0.0…
$ log_70_90 <dbl> 0.1, 0.8, 1.1, 1.2, 3.2, 2.2, 0.9, 1.9, 0.9, 1.8, 2.3, 4.0…
$ log_ap90 <dbl> 0.1, 0.9, 1.0, 1.3, 3.3, 2.1, 0.9, 1.8, 0.9, 1.9, 1.4, 5.0…
$ log_inc <dbl> 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0…
$ log_soc <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
$ ind_0_3 <dbl> 0.1, 0.0, 0.6, 0.3, 0.0, 1.3, 0.5, 1.1, 0.5, 0.4, 0.0, 1.0…
$ ind_4_5 <dbl> 0.0, 0.0, 0.2, 0.0, 0.0, 0.3, 0.1, 0.3, 0.1, 0.0, 0.3, 0.0…
$ ind_6_10 <dbl> 0.1, 0.1, 1.2, 1.0, 0.5, 2.5, 1.1, 2.2, 1.1, 1.5, 0.6, 1.0…
$ ind_11_17 <dbl> 0.1, 0.6, 0.8, 1.5, 2.3, 1.7, 0.8, 1.5, 0.8, 2.2, 0.9, 1.0…
$ ind_18_24 <dbl> 0.0, 0.6, 0.5, 1.0, 2.3, 1.0, 0.4, 0.8, 0.4, 1.5, 0.9, 4.0…
$ ind_25_39 <dbl> 0.2, 0.2, 2.2, 1.5, 0.9, 4.6, 2.0, 3.9, 2.0, 2.4, 0.9, 3.0…
$ ind_40_54 <dbl> 0.2, 1.3, 1.7, 3.5, 5.1, 3.7, 1.6, 3.1, 1.6, 5.2, 1.4, 10.…
$ ind_55_64 <dbl> 0.2, 1.0, 1.6, 0.5, 3.7, 3.3, 1.4, 2.9, 1.4, 0.8, 2.9, 5.0…
$ ind_65_79 <dbl> 0.1, 0.9, 1.0, 1.5, 3.3, 2.1, 0.9, 1.8, 0.9, 2.2, 2.0, 4.0…
$ ind_80p <dbl> 0.0, 0.3, 0.2, 1.2, 0.9, 0.5, 0.2, 0.4, 0.2, 1.8, 1.1, 1.0…
$ ind_inc <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
$ cleabs <chr> NA, NA, NA, NA, "IRIS____0000000442150107", "IRIS____00000…
$ code_insee <chr> NA, NA, NA, NA, "44215", "44215", NA, NA, "44215", NA, "44…
$ nom_commune <chr> NA, NA, NA, NA, "Vertou", "Vertou", NA, NA, "Vertou", NA, …
$ iris <chr> NA, NA, NA, NA, "0107", "0107", NA, NA, "0107", NA, "0107"…
$ code_iris <chr> NA, NA, NA, NA, "442150107", "442150107", NA, NA, "4421501…
$ nom_iris <chr> NA, NA, NA, NA, "Portillon-Pégers-Reigners", "Portillon-Pé…
$ type_iris <chr> NA, NA, NA, NA, "H", "H", NA, NA, "H", NA, "H", "H", "H", …
$ contenu <chr> "Plusieurs IRIS", "Plusieurs IRIS", "Plusieurs IRIS", "Plu…
carreaux_contenus |>
# Transformation en table de fréquence
dplyr::select(contenu) |> unlist() |>
as_tibble() |>
count(value, name = "Individus") |>
mutate(Pourcentage = round(Individus / sum(Individus),2)) |>
knitr::kable()| value | Individus | Pourcentage |
|---|---|---|
| IRIS unique | 4197 | 0.62 |
| Plusieurs IRIS | 2589 | 0.38 |
Chevauchement des carreaux par les IRIS
Répartition du nombre de chevauchement des carreaux par des IRIS distincts.
chevauchement <- carreaux |>
sf::st_join(iris) |> sf::st_drop_geometry() |>
dplyr::group_by(idcar_200m) |> dplyr::tally(name = "Chevauchements", sort = TRUE)
chevauchement |> dplyr::group_by(Chevauchements) |>
dplyr::count(name = "Nombre") |> knitr::kable()| Chevauchements | Nombre |
|---|---|
| 1 | 4197 |
| 2 | 2128 |
| 3 | 393 |
| 4 | 63 |
| 5 | 5 |
hist(chevauchement$Chevauchements,
main = "Nombre de chevauchement d'IRIS par carreau",
xlab = "Nombre de chevauchement"
)Chevauchement Carreaux / IRIS
surface_carreau <- mean(st_area(carreaux))
surface_carreau39930.15 [m^2]
inter_carreaux_iris <- sf::st_intersection(carreaux, iris) |> dplyr::select(idcar_200m,cleabs)
inter_carreaux_irisSimple feature collection with 9909 features and 2 fields
Geometry type: GEOMETRY
Dimension: XY
Bounding box: xmin: 331852.8 ymin: 6678178 xmax: 370588.3 ymax: 6704359
Projected CRS: RGF93 v1 / Lambert-93
First 10 features:
idcar_200m cleabs
2165 CRS3035RES200mN2743600E3447800 IRIS____0000000441430101
2166 CRS3035RES200mN2743600E3448000 IRIS____0000000441430101
2167 CRS3035RES200mN2743600E3448200 IRIS____0000000441430101
2168 CRS3035RES200mN2743600E3449200 IRIS____0000000441430101
2227 CRS3035RES200mN2743800E3446400 IRIS____0000000441430101
2228 CRS3035RES200mN2743800E3446600 IRIS____0000000441430101
2229 CRS3035RES200mN2743800E3446800 IRIS____0000000441430101
2230 CRS3035RES200mN2743800E3448800 IRIS____0000000441430101
2291 CRS3035RES200mN2744000E3446400 IRIS____0000000441430101
2292 CRS3035RES200mN2744000E3446600 IRIS____0000000441430101
geom
2165 POLYGON ((354588.4 6686924,...
2166 POLYGON ((354588.4 6686924,...
2167 POLYGON ((354787.6 6686943,...
2168 POLYGON ((355783.7 6687042,...
2227 POLYGON ((352976.1 6686965,...
2228 POLYGON ((353175.3 6686985,...
2229 POLYGON ((353374.5 6687004,...
2230 POLYGON ((355366.6 6687201,...
2291 POLYGON ((352957.5 6687164,...
2292 POLYGON ((353156.7 6687183,...
Exemples
Chevauchements simples
selection <- carreaux |> dplyr::left_join(carreaux_contenus) |> filter(is.na(cleabs)) |> head()
plot(st_geometry(selection))
plot(st_geometry(iris), add=TRUE)
plot(st_geometry(selection), add= TRUE, border = "blue")Chevauchements multiples
selection <- carreaux |> dplyr::left_join(chevauchement) |> dplyr::filter(Chevauchements == 5)
plot(st_geometry(selection))
plot(st_geometry(iris), add=TRUE)
plot(st_geometry(selection), add= TRUE, border = "blue")Taux de chevauchement
carreaux_parts <- inter_carreaux_iris |>
dplyr::anti_join(carreaux_contenus ) # remove fully integrated carreaux
carreaux_parts <- carreaux_parts |> dplyr::mutate(
surface = sf::st_area(carreaux_parts),
couverture = round(units::drop_units(sf::st_area(carreaux_parts)/ surface_carreau),2)
)summary(carreaux_parts$couverture) Min. 1st Qu. Median Mean 3rd Qu. Max.
0.0000 0.1200 0.4100 0.4533 0.7900 1.0000
hist(carreaux_parts$couverture, main = 'Taux de couverture des carreaux par les IRIS', xlab = "Pourcentage de couverture")Taux de chevauchement sans les valeurs extrêmes
carreaux_morceaux <- carreaux_parts |> dplyr::filter(couverture > 0 & couverture < 1)
dplyr::glimpse(carreaux_morceaux)Rows: 5,208
Columns: 5
$ idcar_200m <chr> "CRS3035RES200mN2743600E3448000", "CRS3035RES200mN2743600E3…
$ cleabs <chr> "IRIS____0000000441430101", "IRIS____0000000441430101", "IR…
$ geom <POLYGON [m]> POLYGON ((354588.4 6686924,..., POLYGON ((354787.6 …
$ surface [m^2] 7601.662 [m^2], 16900.990 [m^2], 7729.556 [m^2], 32792.241 …
$ couverture <dbl> 0.19, 0.42, 0.19, 0.82, 0.43, 0.96, 0.11, 0.78, 0.13, 0.07,…
summary(carreaux_morceaux$couverture) Min. 1st Qu. Median Mean 3rd Qu. Max.
0.0100 0.1400 0.4300 0.4608 0.7725 0.9900
hist(carreaux_morceaux$couverture)Carreaux hors IRIS
carreaux_isoles <- carreaux_parts |> dplyr::filter(couverture == 0)
dplyr::glimpse(carreaux_isoles)Rows: 315
Columns: 5
$ idcar_200m <chr> "CRS3035RES200mN2743600E3447800", "CRS3035RES200mN2744200E3…
$ cleabs <chr> "IRIS____0000000441430101", "IRIS____0000000441430101", "IR…
$ geom <GEOMETRY [m]> POLYGON ((354588.4 6686924,..., POLYGON ((355745.8…
$ surface [m^2] 0.1212462 [m^2], 128.1159051 [m^2], 85.2865239 [m^2], 13.86…
$ couverture <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
plot(st_geometry(carreaux_isoles))
plot(st_geometry(iris), add = TRUE)
plot(st_geometry(carreaux_isoles), add= TRUE, col = "blue", border = "blue")Carreaux couverts à 100 %
carreaux_inclus <- carreaux_parts |> dplyr::filter(couverture == 1)
dplyr::glimpse(carreaux_inclus)Rows: 189
Columns: 5
$ idcar_200m <chr> "CRS3035RES200mN2750400E3456000", "CRS3035RES200mN2742200E3…
$ cleabs <chr> "IRIS____0000000441720106", "IRIS____0000000441900109", "IR…
$ geom <POLYGON [m]> POLYGON ((361922.6 6694462,..., POLYGON ((360894.3 …
$ surface [m^2] 39928.30 [m^2], 39926.61 [m^2], 39782.50 [m^2], 39782.05 [m…
$ couverture <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,…
plot(st_geometry(carreaux_inclus))
plot(st_geometry(iris), add=TRUE)
plot(st_geometry(carreaux_inclus), add= TRUE, border = "blue")Appendix
Reproductibility
Data sources
- IRIS Grande Echelle : https://data.geopf.fr/telechargement/download/IRIS-GE/IRIS-GE_3-0__GPKG_LAMB93_D044_2025-01-01/IRIS-GE_3-0__GPKG_LAMB93_D044_2025-01-01.7z
- Données carroyées : https://www.insee.fr/fr/statistiques/fichier/7655475/Filosofi2019_carreaux_200m_gpkg.zip
- Communes de Nantes Métropole : https://data.nantesmetropole.fr/api/explore/v2.1/catalog/datasets/244400404_communes-nantes-metropole/exports/fgb?lang=fr&timezone=Europe%2FBerlin
Code source
Source code is available in the Gustave Eiffel university’s forge : https://gitlab.univ-eiffel.fr/ame/splott/profit-analyse-des-relations-entre-carreaux-et-iris/
Environnement
xfun::session_info()R version 4.5.1 (2025-06-13)
Platform: x86_64-pc-linux-gnu
Running under: Manjaro Linux
Locale:
LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
LC_PAPER=en_US.UTF-8 LC_NAME=C
LC_ADDRESS=C LC_TELEPHONE=C
LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
Package version:
archive_1.1.12 backports_1.5.0 base64enc_0.1.3 base64url_1.4
bslib_0.9.0 cachem_1.1.0 callr_3.7.6 class_7.3-23
classInt_0.4-11 cli_3.6.5 codetools_0.2-20 compiler_4.5.1
cpp11_0.5.2 data.table_1.17.8 DBI_1.2.3 digest_0.6.37
dplyr_1.1.4 e1071_1.7-16 evaluate_1.0.4 fastmap_1.2.0
fontawesome_0.5.3 fs_1.6.6 generics_0.1.4 glue_1.8.0
graphics_4.5.1 grDevices_4.5.1 grid_4.5.1 highr_0.11
htmltools_0.5.8.1 igraph_2.1.4 jquerylib_0.1.4 jsonlite_2.0.0
KernSmooth_2.23-26 knitr_1.50 lattice_0.22.7 lifecycle_1.0.4
magrittr_2.0.3 MASS_7.3.65 Matrix_1.7.3 memoise_2.0.1
methods_4.5.1 mime_0.13 pillar_1.11.0 pkgconfig_2.0.3
prettyunits_1.2.0 processx_3.8.6 proxy_0.4-27 ps_1.9.1
R6_2.6.1 rappdirs_0.3.3 Rcpp_1.1.0 rlang_1.1.6
rmarkdown_2.29 s2_1.1.9 sass_0.4.10 secretbase_1.0.5
sf_1.0-21 stats_4.5.1 targets_1.11.3 tibble_3.3.0
tidyselect_1.2.1 tinytex_0.57 tools_4.5.1 units_0.8-7
utf8_1.2.6 utils_4.5.1 vctrs_0.6.5 withr_3.0.2
wk_0.9.4 xfun_0.52 yaml_2.3.10