class: center, middle, inverse, title-slide # Analyse Territoriale Multiscalaire ## Contexte de production et usage du package R MTA ### Ronan Ysebaert - UMS RIATE, Université de Paris ### Dernière mise à jour: 2021-11-25 --- class: inverse middle center # Déroulé <br> ### Concept et historique des travaux ### MTA ### Cas d'étude --- class: inverse middle center # Concept et historique des travaux <img src="data:image/png;base64,#fig/concept.svg" width="100" /> --- ## Contexte général .center[ <img src="data:image/png;base64,#fig/concept1.PNG" width="500" /> .leg-fig[*Ronan Ysebaert, RIATE, 2021*] ] --- ## Contexte général .center[ <img src="data:image/png;base64,#fig/concept2.PNG" width="500" /> .leg-fig[*Ronan Ysebaert, RIATE, 2021*] ] --- ## Contexte général .center[ <img src="data:image/png;base64,#fig/concept3.PNG" width="500" /> .leg-fig[*Ronan Ysebaert, RIATE, 2021*] ] --- ## Contexte général .center[ <img src="data:image/png;base64,#fig/concept4.PNG" width="500" /> .leg-fig[*Ronan Ysebaert, RIATE, 2021*] ] --- ## Contexte territorial .center[ <img src="data:image/png;base64,#fig/concept5.PNG" width="500" /> .leg-fig[*Ronan Ysebaert, RIATE, 2021*] ] --- ## Contexte territorial .center[ <img src="data:image/png;base64,#fig/concept6.PNG" width="500" /> .leg-fig[*Ronan Ysebaert, RIATE, 2021*] ] --- ## Contexte territorial .center[ <img src="data:image/png;base64,#fig/concept7.PNG" width="500" /> .leg-fig[*Ronan Ysebaert, RIATE, 2021*] ] --- ## Contexte spatial .center[ <img src="data:image/png;base64,#fig/concept8.PNG" width="500" /> .leg-fig[*Ronan Ysebaert, RIATE, 2021*] ] --- ## Contexte spatial .center[ <img src="data:image/png;base64,#fig/concept9.PNG" width="500" /> .leg-fig[*Ronan Ysebaert, RIATE, 2021*] ] --- ## Contexte spatial .center[ <img src="data:image/png;base64,#fig/concept10.PNG" width="500" /> .leg-fig[*Ronan Ysebaert, RIATE, 2021*] ] --- ## Synthèse .center[ <img src="data:image/png;base64,#fig/synthese.PNG" width="900" /> ] --- ## 15 ans de recherche interdisciplinaire autour d'HyperAtlas .pull-left[ .medium[ - **1990's** : Travaux de C. Grasland, H. Mathian et J.C François sur la distribution de phénomènes sociaux discrets dans l'espace ([appartenances](http://census.web.ined.fr/debat/Contributions/Avant-Fevrier-1999/Grasland-2.html) et [discontinuités territoriales](https://www.persee.fr/doc/spgeo_0046-2497_1997_num_26_4_1097)) - **1996** Création du groupe de recherche HyperCarte .center[ <img src="data:image/png;base64,#fig/steamer.png" height="40" /><img src="data:image/png;base64,#fig/mescal.png" height="40" /><img src="data:image/png;base64,#fig/geo_cites.png" height="40" /><img src="data:image/png;base64,#fig/riate.png" height="30" /> ] - **2006** : Première version d'HyperAtlas - **2011** : Seconde version d'HyperAtlas (nouveaux outils statistiques, implémentation de la carte de synthèse - 2 déviations) ] ] .pull-right[ .center[ <img src="data:image/png;base64,#fig/hyperatlas.PNG" width="500" /> .leg-fig[*HyperAtlas v2*] ] ] --- ## 15 ans de recherche interdisciplinaire autour d'HyperAtlas .pull-left[ .medium[ - **1990's** : Travaux de C. Grasland, H. Mathian et J.C François sur la distribution de phénomènes sociaux discrets dans l'espace ([appartenances](http://census.web.ined.fr/debat/Contributions/Avant-Fevrier-1999/Grasland-2.html) et [discontinuités territoriales](https://www.persee.fr/doc/spgeo_0046-2497_1997_num_26_4_1097)) - **1996** Création du groupe de recherche HyperCarte .center[ <img src="data:image/png;base64,#fig/steamer.png" height="40" /><img src="data:image/png;base64,#fig/mescal.png" height="40" /><img src="data:image/png;base64,#fig/geo_cites.png" height="40" /><img src="data:image/png;base64,#fig/riate.png" height="30" /> ] - **2006** : Première version d'HyperAtlas - **2011** : Seconde version d'HyperAtlas (nouveaux outils statistiques, implémentation de la carte de synthèse - 2 déviations) - **2015** : Fin du groupe de recherche HyperCarte. Travaux résumés dans un [site Web](http://hypercarte.imag.fr/) (Le Rubrus, 2015) ] ] .pull-right[ .center[ <img src="data:image/png;base64,#fig/hypercarte.PNG" width="500" /> .leg-fig[[*http://hypercarte.imag.fr/*](http://hypercarte.imag.fr/, le site Web du groupe de recherche) ] ] ] --- ## 15 ans de recherche interdisciplinaire autour d'HyperAtlas .pull-left[ .medium[ - **1990's** : Travaux de C. Grasland, H. Mathian et J.C François sur la distribution de phénomènes sociaux discrets dans l'espace ([appartenances](http://census.web.ined.fr/debat/Contributions/Avant-Fevrier-1999/Grasland-2.html) et [discontinuités territoriales](https://www.persee.fr/doc/spgeo_0046-2497_1997_num_26_4_1097)) - **1996** Création du groupe de recherche HyperCarte .center[ <img src="data:image/png;base64,#fig/steamer.png" height="40" /><img src="data:image/png;base64,#fig/mescal.png" height="40" /><img src="data:image/png;base64,#fig/geo_cites.png" height="40" /><img src="data:image/png;base64,#fig/riate.png" height="30" /> ] - **2006** : Première version d'HyperAtlas - **2011** : Seconde version d'HyperAtlas (nouveaux outils statistiques, implémentation de la carte de synthèse - 2 déviations) - **2015** : Fin du groupe de recherche HyperCarte. Travaux résumés dans un [site Web](http://hypercarte.imag.fr/) (Le Rubrus, 2015) - **2021** : [ESPON HyperAtlas 3.0](https://www.espon.eu/HyperAtlas-3.0) (ÖIR) : nouveau design, connexion à la base de données ESPON... ] ] .pull-right[ .center[ <img src="data:image/png;base64,#fig/hyperatlas3.PNG" width="500" /> .leg-fig[ [*Tools and maps / HyperAtlas 3.0 - User Manual, draft*](https://www.espon.eu/sites/default/files/attachments/D3_Draft-User-Manual_11.pdf) ] ] ] --- class: inverse middle center <img src="data:image/png;base64,#fig/MTA.PNG" width="250" /> --- ## Retour sur expérience d'HyperAtlas .pull-left[ .left-column[ <br> <img src="data:image/png;base64,#fig/hand_on.svg" width="100" /> ] .right-column[ - Une application clic-bouton mûrement réfléchie (parcours utilisateur) - Un projet interdisciplinaire par essence - Concept de l'analyse multiscalaire facilement appréhendable par une diversité d'acteurs. Implémentations multiples : *[ESPON](https://www.espon.eu/HyperAtlas-3.0), [Parlement Européen](https://www.europarl.europa.eu/thinktank/en/document.html?reference=IPOL-REGI_ET(2007), CGET, [Enseignement](https://www.ac-paris.fr/portail/jcms/p1_986484/enseigner-les-disparites-socio-spatiales-au-sein-de-l-ue-avec-hyperatlas-1ere)...* <br><br><br><br> ] ] .pull-right[ .left-column[ <br> <img src="data:image/png;base64,#fig/hand_back.svg" width="100" /> ] .right-column[ - Application vieillissante (ergonomie) - Processus de création d'un .hyp (données d'entrée d'HyperAtlas) assez coûteux - Une application qui dépend du développement successif de plusieurs ingénieurs (difficile à faire évoluer) - Export vectoriel des cartes et graphiques impossible sous HyperAtlas <br><br><br> ] ] -- - Proposer une **alternative** technique pour mener ce type d'analyses : R - **Ouvrir le code et les méthodes** pour rendre possible d'éventuelles contributions ultérieures --- ## Le package MTA .pull-left[ - **M**ultiscalar **T**erritorial **A**nalysis - Déposé sur le CRAN en mars 2017 - 10 fonctions : `gdev()`, `tdev()`, `sdev()`, `bidev()`, `mst()`, `mas()`, `map_bidev()`, `map_mst()`, `plot_bidev()`, `plot_mst()` - Un jeu de données d'exemple (inégalités de revenu sur la Métropole du Grand Paris : `com()`, `ept()`, `cardist()`) - 2 vignettes explicatives (concepts théoriques et application) - version 0.4.0 (dernière mise à jour : octobre 2021) ] .pull-right[ <img src="data:image/png;base64,#fig/mta_package.PNG" width="500" /> ] --- ## Développement <img src="data:image/png;base64,#index_files/figure-html/unnamed-chunk-1-1.png" width="500" style="display: block; margin: auto;" /> --- ## Des préalables pour mener une analyse multiscalaire... .left-column[ <br> <img src="data:image/png;base64,#fig/warning.svg" width="50" /> <br><br><br><br><br><br><br> <img src="data:image/png;base64,#fig/warning.svg" width="50" /> ] .right-column[ ### Thématique - **Définir un indicateur défini par la variable Z = V/P**, qui correspond à un modèle d'allocation d'une ressource par rapport à une population de référence. La référence implicite de ce type d'analyse étant l'équirépartition - **Identifier des contextes territoriaux** qui font sens d'un point de vue thématique ou politique ### Technique - **Jeu de données** : disposer d'un numérateur, d'un dénominateur et d'une variable d'appartenance territoriale - Des **Géométries** associées au jeu de données (calcul de la déviation spatiale : objet `sf`) ] --- class: inverse middle center # Exemple d'utilisation *Concentration de l'emploi dans la Métropole du Grand Paris* <img src="data:image/png;base64,#index_files/figure-html/unnamed-chunk-2-1.png" width="450" style="display: block; margin: auto;" /> --- ## Un exemple reproductible Le code présenté est accessible sur le dépôt de la présentation : **[github.com/rysebaert/mta_geoteca](https://github.com/rysebaert/mta_geoteca)** .left-column[ .medium[ 1. Téléchargez le dépôt (.zip) 2. Décompressez le .zip 3. Ouvrez le fichier project.Rproj 4. Importez le fichier script.R ] ] .right-column[ .center[ <img src="data:image/png;base64,#fig/reproducibility.PNG" width="600" /> ] ] --- .pull-left[ ## Librairies utilisées **MTA** : Calcul des déviations, représentations graphiques de synthèse des déviations **sf** : Manipulation de données spatiales **mapsf** : Représentations cartographiques ```r library(MTA) library(sf) library(mapsf) ``` ] .pull-right[ ## Le jeu de données **Couverture géographique / maille territoriale** : Communes appartenant à une des 22 métropoles françaises (Source [IGN, 2021](https://geoservices.ign.fr/contoursiris) / [INSEE, 2021](https://www.insee.fr/fr/information/2028028)) **Un numérateur** : Emplois au lieu de travail en 2016 (Source : [INSEE, 2021](https://www.insee.fr/fr/statistiques/4171446?sommaire=4171473)) **Un dénominateur** : Actifs de 15 à 64 en 2016, au lieu de résidence (Source : [INSEE, 2021](https://www.insee.fr/fr/statistiques/4228432)) **Une variable d'appartenance** : EPCI (communauté d'agglomération) d'appartenance de la commune (Source : [RIATE, 2021](https://github.com/rysebaert/mta_rzine/blob/main/data/metropoles.xlsx)) ```r # Import des données com <- st_read("data/data.gpkg", layer = "com", quiet = TRUE) epci <- st_read("data/data.gpkg", layer = "epci", quiet = TRUE) # Filtrer sur Paris com <- com[com$LIB_EPCI == "Métropole du Grand Paris",] epci <- epci[epci$LIB_EPCI == "Métropole du Grand Paris",] ``` ] --- ## Le jeu de données ```r head(com) ``` ``` ## Simple feature collection with 6 features and 8 fields ## Geometry type: MULTIPOLYGON ## Dimension: XY ## Bounding box: xmin: 649855.9 ymin: 6859834 xmax: 653707.7 ymax: 6863752 ## Projected CRS: RGF93_Lambert_93 ## INSEE_COM NOM_COM EPCI LIB_EPCI ## 771 75101 Paris 1er Arrondissement 200054781 Métropole du Grand Paris ## 772 75102 Paris 2e Arrondissement 200054781 Métropole du Grand Paris ## 773 75103 Paris 3e Arrondissement 200054781 Métropole du Grand Paris ## 774 75104 Paris 4e Arrondissement 200054781 Métropole du Grand Paris ## 775 75105 Paris 5e Arrondissement 200054781 Métropole du Grand Paris ## 776 75106 Paris 6e Arrondissement 200054781 Métropole du Grand Paris ## EPCI_SUB LIB_EPCI_SUB P16_EMPLT C16_ACTOCC1564 ## 771 T1 Paris 61213.89 8061.414 ## 772 T1 Paris 61152.99 11953.851 ## 773 T1 Paris 31460.89 18880.705 ## 774 T1 Paris 41601.54 13794.282 ## 775 T1 Paris 53332.77 26531.098 ## 776 T1 Paris 45135.11 16819.452 ## geom ## 771 MULTIPOLYGON (((652048.7 68... ## 772 MULTIPOLYGON (((652243.5 68... ## 773 MULTIPOLYGON (((653617.9 68... ## 774 MULTIPOLYGON (((653427.2 68... ## 775 MULTIPOLYGON (((653170.9 68... ## 776 MULTIPOLYGON (((651487.5 68... ``` --- ## Initialisation de l'analyse .pull-left[ ```r # Initialisation de l'analyse num <- which(colnames(com) == "P16_EMPLT") denom <- which(colnames(com) == "C16_ACTOCC1564") colnames(com)[c(num,denom)] <- c("num", "denom") # Retirer les valeurs égales à 0 com <- com[com$num != 0 & com$denom != 0,] # Calculer le ratio de référence com$ratio <- com$num / com$denom # Représentation cartographique mf_map(x = com, var = "ratio", type = "choro", breaks = "quantile", nbreaks = 4, border = "white", leg_title = paste0("Emploi au lieu de travail /\n", "Actifs occupés au lieu", "de résidence, 2016")) # EPCI mf_map(epci, col = NA, lwd = 1, add = TRUE) # Sources credits <- paste0("Sources : INSEE, IGN, 2021 / ", "Réalisation : R. Ysebaert, 2021") mf_layout(title = paste0("Ratio d'intérêt : concentration ", "d'emploi au lieu de travail", "dans la MGP"), credits = credits) ``` ] .pull-right[ <img src="data:image/png;base64,#index_files/figure-html/unnamed-chunk-7-1.png" style="display: block; margin: auto;" /> ] --- ## Déviation générale : écart à la moyenne de la MGP .pull-left[ ```r # Déviation générale com$gdevrel <- gdev(x = com, var1 = "num", var2 = "denom", type = "rel") # Palette de couleurs pour déviations(origine Color Brewer) devpal <- c("#4575B4", "#91BFDB", "#E0F3F8", "#FEE090", "#FC8D59", "#D73027") # Cartographie mf_map(x = com, var = "gdevrel", type = "choro", breaks = c(min(com$gdevrel), 75, 90, 100, 111, 133, max(com$gdevrel)), border = "white", pal = devpal, leg_title = paste0("Déviation au contexte général", "\n(100 = moyenne de la MGP)")) mf_map(epci, col = NA, lwd = 1, add = TRUE) mf_layout(title = paste0("Déviation générale (moyenne = ", round(sum(com$num) / sum(com$denom), 2), ")"), credits = credits) # Labels mf_label(x = com[which.min(com$gdevrel),], var = "NOM_COM", halo = TRUE) mf_label(x = com[which.max(com$ratio),], var = "NOM_COM", halo = TRUE) ``` ] .pull-right[ <img src="data:image/png;base64,#index_files/figure-html/unnamed-chunk-9-1.png" style="display: block; margin: auto;" /> ] --- ## Déviation générale : écart à un seuil spécifique .pull-left[ ```r # Déviation générale / Assymétrie numérateur - dénominateur com$gdevrel2 <- gdev(x = com, var1 = "num", var2 = "denom", type = "rel", ref = 1) # Cartographie mf_map(x = com, var = "gdevrel2", type = "choro", breaks = c(min(com$gdevrel2), 75, 90, 100, 111, 133, max(com$gdevrel2)), border = "white", pal = devpal, leg_title = paste0("Déviation au contexte général", "\n(100 = moyenne de la MGP)")) mf_map(epci, col = NA, lwd = 1, add = TRUE) mf_layout(title = paste0("Déviation générale / ", "Assymétrie numérateur dénominateur"), credits = credits) ``` ] .pull-right[ <img src="data:image/png;base64,#index_files/figure-html/unnamed-chunk-11-1.png" style="display: block; margin: auto;" /> ] --- ## Déviation territoriale : écart à l'EPCI d'appartenance .pull-left[ ```r # Déviation territoriale com$tdevrel <- tdev(x = com, var1 = "num", var2 = "denom", key = "LIB_EPCI_SUB") # Cartographie mf_map(x = com, var = "tdevrel", type = "choro", breaks = c(min(com$tdevrel), 75, 90, 100, 111, 133, max(com$tdevrel)), border = "white", pal = devpal, leg_title = paste0("Déviation au contexte territorial", "\n(100 = moyenne de l'EPCI", " d'appartenance)")) mf_layout(title = "Déviation territoriale", credits = credits) # Extraction du maximum et du minimum par EPCI, puis affichage df.agg <- aggregate(tdevrel ~ LIB_EPCI_SUB, com, FUN = max) df.max <- merge(df.agg, com) df.max <- st_as_sf(df.max) df.agg <- aggregate(tdevrel ~ LIB_EPCI_SUB, com, FUN = min) df.min <- merge(df.agg, com) df.min <- st_as_sf(df.min) mf_label(x = df.max, var = "NOM_COM", halo = TRUE, col = "#8B1713") mf_label(x = df.min, var = "NOM_COM", halo = TRUE, col = "#135D89") ``` ] .pull-right[ <img src="data:image/png;base64,#index_files/figure-html/unnamed-chunk-13-1.png" style="display: block; margin: auto;" /> ] --- ## Déviation spatiale : contiguïté territoriale .pull-left[ ```r # Déviation spatiale com$sdevrel <- sdev(x = com, var1 = "num", var2 = "denom", order = 1) # Cartographie mf_map(x = com, var = "sdevrel", type = "choro", breaks = c(min(com$sdevrel), 75, 90, 100, 111, 133, max(com$sdevrel)), border = "white", pal = devpal, leg_title = paste0("Déviation au contexte territorial", "\n(100 = moyenne des communes", " contigües)")) mf_layout(title = "Déviation spatiale", credits = credits, arrow = FALSE) ``` ] .pull-right[ <img src="data:image/png;base64,#index_files/figure-html/unnamed-chunk-15-1.png" style="display: block; margin: auto;" /> ] --- ## Déviation spatiale : contiguïté territoriale .pull-left[ ```r # Extraction des limites communales borders <- st_intersection(st_buffer(com, 5), st_buffer(com, 5)) borders <- st_cast(borders,"MULTILINESTRING") borders <- borders[borders$INSEE_COM != borders$INSEE_COM.1, ] # Calcul des discontinuités borders$disc <- pmax(borders$ratio/borders$ratio.1, borders$ratio.1/borders$ratio) # Ne conserver que les 25 % les plus importantes val <- as.numeric(quantile(borders$disc, probs = c(1 - 0.25))) borders <- borders[borders$disc >= val,] mf_map(x = borders, var = "disc", type = "prop", lwd_max = 20, border = "black", col = "black", leg_pos = "topleft", leg_title = paste0("Discontinuités relatives\n", "(max/min sur le ratio de référence)"), add = TRUE) # Extraire top 10 max/min df.max <- com[order(com$sdevrel, decreasing = TRUE), ] df.max <- df.max[1:10,] df.min <- com[order(com$sdevrel, decreasing = FALSE), ] df.min <- df.min[1:10,] mf_label(x = df.max, var = "NOM_COM", halo = TRUE, col = "#8B1713") mf_label(x = df.min, var = "NOM_COM", halo = TRUE, col = "#135D89") ``` ] .pull-right[ <img src="data:image/png;base64,#index_files/figure-html/unnamed-chunk-17-1.png" style="display: block; margin: auto;" /> ] --- ## Redistributions ? .pull-left[ ```r # Déviation générale com$gdevabs <- gdev(x = com, var1 = "num", var2 = "denom", type = "abs") # Sens des déviationS com$gdevsign <- ifelse(com$gdevabs > 0, "Excédent d'emplois", "Déficit d'emplois") # Cartographie mf_map(epci, col = "peachpuff", border = "black", lwd = 1) mf_map(x = com, var = c("gdevabs", "gdevsign"), type = "prop_typo", pal = c("#F6533A","#515FAA"), inches = 0.2, val_order = c("Excédent d'emplois", "Déficit d'emplois"), val_max = max(abs(com$gdevabs)), leg_val_rnd = -2, border = "white", leg_title = c(paste0("Emplois à redistribuer pour", "atteindre l'équilibre"), "Sens de la redistribution")) mf_layout(title = "Redistributions, déviation générale", credits = credits, arrow = FALSE) ``` ] .pull-right[ <img src="data:image/png;base64,#index_files/figure-html/unnamed-chunk-19-1.png" style="display: block; margin: auto;" /> ] --- ## Redistributions ? Communes excédentaires d'emploi ```r # Déviation générale - top 10 des contributeurs... df <- st_set_geometry(com, NULL) # ... Au regard de leur masse de numérateur df$gdevabsPerc <- df$gdevabs / df$num * 100 df <- df[order(df$gdevabsPerc, decreasing = TRUE), ] df[1:10, c("INSEE_COM", "NOM_COM", "LIB_EPCI_SUB", "num", "gdevabs", "gdevabsPerc")] ``` <template id="9c6c1f4c-d6fc-41c1-a3f9-e85e4027683d"><style> .tabwid table{ border-spacing:0px !important; border-collapse:collapse; line-height:1; margin-left:auto; margin-right:auto; border-width: 0; display: table; margin-top: 1.275em; margin-bottom: 1.275em; border-color: transparent; } .tabwid_left table{ margin-left:0; } .tabwid_right table{ margin-right:0; } .tabwid td { padding: 0; } .tabwid a { text-decoration: none; } .tabwid thead { background-color: transparent; } .tabwid tfoot { background-color: transparent; } .tabwid table tr { background-color: transparent; } </style><div class="tabwid"><style>.cl-a4a8c97a{}.cl-a49ecd9e{font-family:'Arial';font-size:11pt;font-weight:bold;font-style:normal;text-decoration:none;color:rgba(0, 0, 0, 1.00);background-color:transparent;}.cl-a49ecd9f{font-family:'Arial';font-size:9pt;font-weight:normal;font-style:normal;text-decoration:none;color:rgba(0, 0, 0, 1.00);background-color:transparent;}.cl-a49ef4b8{margin:0;text-align:left;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);padding-bottom:5pt;padding-top:5pt;padding-left:5pt;padding-right:5pt;line-height: 1;background-color:transparent;}.cl-a49ef4b9{margin:0;text-align:right;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);padding-bottom:5pt;padding-top:5pt;padding-left:5pt;padding-right:5pt;line-height: 1;background-color:transparent;}.cl-a49f42ce{width:85.3pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a49f42cf{width:144.6pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a49f42d0{width:89pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a49f42d1{width:66.4pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a49f42d2{width:144pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a49f42d3{width:85.3pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a49f42d4{width:144.6pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a49f42d5{width:89pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a49f42d6{width:66.4pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a49f42d7{width:144pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a49f42d8{width:85.3pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a49f69de{width:89pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a49f69df{width:144pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a49f69e0{width:144.6pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a49f69e1{width:66.4pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a49f69e2{width:144.6pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a49f69e3{width:66.4pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a49f69e4{width:85.3pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a49f69e5{width:89pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a49f69e6{width:144pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a49f69e7{width:144pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a49f69e8{width:85.3pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a49f8fb8{width:89pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a49f8fb9{width:144.6pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a49f8fba{width:66.4pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a49f8fbb{width:66.4pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a49f8fbc{width:89pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a49f8fbd{width:144.6pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a49f8fbe{width:144pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a49f8fbf{width:85.3pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a49f8fc0{width:144.6pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 2pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a49f8fc1{width:89pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 2pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a49f8fc2{width:85.3pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 2pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a49fb6c8{width:144pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 2pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a49fb6c9{width:66.4pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 2pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}</style><table class='cl-a4a8c97a'><thead><tr style="overflow-wrap:break-word;"><td class="cl-a49f8fc2"><p class="cl-a49ef4b8"><span class="cl-a49ecd9e">INSEE_COM</span></p></td><td class="cl-a49f8fc0"><p class="cl-a49ef4b8"><span class="cl-a49ecd9e">NOM_COM</span></p></td><td class="cl-a49fb6c8"><p class="cl-a49ef4b8"><span class="cl-a49ecd9e">LIB_EPCI_SUB</span></p></td><td class="cl-a49fb6c9"><p class="cl-a49ef4b9"><span class="cl-a49ecd9e">num</span></p></td><td class="cl-a49fb6c9"><p class="cl-a49ef4b9"><span class="cl-a49ecd9e">gdevabs</span></p></td><td class="cl-a49f8fc1"><p class="cl-a49ef4b9"><span class="cl-a49ecd9e">gdevabsPerc</span></p></td></tr></thead><tbody><tr style="overflow-wrap:break-word;"><td class="cl-a49f42ce"><p class="cl-a49ef4b8"><span class="cl-a49ecd9f">75108</span></p></td><td class="cl-a49f42cf"><p class="cl-a49ef4b8"><span class="cl-a49ecd9f">Paris 8e Arrondissement</span></p></td><td class="cl-a49f42d2"><p class="cl-a49ef4b8"><span class="cl-a49ecd9f">Paris</span></p></td><td class="cl-a49f42d1"><p class="cl-a49ef4b9"><span class="cl-a49ecd9f">174253.6</span></p></td><td class="cl-a49f42d1"><p class="cl-a49ef4b9"><span class="cl-a49ecd9f">152539.9</span></p></td><td class="cl-a49f42d0"><p class="cl-a49ef4b9"><span class="cl-a49ecd9f">87.5</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-a49f42d8"><p class="cl-a49ef4b8"><span class="cl-a49ecd9f">94065</span></p></td><td class="cl-a49f69e0"><p class="cl-a49ef4b8"><span class="cl-a49ecd9f">Rungis</span></p></td><td class="cl-a49f69df"><p class="cl-a49ef4b8"><span class="cl-a49ecd9f">Grand-Orly Seine Bièvre</span></p></td><td class="cl-a49f69e1"><p class="cl-a49ef4b9"><span class="cl-a49ecd9f">27219.4</span></p></td><td class="cl-a49f69e1"><p class="cl-a49ef4b9"><span class="cl-a49ecd9f">23732.8</span></p></td><td class="cl-a49f69de"><p class="cl-a49ef4b9"><span class="cl-a49ecd9f">87.2</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-a49f69e4"><p class="cl-a49ef4b8"><span class="cl-a49ecd9f">75101</span></p></td><td class="cl-a49f69e2"><p class="cl-a49ef4b8"><span class="cl-a49ecd9f">Paris 1er Arrondissement</span></p></td><td class="cl-a49f69e6"><p class="cl-a49ef4b8"><span class="cl-a49ecd9f">Paris</span></p></td><td class="cl-a49f69e3"><p class="cl-a49ef4b9"><span class="cl-a49ecd9f">61213.9</span></p></td><td class="cl-a49f69e3"><p class="cl-a49ef4b9"><span class="cl-a49ecd9f">51094.7</span></p></td><td class="cl-a49f69e5"><p class="cl-a49ef4b9"><span class="cl-a49ecd9f">83.5</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-a49f69e4"><p class="cl-a49ef4b8"><span class="cl-a49ecd9f">75102</span></p></td><td class="cl-a49f69e2"><p class="cl-a49ef4b8"><span class="cl-a49ecd9f">Paris 2e Arrondissement</span></p></td><td class="cl-a49f69e6"><p class="cl-a49ef4b8"><span class="cl-a49ecd9f">Paris</span></p></td><td class="cl-a49f69e3"><p class="cl-a49ef4b9"><span class="cl-a49ecd9f">61153.0</span></p></td><td class="cl-a49f69e3"><p class="cl-a49ef4b9"><span class="cl-a49ecd9f">46147.7</span></p></td><td class="cl-a49f69e5"><p class="cl-a49ef4b9"><span class="cl-a49ecd9f">75.5</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-a49f69e8"><p class="cl-a49ef4b8"><span class="cl-a49ecd9f">75109</span></p></td><td class="cl-a49f8fb9"><p class="cl-a49ef4b8"><span class="cl-a49ecd9f">Paris 9e Arrondissement</span></p></td><td class="cl-a49f69e7"><p class="cl-a49ef4b8"><span class="cl-a49ecd9f">Paris</span></p></td><td class="cl-a49f8fba"><p class="cl-a49ef4b9"><span class="cl-a49ecd9f">117151.8</span></p></td><td class="cl-a49f8fba"><p class="cl-a49ef4b9"><span class="cl-a49ecd9f">76427.5</span></p></td><td class="cl-a49f8fb8"><p class="cl-a49ef4b9"><span class="cl-a49ecd9f">65.2</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-a49f8fbf"><p class="cl-a49ef4b8"><span class="cl-a49ecd9f">92062</span></p></td><td class="cl-a49f8fbd"><p class="cl-a49ef4b8"><span class="cl-a49ecd9f">Puteaux</span></p></td><td class="cl-a49f8fbe"><p class="cl-a49ef4b8"><span class="cl-a49ecd9f">Paris Ouest - La Défense</span></p></td><td class="cl-a49f8fbb"><p class="cl-a49ef4b9"><span class="cl-a49ecd9f">77080.0</span></p></td><td class="cl-a49f8fbb"><p class="cl-a49ef4b9"><span class="cl-a49ecd9f">48745.2</span></p></td><td class="cl-a49f8fbc"><p class="cl-a49ef4b9"><span class="cl-a49ecd9f">63.2</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-a49f69e4"><p class="cl-a49ef4b8"><span class="cl-a49ecd9f">75107</span></p></td><td class="cl-a49f69e2"><p class="cl-a49ef4b8"><span class="cl-a49ecd9f">Paris 7e Arrondissement</span></p></td><td class="cl-a49f69e6"><p class="cl-a49ef4b8"><span class="cl-a49ecd9f">Paris</span></p></td><td class="cl-a49f69e3"><p class="cl-a49ef4b9"><span class="cl-a49ecd9f">70762.4</span></p></td><td class="cl-a49f69e3"><p class="cl-a49ef4b9"><span class="cl-a49ecd9f">41392.7</span></p></td><td class="cl-a49f69e5"><p class="cl-a49ef4b9"><span class="cl-a49ecd9f">58.5</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-a49f69e8"><p class="cl-a49ef4b8"><span class="cl-a49ecd9f">75104</span></p></td><td class="cl-a49f8fb9"><p class="cl-a49ef4b8"><span class="cl-a49ecd9f">Paris 4e Arrondissement</span></p></td><td class="cl-a49f69e7"><p class="cl-a49ef4b8"><span class="cl-a49ecd9f">Paris</span></p></td><td class="cl-a49f8fba"><p class="cl-a49ef4b9"><span class="cl-a49ecd9f">41601.5</span></p></td><td class="cl-a49f8fba"><p class="cl-a49ef4b9"><span class="cl-a49ecd9f">24286.0</span></p></td><td class="cl-a49f8fb8"><p class="cl-a49ef4b9"><span class="cl-a49ecd9f">58.4</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-a49f69e4"><p class="cl-a49ef4b8"><span class="cl-a49ecd9f">75106</span></p></td><td class="cl-a49f69e2"><p class="cl-a49ef4b8"><span class="cl-a49ecd9f">Paris 6e Arrondissement</span></p></td><td class="cl-a49f69e6"><p class="cl-a49ef4b8"><span class="cl-a49ecd9f">Paris</span></p></td><td class="cl-a49f69e3"><p class="cl-a49ef4b9"><span class="cl-a49ecd9f">45135.1</span></p></td><td class="cl-a49f69e3"><p class="cl-a49ef4b9"><span class="cl-a49ecd9f">24022.2</span></p></td><td class="cl-a49f69e5"><p class="cl-a49ef4b9"><span class="cl-a49ecd9f">53.2</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-a49f42d3"><p class="cl-a49ef4b8"><span class="cl-a49ecd9f">94054</span></p></td><td class="cl-a49f42d4"><p class="cl-a49ef4b8"><span class="cl-a49ecd9f">Orly</span></p></td><td class="cl-a49f42d7"><p class="cl-a49ef4b8"><span class="cl-a49ecd9f">Grand-Orly Seine Bièvre</span></p></td><td class="cl-a49f42d6"><p class="cl-a49ef4b9"><span class="cl-a49ecd9f">22609.1</span></p></td><td class="cl-a49f42d6"><p class="cl-a49ef4b9"><span class="cl-a49ecd9f">11288.7</span></p></td><td class="cl-a49f42d5"><p class="cl-a49ef4b9"><span class="cl-a49ecd9f">49.9</span></p></td></tr></tbody></table></div></template> <div class="flextable-shadow-host" id="ade02db5-87e8-4cb9-9020-e5897267333f"></div> <script> var dest = document.getElementById("ade02db5-87e8-4cb9-9020-e5897267333f"); var template = document.getElementById("9c6c1f4c-d6fc-41c1-a3f9-e85e4027683d"); var caption = template.content.querySelector("caption"); if(caption) { caption.style.cssText = "display:block;text-align:center;"; var newcapt = document.createElement("p"); newcapt.appendChild(caption) dest.parentNode.insertBefore(newcapt, dest.previousSibling); } var fantome = dest.attachShadow({mode: 'open'}); var templateContent = template.content; fantome.appendChild(templateContent); </script> --- ## Redistributions ? Communes déficitaires d'emploi ```r # Déviation générale - top 10 des receveurs... df <- st_set_geometry(com, NULL) # ... Au regard de leur masse de numérateur df$gdevabsPerc <- df$gdevabs / df$num * 100 df <- df[order(df$gdevabsPerc, decreasing = FALSE), ] df[1:10, c("INSEE_COM", "NOM_COM", "LIB_EPCI_SUB", "num", "gdevabs", "gdevabsPerc")] ``` <template id="50914960-41ca-4cfd-9201-544983a81fbf"><style> .tabwid table{ border-spacing:0px !important; border-collapse:collapse; line-height:1; margin-left:auto; margin-right:auto; border-width: 0; display: table; margin-top: 1.275em; margin-bottom: 1.275em; border-color: transparent; } .tabwid_left table{ margin-left:0; } .tabwid_right table{ margin-right:0; } .tabwid td { padding: 0; } .tabwid a { text-decoration: none; } .tabwid thead { background-color: transparent; } .tabwid tfoot { background-color: transparent; } .tabwid table tr { background-color: transparent; } </style><div class="tabwid"><style>.cl-a4d59e64{}.cl-a4cc7820{font-family:'Arial';font-size:11pt;font-weight:bold;font-style:normal;text-decoration:none;color:rgba(0, 0, 0, 1.00);background-color:transparent;}.cl-a4cc7821{font-family:'Arial';font-size:9pt;font-weight:normal;font-style:normal;text-decoration:none;color:rgba(0, 0, 0, 1.00);background-color:transparent;}.cl-a4cc7822{margin:0;text-align:left;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);padding-bottom:5pt;padding-top:5pt;padding-left:5pt;padding-right:5pt;line-height: 1;background-color:transparent;}.cl-a4cc7823{margin:0;text-align:right;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);padding-bottom:5pt;padding-top:5pt;padding-left:5pt;padding-right:5pt;line-height: 1;background-color:transparent;}.cl-a4ccc636{width:85.3pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a4ccc637{width:128.1pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a4ccc638{width:89pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a4ccc639{width:54.2pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a4ccc63a{width:155pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a4ccc63b{width:65.2pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a4ccc63c{width:85.3pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a4ccc63d{width:128.1pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a4ccc63e{width:89pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a4ccc63f{width:65.2pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a4ccc640{width:155pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a4cced14{width:54.2pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a4cced15{width:85.3pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a4cced16{width:89pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a4cced17{width:155pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a4cced18{width:128.1pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a4cced19{width:65.2pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a4cced1a{width:54.2pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a4cced1b{width:128.1pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a4cced1c{width:54.2pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a4cced1d{width:85.3pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a4cced1e{width:89pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a4cd141a{width:65.2pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a4cd141b{width:155pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a4cd141c{width:155pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a4cd141d{width:85.3pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a4cd141e{width:89pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a4cd141f{width:128.1pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a4cd1420{width:54.2pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a4cd1421{width:65.2pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a4cd1422{width:85.3pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a4cd1423{width:128.1pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a4cd1424{width:155pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a4cd3b34{width:65.2pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a4cd3b35{width:54.2pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a4cd3b36{width:89pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a4cd3b37{width:128.1pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a4cd3b38{width:85.3pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a4cd3b39{width:89pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a4cd3b3a{width:155pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a4cd3b3b{width:54.2pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a4cd3b3c{width:65.2pt;background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(102, 102, 102, 1.00);border-top: 0.5pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a4cd3b3d{width:128.1pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 2pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a4cd3b3e{width:89pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 2pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a4cd623a{width:85.3pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 2pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a4cd623b{width:155pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 2pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a4cd623c{width:54.2pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 2pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-a4cd623d{width:65.2pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 2pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}</style><table class='cl-a4d59e64'><thead><tr style="overflow-wrap:break-word;"><td class="cl-a4cd623a"><p class="cl-a4cc7822"><span class="cl-a4cc7820">INSEE_COM</span></p></td><td class="cl-a4cd3b3d"><p class="cl-a4cc7822"><span class="cl-a4cc7820">NOM_COM</span></p></td><td class="cl-a4cd623b"><p class="cl-a4cc7822"><span class="cl-a4cc7820">LIB_EPCI_SUB</span></p></td><td class="cl-a4cd623c"><p class="cl-a4cc7823"><span class="cl-a4cc7820">num</span></p></td><td class="cl-a4cd623d"><p class="cl-a4cc7823"><span class="cl-a4cc7820">gdevabs</span></p></td><td class="cl-a4cd3b3e"><p class="cl-a4cc7823"><span class="cl-a4cc7820">gdevabsPerc</span></p></td></tr></thead><tbody><tr style="overflow-wrap:break-word;"><td class="cl-a4ccc636"><p class="cl-a4cc7822"><span class="cl-a4cc7821">94001</span></p></td><td class="cl-a4ccc637"><p class="cl-a4cc7822"><span class="cl-a4cc7821">Ablon-sur-Seine</span></p></td><td class="cl-a4ccc63a"><p class="cl-a4cc7822"><span class="cl-a4cc7821">Grand-Orly Seine Bièvre</span></p></td><td class="cl-a4ccc639"><p class="cl-a4cc7823"><span class="cl-a4cc7821">650.9</span></p></td><td class="cl-a4ccc63b"><p class="cl-a4cc7823"><span class="cl-a4cc7821">-2465.9</span></p></td><td class="cl-a4ccc638"><p class="cl-a4cc7823"><span class="cl-a4cc7821">-378.8</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-a4cced15"><p class="cl-a4cc7822"><span class="cl-a4cc7821">94056</span></p></td><td class="cl-a4cced18"><p class="cl-a4cc7822"><span class="cl-a4cc7821">Périgny</span></p></td><td class="cl-a4cced17"><p class="cl-a4cc7822"><span class="cl-a4cc7821">Grand Paris Sud Est Avenir</span></p></td><td class="cl-a4cced1a"><p class="cl-a4cc7823"><span class="cl-a4cc7821">366.4</span></p></td><td class="cl-a4cced19"><p class="cl-a4cc7823"><span class="cl-a4cc7821">-1359.6</span></p></td><td class="cl-a4cced16"><p class="cl-a4cc7823"><span class="cl-a4cc7821">-371.1</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-a4cced1d"><p class="cl-a4cc7822"><span class="cl-a4cc7821">94053</span></p></td><td class="cl-a4cced1b"><p class="cl-a4cc7822"><span class="cl-a4cc7821">Noiseau</span></p></td><td class="cl-a4cd141b"><p class="cl-a4cc7822"><span class="cl-a4cc7821">Grand Paris Sud Est Avenir</span></p></td><td class="cl-a4cced1c"><p class="cl-a4cc7823"><span class="cl-a4cc7821">681.9</span></p></td><td class="cl-a4cd141a"><p class="cl-a4cc7823"><span class="cl-a4cc7821">-2032.5</span></p></td><td class="cl-a4cced1e"><p class="cl-a4cc7823"><span class="cl-a4cc7821">-298.0</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-a4cced1d"><p class="cl-a4cc7822"><span class="cl-a4cc7821">93015</span></p></td><td class="cl-a4cced1b"><p class="cl-a4cc7822"><span class="cl-a4cc7821">Coubron</span></p></td><td class="cl-a4cd141b"><p class="cl-a4cc7822"><span class="cl-a4cc7821">Grand Paris Grand Est</span></p></td><td class="cl-a4cced1c"><p class="cl-a4cc7823"><span class="cl-a4cc7821">692.5</span></p></td><td class="cl-a4cd141a"><p class="cl-a4cc7823"><span class="cl-a4cc7821">-2039.1</span></p></td><td class="cl-a4cced1e"><p class="cl-a4cc7823"><span class="cl-a4cc7821">-294.4</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-a4cd141d"><p class="cl-a4cc7822"><span class="cl-a4cc7821">93033</span></p></td><td class="cl-a4cd141f"><p class="cl-a4cc7822"><span class="cl-a4cc7821">Gournay-sur-Marne</span></p></td><td class="cl-a4cd141c"><p class="cl-a4cc7822"><span class="cl-a4cc7821">Grand Paris Grand Est</span></p></td><td class="cl-a4cd1420"><p class="cl-a4cc7823"><span class="cl-a4cc7821">1000.3</span></p></td><td class="cl-a4cd1421"><p class="cl-a4cc7823"><span class="cl-a4cc7821">-2925.3</span></p></td><td class="cl-a4cd141e"><p class="cl-a4cc7823"><span class="cl-a4cc7821">-292.4</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-a4cd141d"><p class="cl-a4cc7822"><span class="cl-a4cc7821">93032</span></p></td><td class="cl-a4cd141f"><p class="cl-a4cc7822"><span class="cl-a4cc7821">Gagny</span></p></td><td class="cl-a4cd141c"><p class="cl-a4cc7822"><span class="cl-a4cc7821">Grand Paris Grand Est</span></p></td><td class="cl-a4cd1420"><p class="cl-a4cc7823"><span class="cl-a4cc7821">5458.2</span></p></td><td class="cl-a4cd1421"><p class="cl-a4cc7823"><span class="cl-a4cc7821">-15304.2</span></p></td><td class="cl-a4cd141e"><p class="cl-a4cc7823"><span class="cl-a4cc7821">-280.4</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-a4cced1d"><p class="cl-a4cc7822"><span class="cl-a4cc7821">94059</span></p></td><td class="cl-a4cced1b"><p class="cl-a4cc7822"><span class="cl-a4cc7821">Le Plessis-Trévise</span></p></td><td class="cl-a4cd141b"><p class="cl-a4cc7822"><span class="cl-a4cc7821">Grand Paris Sud Est Avenir</span></p></td><td class="cl-a4cced1c"><p class="cl-a4cc7823"><span class="cl-a4cc7821">3030.1</span></p></td><td class="cl-a4cd141a"><p class="cl-a4cc7823"><span class="cl-a4cc7821">-8288.1</span></p></td><td class="cl-a4cced1e"><p class="cl-a4cc7823"><span class="cl-a4cc7821">-273.5</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-a4cd1422"><p class="cl-a4cc7822"><span class="cl-a4cc7821">94058</span></p></td><td class="cl-a4cd1423"><p class="cl-a4cc7822"><span class="cl-a4cc7821">Le Perreux-sur-Marne</span></p></td><td class="cl-a4cd1424"><p class="cl-a4cc7822"><span class="cl-a4cc7821">Paris Est Marne et Bois</span></p></td><td class="cl-a4cd3b35"><p class="cl-a4cc7823"><span class="cl-a4cc7821">5718.4</span></p></td><td class="cl-a4cd3b34"><p class="cl-a4cc7823"><span class="cl-a4cc7821">-14076.5</span></p></td><td class="cl-a4cd3b36"><p class="cl-a4cc7823"><span class="cl-a4cc7821">-246.2</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-a4cd3b38"><p class="cl-a4cc7822"><span class="cl-a4cc7821">92022</span></p></td><td class="cl-a4cd3b37"><p class="cl-a4cc7822"><span class="cl-a4cc7821">Chaville</span></p></td><td class="cl-a4cd3b3a"><p class="cl-a4cc7822"><span class="cl-a4cc7821">Grand Paris Seine Ouest</span></p></td><td class="cl-a4cd3b3b"><p class="cl-a4cc7823"><span class="cl-a4cc7821">3619.7</span></p></td><td class="cl-a4cd3b3c"><p class="cl-a4cc7823"><span class="cl-a4cc7821">-8661.0</span></p></td><td class="cl-a4cd3b39"><p class="cl-a4cc7823"><span class="cl-a4cc7821">-239.3</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-a4ccc63c"><p class="cl-a4cc7822"><span class="cl-a4cc7821">91589</span></p></td><td class="cl-a4ccc63d"><p class="cl-a4cc7822"><span class="cl-a4cc7821">Savigny-sur-Orge</span></p></td><td class="cl-a4ccc640"><p class="cl-a4cc7822"><span class="cl-a4cc7821">Grand-Orly Seine Bièvre</span></p></td><td class="cl-a4cced14"><p class="cl-a4cc7823"><span class="cl-a4cc7821">6081.4</span></p></td><td class="cl-a4ccc63f"><p class="cl-a4cc7823"><span class="cl-a4cc7821">-14382.3</span></p></td><td class="cl-a4ccc63e"><p class="cl-a4cc7823"><span class="cl-a4cc7821">-236.5</span></p></td></tr></tbody></table></div></template> <div class="flextable-shadow-host" id="b78e9fc7-5a40-4a6a-93b8-2f237bcb9086"></div> <script> var dest = document.getElementById("b78e9fc7-5a40-4a6a-93b8-2f237bcb9086"); var template = document.getElementById("50914960-41ca-4cfd-9201-544983a81fbf"); var caption = template.content.querySelector("caption"); if(caption) { caption.style.cssText = "display:block;text-align:center;"; var newcapt = document.createElement("p"); newcapt.appendChild(caption) dest.parentNode.insertBefore(newcapt, dest.previousSibling); } var fantome = dest.attachShadow({mode: 'open'}); var templateContent = template.content; fantome.appendChild(templateContent); </script> --- ## Synthèse multiscalaire : Communes excédentaires .pull-left[ ```r # Calcul typologie de synthèse mst <- map_mst(x = com, gdevrel = "gdevrel", tdevrel = "tdevrel", sdevrel = "sdevrel", threshold = 150, superior = TRUE) # Extraction de la liste com <- mst$geom cols <- mst$cols leg_val <- mst$leg_val # Cartographie mf_map(x = com, var = "mst", type = "typo", border = "white", lwd = 0.2, pal = cols, val_order = unique(com$mst), leg_pos = "n") mf_map(epci, col = NA, lwd = 1, add = TRUE) mf_legend(type = "typo", pos = "topleft", val = leg_val, pal = cols, title = paste0("Pour le contexte général (G)\n", "et-ou territorial (T)\n", "et-ou spatial (S)")) mf_layout(title = paste0("Synthèse multiscalaire" , " (déviations 1.5 fois au-dessus ", "de la moyenne)"), credits = credits, arrow = FALSE) # Ajouter des labels pour mst = 7 mf_label(x = com[com$mst == 7,], var = "NOM_COM", halo = TRUE, overlap = FALSE) ``` ] .pull-right[ <img src="data:image/png;base64,#index_files/figure-html/unnamed-chunk-25-1.png" style="display: block; margin: auto;" /> ] --- ## Synthèse multiscalaire : Communes excédentaires (contradictions) .pull-left[ ```r # Calcul typologie de synthèse mst <- map_mst(x = com, gdevrel = "gdevrel", tdevrel = "tdevrel", sdevrel = "sdevrel", threshold = 150, superior = TRUE) # Extraction de la liste com <- mst$geom cols <- mst$cols leg_val <- mst$leg_val # Cartographie mf_map(x = com, var = "mst", type = "typo", border = "white", lwd = 0.2, pal = cols, val_order = unique(com$mst), leg_pos = "n") mf_map(epci, col = NA, lwd = 1, add = TRUE) mf_legend(type = "typo", pos = "topleft", val = leg_val, pal = cols, title = paste0("Pour le contexte général (G)\n", "et-ou territorial (T)\n", "et-ou spatial (S)")) mf_layout(title = paste0("Synthèse multiscalaire" , " (déviations 1.5 fois au-dessus ", "de la moyenne)"), credits = credits, arrow = FALSE) # Ajouter des labels pour mst = 6 mf_label(x = com[com$mst == 6,], var = "NOM_COM", halo = TRUE, overlap = FALSE) ``` ] .pull-right[ <img src="data:image/png;base64,#index_files/figure-html/unnamed-chunk-27-1.png" style="display: block; margin: auto;" /> ] --- ## Synthèse multiscalaire : Communes déficitaires .pull-left[ ```r # Calcul typologie de synthèse mst <- map_mst(x = com, gdevrel = "gdevrel", tdevrel = "tdevrel", sdevrel = "sdevrel", threshold = 50, superior = FALSE) # Extraction de la liste com <- mst$geom cols <- mst$cols leg_val <- mst$leg_val # Cartographie mf_map(x = com, var = "mst", type = "typo", border = "white", lwd = 0.2, pal = cols, val_order = unique(com$mst), leg_pos = "n") mf_map(epci, col = NA, lwd = 1, add = TRUE) mf_legend(type = "typo", pos = "topleft", val = leg_val, pal = cols, title = paste0("Pour le contexte général (G)\n", "et-ou territorial (T)\n", "et-ou spatial (S)")) mf_layout(title = paste0("Synthèse multiscalaire" , " (déviations 2 fois en-dessous ", "de la moyenne)"), credits = credits, arrow = FALSE) # Ajouter des labels pour mst = 7 mf_label(x = com[com$mst == 7,], var = "NOM_COM", halo = TRUE, overlap = FALSE) ``` ] .pull-right[ <img src="data:image/png;base64,#index_files/figure-html/unnamed-chunk-29-1.png" style="display: block; margin: auto;" /> ] --- ## Comparaison territoriale ```r plot_mst(x = com, gdevrel = "gdevrel", tdevrel = "tdevrel", sdevrel = "sdevrel", lib.var = "NOM_COM", cex.names = .8, lib.val = c("Épinay-sur-Seine", "Pierrefitte-sur-Seine", "L'Île-Saint-Denis", "Le Pré-Saint-Gervais", "Ablon-sur-Seine", "Ville-d'Avray", "Périgny"), legend.lab = paste0("G = Métropole du Grand Paris, T = EPCI d'appartenance,", "S : Communes contigües (100 = moyenne du contexte)")) ``` <img src="data:image/png;base64,#index_files/figure-html/unnamed-chunk-30-1.png" style="display: block; margin: auto;" /> --- ### MTA : un révélateur d'inégalités ? Un commentaire sur Pierrefitte-sur-Seine (93) posté par un internaute sur [ville-ideale.fr](https://www.ville-ideale.fr/pierrefitte-sur-seine_93059)... .center[ <img src="data:image/png;base64,#fig/pierrefite.PNG" width="800" /> ] Et un autre sur [Périgny (94)](https://www.ville-ideale.fr/perigny_94056) .center[ <img src="data:image/png;base64,#fig/perigny.PNG" width="800" /> ] --- ## Autres fonctions disponibles .pull-left[ .medium[ - **`bidev`** : Typologie de synthèse sur 2 déviations (vecteur). - **`map_bidev`** : Typologie de synthèse sur 2 déviations (vecteur + couleurs utiles à la cartographie des résultats) - **`plot_bidev`** : Graphique en diamant pour visualiser les résultats - **`mst`** : Typologie de synthèse sur 3 déviations (vecteur). ] ] .pull-right[ <img src="data:image/png;base64,#index_files/figure-html/unnamed-chunk-31-1.png" style="display: block; margin: auto;" /> ] --- ## Pour l'histoire complète... .center[ Consultez la fiche [Rzine](https://rysebaert.github.io/mta_rzine) qui développe complètement l'analyse ! ] .pull-left[ <img src="data:image/png;base64,#fig/rzine1.PNG" width="500" /> ] .pull-right[ <img src="data:image/png;base64,#fig/rzine2.PNG" width="500" /> ] --- ## Retour utilisateur / questions Postez des issues dans le [dépôt GitHub](https://github.com/riatelab/MTA/issues) du package ! .center[ <img src="data:image/png;base64,#fig/issues.PNG" width="1000" /> ] --- # Bibliographie - ressources .small[ <p><cite>Grasland, C. (1997). “A la recherche d'un cadre theorique et methodologique pour l'etude des maillages territoriaux”. In: <em>Colloque Les decoupages du territoire, Lyon</em>. URL: <a href="http://census.web.ined.fr/debat/Contributions/Avant-Fevrier-1999/Grasland-2.html">http://census.web.ined.fr/debat/Contributions/Avant-Fevrier-1999/Grasland-2.html</a>.</cite></p> <p><cite>Grasland, C. (2004). “Les inegalites regionales dans une Europe Elargie”. In: <em>Les incertitudes du grand Elargissement : L'Europe centrale et balte dans l'integration europeenne</em>. Ed. by B. Chavance. Paris: L'Harmattan, Collection Pays de l'Est, pp. 181-214. URL: <a href="https://halshs.archives-ouvertes.fr/halshs-00175530/file/Grasland_final_181-214.pdf">https://halshs.archives-ouvertes.fr/halshs-00175530/file/Grasland_final_181-214.pdf</a>.</cite></p> <p><cite>Grasland, C., H. Martin, J. Vincent, et al. (2005). “Le projet Hypercarte : analyse spatiale et cartographie interactive”. In: <em>Colloque International de Geomatique et d'Analyse Spatiale, Sageo, Avignon</em>. URL: <a href="http://hypercarte.imag.fr/SAGEO2005Hypercarte.pdf">http://hypercarte.imag.fr/SAGEO2005Hypercarte.pdf</a>.</cite></p> <p><cite>Le Rubrus, B. (2011). “Cartographie et analyse territoriale multiscalaire. Reingenierie des logiciels HyperAtlas et HyperAdmin”. Memoire. Laboratoire d'Informatique de Grenoble, STeamer: Conservatoire National des Arts et Metiers. URL: <a href="http://hypercarte.imag.fr/MemoireCnam_BenoitLeRubrus_memoire_r163_201103061405_electro.pdf">http://hypercarte.imag.fr/MemoireCnam_BenoitLeRubrus_memoire_r163_201103061405_electro.pdf</a>.</cite></p> <p><cite>Martin, P. (2004). “Interface cartographique pour l'analyse territoriale multiscalaire de phenomenes sociaux”. Memoire. Laboratoire d'Informatique de Grenoble, STeamer: Conservatoire National des Arts et Metiers. URL: <a href="http://hypercarte.imag.fr/CNAM_Philippe_Martin.pdf">http://hypercarte.imag.fr/CNAM_Philippe_Martin.pdf</a>.</cite></p> <p><cite>Thomas, R. (2008). “Evolutions d'outils dedies a l'analyse territoriale et a l'analyse spatiale dans le cadre du projet HyperCarte”. Memoire. Laboratoire d'Informatique de Grenoble, STeamer: Conservatoire National des Arts et Metiers. URL: <a href="http://hypercarte.imag.fr/Memoire_CNAM_RaphaelTHOMAS_13052008.pdf">http://hypercarte.imag.fr/Memoire_CNAM_RaphaelTHOMAS_13052008.pdf</a>.</cite></p> <p><cite>Ysebaert, R. (2021a). <em>Historical and Conceptual Background. MTA vignette, on CRAN</em>. URL: <a href="https://cran.r-project.org/web/packages/MTA/vignettes/MTA.html">https://cran.r-project.org/web/packages/MTA/vignettes/MTA.html</a> (visited on oct.. 14, 2021).</cite></p> <p><cite>Ysebaert, R. (2021b). <em>MTA Use Case. MTA vignette, on CRAN</em>. URL: <a href="https://cran.r-project.org/web/packages/MTA/vignettes/MTA_Scenario.html">https://cran.r-project.org/web/packages/MTA/vignettes/MTA_Scenario.html</a> (visited on oct.. 14, 2021).</cite></p> <p><cite>Ysebaert, R. and C. Grasland (2021). “Analyse territoriale multiscalaire”. In: <em>Rzine</em>. URL: <a href="https://rzine.fr/publication/20211101_ysebaert_grasland_mta/">https://rzine.fr/publication/20211101_ysebaert_grasland_mta/</a>.</cite></p> <p><cite>Ysebaert, R., N. Lambert, C. Grasland, et al. (2012). “HyperAtlas, un outil scientifique au service du debat politique - Application a la politique de cohesion de l'Union Europeenne”. In: <em>Fonder les sciences du territoire</em>. Ed. by P. Beckouche, C. Grasland, F. Guerin-Pace and J. Moisseron. Paris: Collection du CIST, pp. 243-267. URL: <a href="https://hal.archives-ouvertes.fr/hal-00954933">https://hal.archives-ouvertes.fr/hal-00954933</a>.</cite></p> ] --- <br><br><br> .center[ # Merci ! <br><br> .medium[ Présentation réalisée avec [xaringan](https://github.com/yihui/xaringan) et [R Markdown](https://rmarkdown.rstudio.com/) *css* s'inspirant du thème [css rutgers](https://github.com/jvcasillas/ru_xaringan) et diverses adaptations proposées par [@oliviergimenez](https://github.com/oliviergimenez) ] ] <br><br><br><br> .left[ .medium[ | | | | :--------------------------------------------------------------------------------------------------------- | :-------------------------------- | | <svg viewBox="0 0 512 512" style="height:1em;position:relative;display:inline-block;top:.1em;" xmlns="http://www.w3.org/2000/svg"> <path d="M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm0 48v40.805c-22.422 18.259-58.168 46.651-134.587 106.49-16.841 13.247-50.201 45.072-73.413 44.701-23.208.375-56.579-31.459-73.413-44.701C106.18 199.465 70.425 171.067 48 152.805V112h416zM48 400V214.398c22.914 18.251 55.409 43.862 104.938 82.646 21.857 17.205 60.134 55.186 103.062 54.955 42.717.231 80.509-37.199 103.053-54.947 49.528-38.783 82.032-64.401 104.947-82.653V400H48z"></path></svg> | [ronan.ysebaert@cnrs.fr](mailto:ronan.ysebaert@cnrs.fr) | | <svg viewBox="0 0 576 512" style="height:1em;position:relative;display:inline-block;top:.1em;" xmlns="http://www.w3.org/2000/svg"> <path d="M280.37 148.26L96 300.11V464a16 16 0 0 0 16 16l112.06-.29a16 16 0 0 0 15.92-16V368a16 16 0 0 1 16-16h64a16 16 0 0 1 16 16v95.64a16 16 0 0 0 16 16.05L464 480a16 16 0 0 0 16-16V300L295.67 148.26a12.19 12.19 0 0 0-15.3 0zM571.6 251.47L488 182.56V44.05a12 12 0 0 0-12-12h-56a12 12 0 0 0-12 12v72.61L318.47 43a48 48 0 0 0-61 0L4.34 251.47a12 12 0 0 0-1.6 16.9l25.5 31A12 12 0 0 0 45.15 301l235.22-193.74a12.19 12.19 0 0 1 15.3 0L530.9 301a12 12 0 0 0 16.9-1.6l25.5-31a12 12 0 0 0-1.7-16.93z"></path></svg> | [riate.cnrs.fr](https://riate.cnrs.fr/) | | <svg viewBox="0 0 512 512" style="height:1em;position:relative;display:inline-block;top:.1em;" xmlns="http://www.w3.org/2000/svg"> <path d="M105.2 24.9c-3.1-8.9-15.7-8.9-18.9 0L29.8 199.7h132c-.1 0-56.6-174.8-56.6-174.8zM.9 287.7c-2.6 8 .3 16.9 7.1 22l247.9 184-226.2-294zm160.8-88l94.3 294 94.3-294zm349.4 88l-28.8-88-226.3 294 247.9-184c6.9-5.1 9.7-14 7.2-22zM425.7 24.9c-3.1-8.9-15.7-8.9-18.9 0l-56.6 174.8h132z"></path></svg> | [gitlab.huma-num.fr/rysebaert](https://gitlab.huma-num.fr/rysebaert) | | <svg viewBox="0 0 496 512" style="height:1em;position:relative;display:inline-block;top:.1em;" xmlns="http://www.w3.org/2000/svg"> <path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"></path></svg> | [@rysebaert](https://github.com/rysebaert) | | <svg viewBox="0 0 384 512" style="height:1em;position:relative;display:inline-block;top:.1em;" xmlns="http://www.w3.org/2000/svg"> <path d="M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm72-60V236c0-6.6 5.4-12 12-12h69.2c36.7 0 62.8 27 62.8 66.3 0 74.3-68.7 66.5-95.5 66.5V404c0 6.6-5.4 12-12 12H132c-6.6 0-12-5.4-12-12zm48.5-87.4h23c7.9 0 13.9-2.4 18.1-7.2 8.5-9.8 8.4-28.5.1-37.8-4.1-4.6-9.9-7-17.4-7h-23.9v52z"></path></svg> | [rysebaert.github.io/mta_geoteca](https://rysebaert.github.io/mta_geoteca) | <svg viewBox="0 0 581 512" style="height:1em;position:relative;display:inline-block;top:.1em;" xmlns="http://www.w3.org/2000/svg"> <path d="M581 226.6C581 119.1 450.9 32 290.5 32S0 119.1 0 226.6C0 322.4 103.3 402 239.4 418.1V480h99.1v-61.5c24.3-2.7 47.6-7.4 69.4-13.9L448 480h112l-67.4-113.7c54.5-35.4 88.4-84.9 88.4-139.7zm-466.8 14.5c0-73.5 98.9-133 220.8-133s211.9 40.7 211.9 133c0 50.1-26.5 85-70.3 106.4-2.4-1.6-4.7-2.9-6.4-3.7-10.2-5.2-27.8-10.5-27.8-10.5s86.6-6.4 86.6-92.7-90.6-87.9-90.6-87.9h-199V361c-74.1-21.5-125.2-67.1-125.2-119.9zm225.1 38.3v-55.6c57.8 0 87.8-6.8 87.8 27.3 0 36.5-38.2 28.3-87.8 28.3zm-.9 72.5H365c10.8 0 18.9 11.7 24 19.2-16.1 1.9-33 2.8-50.6 2.9v-22.1z"></path></svg> | [github.com/rysebaert/mta_geoteca/script.R](https://github.com/rysebaert/mta_geoteca/blob/main/script.R) ]]