Ce site a pour but de référencer un ensemble de données spatiales utilisé dans des analyses spatiales.
Gares
# Packages ----
pacman::p_load(sf, dplyr, mapview,tmap)
# Chargement de la couche
lignes_CEREMA <- sf::st_read('C:/Users/otheureaux/Documents/OT/RAILENIUM/BDD_TELLI/GEOFER/lignes-par-statut_queEdC_modifOT.gpkg')## Reading layer `lignes-par-statut_queEdC_modifOT' from data source
## `C:\Users\otheureaux\Documents\OT\RAILENIUM\BDD_TELLI\GEOFER\lignes-par-statut_queEdC_modifOT.gpkg'
## using driver `GPKG'
## Simple feature collection with 44 features and 20 fields
## Geometry type: LINESTRING
## Dimension: XY
## Bounding box: xmin: 213525.7 ymin: 6239088 xmax: 1023721 ymax: 7048345
## Projected CRS: RGF93 v1 / Lambert-93
lignes_CEREMA_2154 <- sf::st_transform(lignes_CEREMA, 2154)
# sélection de la ligne de travail
# ICI inscrire le nom de la ligne à étudier
names(lignes_CEREMA_2154)## [1] "code_ligne" "lib_ligne" "statut" "rg_troncon" "pkd"
## [6] "pkf" "idgaia" "x_d_l93" "y_d_l93" "x_f_l93"
## [11] "y_f_l93" "x_d_wgs84" "y_d_wgs84" "x_f_wgs84" "y_f_wgs84"
## [16] "c_geo_d" "c_geo_f" "geo_point_2d" "étude.de.cas" "Numéro.EdC"
## [21] "geom"
##
## Bayonne-St jean Pied de port Besançon-La chaux de Fonds
## 2 2
## Béziers-Neussargues Bordeaux-Le Verdon
## 1 4
## Clermont-Volvic Deauville-Cabourg
## 3 1
## étoile St Pol Limoges-Angoulême
## 3 4
## Marseille-Miramas Metzeral - Colmar - Fribourg
## 3 1
## Nantes-StGilles-Pornic Nimes - le Grau du Roi
## 5 2
## Paimpol-Guingamp-Carhaix Reims-Epernay
## 3 1
## Rennes- Chateaubriant St Gervais-Vallorcine
## 2 1
## Tours-Chinon-Loches
## 5
ligne_filter <- lignes_CEREMA_2154 %>%
filter(étude.de.cas == 'étoile St Pol') # ICI inscrire le nom de la ligne à étudier
mapview(ligne_filter)# Création de l'emprise de la zone d'étude ----
zone_etude <- st_as_sf(st_buffer(st_union(ligne_filter), 50))
mapview(zone_etude)## Reading layer `gares' from data source
## `C:\Users\otheureaux\Documents\OT\RAILENIUM\BDD_TELLI\GEOFER\gares_2154.gpkg'
## using driver `GPKG'
## Simple feature collection with 3489 features and 65 fields
## Geometry type: POINT
## Dimension: XY
## Bounding box: xmin: 147139.3 ymin: 6147218 xmax: 1079190 ymax: 7108435
## Projected CRS: RGF93 v1 / Lambert-93
## [1] "commune" "code_com"
## [3] "insee_dep" "code_uic"
## [5] "nom_gare" "pop_p15_2017"
## [7] "pop_p30_2017" "pop_v10_2017"
## [9] "pop_p15_2020" "pop_p30_2020"
## [11] "pop_v10_2020" "eleve_p15_2015"
## [13] "eleve_p30_2015" "eleve_v10_2015"
## [15] "eleve_p15_2016" "eleve_p30_2016"
## [17] "eleve_v10_2016" "eleve_p15_2017"
## [19] "eleve_p30_2017" "eleve_v10_2017"
## [21] "eleve_p15_2018" "eleve_p30_2018"
## [23] "eleve_v10_2018" "eleve_p15_2019"
## [25] "eleve_p30_2019" "eleve_v10_2019"
## [27] "salarie_p15_2017" "salarie_p30_2017"
## [29] "salarie_v10_2017" "voy_2014"
## [31] "voy_2015" "voy_2016"
## [33] "voy_2017" "voy_2018"
## [35] "voy_2019" "voy_2020"
## [37] "chambre_emplacement_p15" "chambre_emplacement_p30"
## [39] "loisirs_p15" "loisirs_p30"
## [41] "achats_p15" "achats_p30"
## [43] "restauration_p15" "restauration_p30"
## [45] "sante_p15" "sante_p30"
## [47] "sports_p15" "sports_p30"
## [49] "nombre_arrets_en_gare_2017" "nombre_arrets_en_gare_2019"
## [51] "statut_gare" "nom_aom"
## [53] "voy_2021" "voy_2022"
## [55] "salarie_p30_2021" "Car"
## [57] "TGV" "TER"
## [59] "Intercités" "nb_arret_total"
## [61] "salarie_p15_2021" "Automates.TGV.INTERCITES"
## [63] "Automates.TER" "Poste.de.vente.guichet"
## [65] "Libre.Service.Assisté" "geom"
## Warning: attribute variables are assumed to be spatially constant throughout
## all geometries
gares_select_inter_drop <- st_drop_geometry(gares_select_inter)
knitr::kable(
gares_select_inter_drop,
format = "pipe",
col.names = c("Gares", "Voyageurs 2022"),
digits = 2
)| Gares | Voyageurs 2022 | |
|---|---|---|
| 62 | Beutin | 0 |
| 169 | Wavrans | 0 |
| 878 | Savy Berlette | 23412 |
| 1057 | Vis à Marles | 17063 |
| 1095 | Fouquereuil | 1438 |
| 1188 | Saint-Pol sur Ternoise | 145944 |
| 1263 | Auchy lès Hesdin | 15943 |
| 1317 | Maresquel | 2151 |
| 1394 | Frévin Capelle | 2396 |
| 1397 | Aubigny en Artois | 21509 |
| 1705 | Béthune | 1601485 |
| 1783 | Anvin | 7494 |
| 1893 | Hesdin | 45253 |
| 1928 | Brimeux | 2929 |
| 2122 | Etaples-le Touquet | 533197 |
| 2130 | Blangy sur Ternoise | 1373 |
| 2341 | Tincques | 7677 |
| 2349 | Pernes-Camblain | 14043 |
| 2819 | Calonne-Ricouart | 30702 |
| 3004 | Beaurainville | 22374 |
| 3259 | Aubin Saint-Vaast | 1691 |
| 3343 | Montreuil sur Mer | 41868 |
| 3453 | Maroeuil | 4074 |
Lignes
La population est présente dans la couche des communes :
communes <- sf::st_read("C:/Users/otheureaux/Documents/OT/RAILENIUM/BDD_TELLI/COMMUNES/commune.shp")## Données carroyées 2019 ----
carreaux_200_2019 <- st_read('C:/Users/otheureaux/Documents/OT/RAILENIUM/BDD_TELLI/CARREAU/Filosofi2019_carreaux_200m_gpkg/carreaux_200m_met.gpkg')Recensement de la population - Base des principaux indicateurs
communes <- sf::st_read('C:/Users/otheureaux/Documents/OT/RAILENIUM/BDD_TELLI/COMMUNES/COMMUNE.shp')
base_emploi <- read.csv2('C:/Users/otheureaux/Documents/OT/RAILENIUM/BDD_TELLI/base-cc-emploi-pop-active-2020_csv/base-cc-emploi-pop-active-2020_v2.CSV')
names(communes)
names(base_emploi)
communes <- communes %>%
rename(CODGEO = INSEE_COM)
communes_join <- right_join(communes, base_emploi, by='CODGEO')
names(communes_join)
communes_select <- communes_join %>%
dplyr::select(ID, NOM, CODGEO, P20_ACT1564)
* Capacité des communes en hébergement touristique en
2023
communes <- sf::st_read('C:/Users/otheureaux/Documents/OT/RAILENIUM/BDD_TELLI/COMMUNES/COMMUNE.shp')
base_tourisme <- read.csv2('C:/Users/otheureaux/Documents/OT/RAILENIUM/BDD_TELLI/base-cc-tourisme-2023-geo2023-CSV/base-cc-tourisme-2023-geo2023.csv')
names(communes)
names(base_tourisme)
communes <- communes %>%
rename(CODGEO = INSEE_COM)
communes_join <- right_join(communes_select, base_tourisme, by='CODGEO')
names(communes_join)
communes_select <- communes_join %>%
dplyr::select(ID, NOM, CODGEO,
P20_ACT1564,
POPULATION,
CPGE23 # Nombre d'emplacements de camping en 2023
)# Effectifs d’élèves par niveau, sexe, langues vivantes 1 et 2 les plus fréquentes, par collège – Date d’observation au début du mois d’octobre chaque année
base_eleves_colleges <- read.csv2('C:/Users/otheureaux/Documents/OT/RAILENIUM/BDD_TELLI/ELEVES/fr-en-college-effectifs-niveau-sexe-lv.csv')
names(base_eleves_colleges)
base_eleves_colleges_2021 <- base_eleves_colleges %>%
filter(Rentrée.scolaire == '2021') %>%
rename(numero_ets = Numéro.du.collège) %>%
select(Rentrée.scolaire, Région.académique,Académie,
Département, Commune,numero_ets,
Dénomination.principale,Patronyme, Secteur,REP,
REP..,Nombre.d.élèves.total..nombre.d.élèves.dans.les.formations.du.1er.cycle.du.2nd.degré.et.non.du.nombre.total.d.élèves.inscrits.dans.l.établissement..les.DIMA.et.les.dispositifs.relais.sont.exclus.)
names(base_eleves_colleges_2021)
base_eleves_colleges_2021_cut <- right_join(localisation_colleges_lycees_cut,
base_eleves_colleges_2021,
by = 'numero_ets')
base_eleves_colleges_2021_cut <- base_eleves_colleges_2021_cut %>%
filter(!st_is_empty(geometry)) %>%
rename(nb_eleves = Nombre.d.élèves.total..nombre.d.élèves.dans.les.formations.du.1er.cycle.du.2nd.degré.et.non.du.nombre.total.d.élèves.inscrits.dans.l.établissement..les.DIMA.et.les.dispositifs.relais.sont.exclus.) %>%
select(numero_ets, appellation, nb_eleves)
names(base_eleves_colleges_2021_cut)
# Effectifs d’élèves par niveau, sexe, langues vivantes 1 et 2 les plus fréquentes, par lycée professionnel – Date d’observation au début du mois d’octobre chaque année
base_eleves_lycees_pro <- read.csv2('C:/Users/otheureaux/Documents/OT/RAILENIUM/BDD_TELLI/ELEVES/fr-en-lycee_pro-effectifs-niveau-sexe-lv.csv')
names(base_eleves_lycees_pro)
base_eleves_lycees_pro_2021 <- base_eleves_lycees_pro %>%
filter(Rentrée.scolaire == '2021') %>%
rename(numero_ets = Numéro.du.lycée) %>%
select(Rentrée.scolaire, Région.académique,
Académie, Département,Commune, numero_ets, Dénomination.principale, Patronyme, Secteur,
Nombre.d.élèves)
names(base_eleves_lycees_pro_2021)
base_eleves_lycees_pro_2021_cut <- right_join(localisation_colleges_lycees_cut,
base_eleves_lycees_pro_2021,
by = 'numero_ets')
base_eleves_lycees_pro_2021_cut <- base_eleves_lycees_pro_2021_cut %>%
filter(!st_is_empty(geometry)) %>%
rename(nb_eleves = Nombre.d.élèves) %>%
select(numero_ets, appellation, nb_eleves)
names(base_eleves_lycees_pro_2021_cut)
# Effectifs d’élèves par niveau, sexe, langues vivantes 1 et 2 les plus fréquentes, par lycée d’enseignement général et technologique – Date d’observation au début du mois d’octobre chaque année
base_eleves_lycees_gt <- read.csv2('C:/Users/otheureaux/Documents/OT/RAILENIUM/BDD_TELLI/ELEVES/fr-en-lycee_gt-effectifs-niveau-sexe-lv.csv')
names(base_eleves_lycees_gt)
base_eleves_lycees_gt_2021 <- base_eleves_lycees_gt %>%
filter(Rentrée.scolaire == '2021') %>%
rename(numero_ets = Numéro.du.lycée) %>%
select(Rentrée.scolaire,
Région.académique, Académie , Département, Commune, numero_ets,
Dénomination.principale, Patronyme,Secteur,
Nombre.d.élèves)
names(base_eleves_lycees_gt_2021)
base_eleves_lycees_gt_2021_cut <- right_join(localisation_colleges_lycees_cut,
base_eleves_lycees_gt_2021,
by = 'numero_ets')
names(base_eleves_lycees_gt_2021_cut)
base_eleves_lycees_gt_2021_cut <- base_eleves_lycees_gt_2021_cut %>%
filter(!st_is_empty(geometry)) %>%
rename(nb_eleves = Nombre.d.élèves) %>%
select(numero_ets, appellation, nb_eleves)
names(base_eleves_lycees_gt_2021_cut)
# Effectifs des élèves en voie professionnelle ou BTS par niveau, sexe et lycée professionnel – Date d’observation au début du mois d’octobre chaque année
voie_pro_bts <- read.csv2('C:/Users/otheureaux/Documents/OT/RAILENIUM/BDD_TELLI/ELEVES/fr-en-lycee_pro-effectifs-niveau-sexe-mef.csv')
names(voie_pro_bts)
voie_pro_bts_2021 <- voie_pro_bts %>%
filter(Rentrée.scolaire == '2021') %>%
rename(numero_ets = Numéro.d.établissement) %>%
select(Rentrée.scolaire,
Académie.2020,
Académie.2020.Lib.L,
numero_ets,
Patronyme,
Adresse.condensée,
Code.postal,
Commune.d.implantation,
Nombre.d.élèves...Total)
names(base_eleves_lycees_pro_2021)
voie_pro_bts_2021_cut <- right_join(localisation_colleges_lycees_cut,
voie_pro_bts_2021,
by = 'numero_ets')
voie_pro_bts_2021_cut <- voie_pro_bts_2021_cut %>%
filter(!st_is_empty(geometry))
# Groupement des données par 'numero_ets' et somme de 'nb_eleves'
voie_pro_bts_2021_cut_sum <- voie_pro_bts_2021_cut %>%
group_by(numero_ets, appellation) %>%
summarise(nb_eleves_total = sum(Nombre.d.élèves...Total)) %>%
rename(nb_eleves = nb_eleves_total)
donnees_all <- rbind(base_eleves_colleges_2021_cut,
base_eleves_lycees_pro_2021_cut,
base_eleves_lycees_gt_2021_cut,
voie_pro_bts_2021_cut_sum)
nb_eleves_colleges_lycees_bts <- donnees_all %>%
group_by(numero_ets, appellation) %>%
summarise(nb_eleves_total = sum(nb_eleves))comment récupérer le nombre d’élèves ?
pacman::p_load(sf,dplyr)
c <- "G:/Mon Drive/BDD/parkings"
c <- "C:/Users/Othaureau/Documents/BDD" # donnees sur PC LVMT
parkings <- list.files(c,
full.names = T,
pattern = "EQUIPEMENT_DE_TRANSPORT.shp",
recursive = T) # inclure tous les sous-dossiers
for(i in 1:13) {
parkings_ <- sf::st_read(parkings[i])
parkings_ <- parkings_ %>%
dplyr::filter(NATURE == 'Parking')
parkings_ <- st_make_valid(parkings_) %>%
dplyr::select(ID, NATURE, NAT_DETAIL, geometry)
parkings_centroid <- sf::st_centroid(parkings_)
sf::st_write(parkings_centroid, paste0("C:/Users/Othaureau/Documents/BDD/PARKING_CENTROID/PARKING_CENTROID_R",i,".gpkg"))
}Base national des lieux de stationnement Base
Nationale des Lieux de Stationnement :
Cette base de données n’est pas représentative de l’ensemble des lieux
de stationnement hors voirie. Elle n’est pas forcément à jour car sa
consolidation n’est pas automatisée.
La base des stationnements permet de regrouper en un unique fichier
consolidé l’ensemble de l’offre de stationnement en France, dans un
format standard et unifié. Cette standardisation des données facilite
grandement le travail d’intégration de ces données par des services
réutilisateurs.
Ce dataset comprend notamment : * la géolocalisation des
parkings
* la hauteur maximale des véhicules pouvant pénétrer dans au moins un
espace du parking
* le nombre de places dans le parking (parfois déclinées en places
réservées pour les abonnés, les personnes à mobilité réduite, pour les
voitures électriques, les véhicules à deux-roues motorisés et
non-motorisés)
* le code SIRET de l’établissement gestionnaire du parking
* le caractère gratuit ou payant du parking (parfois un détail est
apporté sur le prix horaire ou le prix d’un abonnement
mensuel/annuel)
Réseau pédestre (BDTOPO)
Je sélectionne le fichier shapefile (TRONCON_DE_ROUTE.shp) correspondant à la région à étudier.
Cette couche contient des informations sur :
Pour le réseau piéton nous conservons l’ensemble de ces données.
Réseau Voiture (BDTOPO)
Pour le réseau voiture nous ne conservons que les routes goudronnées : * type autoroutier * route à 2 chaussées * route à 1 chaussée * bretelle * rond-point
c <- "D:/"
c <- "C:/Users/otheureaux/Documents/OT/RAILENIUM/BDD_TELLI/BDTOPO_SELECT/" # donnees sur PC LVMT
routes <- list.files(c,
full.names = T,
pattern = "TRONCON_DE_ROUTE.shp",
recursive = T) # inclure tous les sous-dossiers
for(i in 1:13) {
routes_ <- sf::st_read(routes[i])
routes_filter <- routes_ %>%
dplyr::filter(NATURE %in% c('Route à 1 chaussée',
'Route à 2 chaussées',
'Type autoroutier',
'Bretelle',
'Rond-point'
))
routes_filter_select <- routes_filter %>%
sf::st_make_valid() %>%
dplyr::select(ID, NB_VOIES, geometry)
st_write(routes_filter_select,
paste0('C:/Users/otheureaux/Documents/OT/RAILENIUM/BDD_TELLI/TRONCON_DE_ROUTE/TRONCON_DE_ROUTE_R',i,'_V2.gpkg'))
}Nombre d’intersections du réseau voiture
reseau_voiture <- sf::st_read('C:/Users/otheureaux/Documents/OT/RAILENIUM/BDD_TELLI/TRONCON_DE_ROUTE/TRONCON_DE_ROUTE_R8_V2.gpkg') # région Bretagne
## 05 nombre d'intersection du réseau routier
# Calcul de la longueur du réseau voiture
all_sum <- list()
# Initialisation du compteur
compteur <- 0
for(i in 1:nrow(all_isochrones)) {
reseau_voiture_intersection <- st_intersection(reseau_voiture, all_isochrones[i,])
# Vérifiez si l'intersection est vide
if (nrow(reseau_voiture_intersection) > 0) {
# Calcul du nombre d'intersection du réseau voiture pour chaque isochrone
intersections <- st_intersection(reseau_voiture_intersection)
# Filtrage des Points Uniques
intersections_points <- intersections[st_dimension(intersections) == 0, ]
# Comptage des Intersections
nombre_intersections <- length(st_geometry(intersections_points))
sum <- data.frame(as.numeric(nombre_intersections))
sum <- cbind(sum, unique(reseau_voiture_intersection$point.ID_number))
names(sum) <- c("nb_intersections", "ID_number")
}
else {
# Si l'intersection est vide, définissez la longueur à 0 et ID_number à NA
sum <- data.frame(0, NA)
names(sum) <- c("nb_intersections", "ID_number")
}
all_sum[[i]] <- sum
# Incrémenter le compteur après chaque itération réussie
compteur <- compteur + 1
# Afficher le progrès si nécessaire
if (compteur %% 100 == 0) { # Affiche le progrès toutes les 10 itérations
message("Nombre d'itérations complétées : ", compteur)
}
}
# Afficher le nombre total d'itérations à la fin
message("Nombre total d'itérations : ", compteur)
all_sum_dt <- do.call(rbind, all_sum)Zones de végétation (BDTOPO)
Fichier BDTOPO - Zone de végétation
Ronds-points
Beyondthemap
Source : https://www.dropbox.com/s/l0psz2h3a0rurh5/Europe_roundabouts_2018.zip?dl=0
Pistes cyclables
Extraction des pistes cyclables avec le package R OSM Extract
pacman::p_load(sf, dplyr, mapview, httr, osmextract)
region_osm <- c("Midi-Pyrenees", "Provence Alpes-Cote-d'Azur", "Champagne Ardenne","Bourgogne",
"Franche Comte", "Auvergne", "Alsace", "Lorraine",
"Picardie", "Bretagne", "Rhone-Alpes", "Languedoc-Roussillon",
"Ile-de-France", "Centre", "Nord-Pas-de-Calais", "Corse",
"Basse-Normandie", "Haute-Normandie", "Pays de la Loire", "Aquitaine",
"Limousin", "Poitou-Charentes")
pistes_cyclables <- tibble()
for (i in 1:22) {
print(paste("Traitement de la région numéro", i))
# couche 1 : highway / cycleway # When cycleway is drawn as its own way
highway_cycleway = osmextract::oe_get(region_osm[i],
layer = "lines",
extra_tags = "highway",
query = "SELECT * FROM lines WHERE highway IN ('cycleway')",
quiet = FALSE)
names(highway_cycleway)
highway_cycleway_light <- highway_cycleway %>%
select(osm_id, geometry)
# couche 2 : bicycle / designated # Where a way has been specially designated (typically by a government) for bicycle use
bicycle_designated = osmextract::oe_get(region_osm[i],
layer = "lines",
extra_tags = "bicycle",
query = "SELECT * FROM lines WHERE bicycle IN ('designated')",
quiet = FALSE)
names(bicycle_designated)
bicycle_designated_light <- bicycle_designated %>%
select(osm_id,geometry)
# couche 3 : cycleway / lane # Cycleway tagged on the main roadway or lane, A lane is a route that lies within the roadway
cycleway_lane = osmextract::oe_get(region_osm[i],
layer = "lines",
extra_tags = "cycleway",
query = "SELECT * FROM lines WHERE cycleway IN ('lane')",
quiet = FALSE)
names(cycleway_lane)
cycleway_lane_light <- cycleway_lane %>%
select(osm_id,geometry)
pistes_cyclables_osm_all <- rbind(data.frame(highway_cycleway_light),
data.frame(bicycle_designated_light),
data.frame(cycleway_lane_light))
pistes_cyclables <- rbind(data.frame(pistes_cyclables_osm_all), pistes_cyclables)
}
commerces_osm_all_sf <- st_as_sf(pistes_cyclables)
# st_write(commerces_osm_all_sf, paste0("processed_data/pistes_cyclables_", "2",".gpkg"))


Source : https://data.gouv.fr/fr/datasets/position-des-arrets-de-transport-et-traces-de-lignes/
pacman::p_load(dplyr)
base_sirene <- read.csv2("C:/Users/otheureaux/Documents/OT/RAILENIUM/BDD_TELLI/SIRENE/StockEtablissement_utf8/StockEtablissement_utf8.csv",
sep = ",")
names(base_sirene)
# Filtre sur les établissements actifs
base_sirene_actif <- base_sirene %>%
dplyr::filter(etatAdministratifEtablissement == "A")
rm(base_sirene)
list.files('C:/Users/otheureaux/Documents/OT/RAILENIUM/BDD_TELLI/SIRENE/geolocalisationetablissement-sirene-pour-etudes-statistiques-du-21-novembre-2023')
# Chargement du fichier géolocalisé
sirene_geoloc <- read.csv("C:/Users/otheureaux/Documents/OT/RAILENIUM/BDD_TELLI/SIRENE/geolocalisationetablissement-sirene-pour-etudes-statistiques-du-21-novembre-2023/GeolocalisationEtablissement_Sirene_pour_etudes_statistiques_utf8.csv",
sep=";",
dec=".",
header = T)
# Jointure Géolocalisation / code activités : **jointure par le SIRET**
stock_geoloc <- left_join(base_sirene_actif,
sirene_geoloc,
by = c("siret"))
# Suppression des adresses sans coordonnées
geoloc_sans_NA <- stock_geoloc %>%
filter(!is.na(x_longitude))
# Création d'une variable département
geoloc_sans_NA$departement <- geoloc_sans_NA$codePostalEtablissement %/% 1000*1000
rm(base_sirene_actif)
rm(sirene_geoloc)
rm(stock_geoloc)
getwd()
# save.image("C:/Users/otheureaux/Documents/OT/RAILENIUM/BDD_TELLI/MonEnvironnement.RData")
# Me permet de charger la base SIRENE des établissements actifs
# load("C:/Users/otheureaux/Documents/OT/RAILENIUM/BDD_TELLI/MonEnvironnement.RData")
names(geoloc_sans_NA)
# Filtre sur les loisirs
base_sirene_loisirs <- geoloc_sans_NA %>%
dplyr::filter(activitePrincipaleEtablissement %in% c(
"90.01Z",# Arts du spectacle vivant
"90.04Z",# Gestion de salles de spectacles
"93.21Z",# Activités des parcs d’attractions et parcs à thèmes
"93.29Z",# Autres activités récréatives et de loisirs
"91.01Z",# Gestion des bibliothèques et des archives
"91.02Z",# Gestion des musées
"91.03Z",# Gestion des sites et monuments historiques et des attractions touristiques similaires
"91.04Z",# Gestion des jardins botaniques et zoologiques et des réserves naturelles
"92.00Z" # Organisation de jeux de hasard et d’argent
)
)
getwd()
list.files('processed_data')
sf::st_write(base_sirene_loisirs, 'processed_data/base_sirene_loisirs.gpkg')
# déplacé ici : C:/Users/otheureaux/Documents/OT/RAILENIUM/BDD_TELLI/SIRENE/
# Filtre sur santé
base_sirene_sante <- geoloc_sans_NA %>%
dplyr::filter(
activitePrincipaleEtablissement %in% c(
"86.23Z",# Pratique dentaire
"86.21Z",# Activité des médecins généralistes
"86.22A",# Activités de radiodiagnostic et de radiothérapie
"86.22B",# Activités chirurgicales
"86.22C",# Autres activités des médecins spécialistes
"86.10Z" # Activités hospitalières
)
)
sf::st_write(base_sirene_sante, 'processed_data/base_sirene_sante.gpkg')
# déplacé ici : C:/Users/otheureaux/Documents/OT/RAILENIUM/BDD_TELLI/SIRENE/
# Filtre sur commerces
base_sirene_commerces <- geoloc_sans_NA %>%
dplyr::filter(
activitePrincipaleEtablissement %in% c(
"10.71C",# Boulangerie et boulangerie-pâtisserie
"10.71D",# Pâtisserie
"10.71B",# Cuisson de produits de boulangerie
"10.13B",# Charcuterie
"47.21Z",# Commerce de détail de fruits et légumes en magasin spécialisé
"47.11A",# Commerce de détail de produits surgelés
"47.11B",# Commerce d’alimentation générale
"47.11C",# Supérettes
"47.11D",# Supermarchés
"47.11E",# Magasins multi-commerces
"47.11F",# Hypermarchés
"47.19A",# Commerce de détail non alimentaire
"47.19B",# Autres commerces de détail en magasin non spécialisé
"47.71Z",# Commerce de détail d’habillement en magasin spécialisé
"47.72A",# Commerce de détail de la chaussure
"47.72B" # Commerce de détail de maroquinerie et d’articles de voyage
)
)
sf::st_write(base_sirene_commerces, 'processed_data/base_sirene_commerces.gpkg')
# déplacé ici : C:/Users/otheureaux/Documents/OT/RAILENIUM/BDD_TELLI/SIRENE/
# Filtre sur restauration
base_sirene_restauration <- geoloc_sans_NA %>%
dplyr::filter(
activitePrincipaleEtablissement %in% c(
"56.30Z",# Débits de boisson
"56.10A",# Restauration traditionnelle
"56.10B",# Cafétérias et autres libres-services
"56.10C" # Restauration de type rapide
)
)
sf::st_write(base_sirene_restauration, 'processed_data/base_sirene_restauration.gpkg')
# déplacé ici : C:/Users/otheureaux/Documents/OT/RAILENIUM/BDD_TELLI/SIRENE/
# Filtre sur sport
base_sirene_sport <- geoloc_sans_NA %>%
dplyr::filter(
activitePrincipaleEtablissement %in% c(
"93.11Z",# Gestion d’installations sportives
"93.13Z" # Activités des centres de culture physique
)
)
sf::st_write(base_sirene_sport, 'processed_data/base_sirene_sport.gpkg')
# déplacé ici : C:/Users/otheureaux/Documents/OT/RAILENIUM/BDD_TELLI/SIRENE/
# Filtre sur tout
base_sirene_loisirs <- geoloc_sans_NA %>%
dplyr::filter(
activitePrincipaleEtablissement %in% c(
"90.01Z",# Arts du spectacle vivant
"90.04Z",# Gestion de salles de spectacles
"93.21Z",# Activités des parcs d’attractions et parcs à thèmes
"93.29Z",# Autres activités récréatives et de loisirs
"91.01Z",# Gestion des bibliothèques et des archives
"91.02Z",# Gestion des musées
"91.03Z",# Gestion des sites et monuments historiques et des attractions touristiques similaires
"91.04Z",# Gestion des jardins botaniques et zoologiques et des réserves naturelles
"92.00Z",# Organisation de jeux de hasard et d’argent
"86.23Z",# Pratique dentaire
"86.21Z",# Activité des médecins généralistes
"86.22A",# Activités de radiodiagnostic et de radiothérapie
"86.22B",# Activités chirurgicales
"86.22C",# Autres activités des médecins spécialistes
"86.10Z",# Activités hospitalières
"10.71C",# Boulangerie et boulangerie-pâtisserie
"10.71D",# Pâtisserie
"10.71B",# Cuisson de produits de boulangerie
"10.13B",# Charcuterie
"47.21Z",# Commerce de détail de fruits et légumes en magasin spécialisé
"47.11A",# Commerce de détail de produits surgelés
"47.11B",# Commerce d’alimentation générale
"47.11C",# Supérettes
"47.11D",# Supermarchés
"47.11E",# Magasins multi-commerces
"47.11F",# Hypermarchés
"47.19A",# Commerce de détail non alimentaire
"47.19B",# Autres commerces de détail en magasin non spécialisé
"47.71Z",# Commerce de détail d’habillement en magasin spécialisé
"47.72A",# Commerce de détail de la chaussure
"47.72B",# Commerce de détail de maroquinerie et d’articles de voyage
"56.30Z",# Débits de boisson
"56.10A",# Restauration traditionnelle
"56.10B",# Cafétérias et autres libres-services
"56.10C",# Restauration de type rapide
"93.11Z",# Gestion d’installations sportives
"93.13Z" # Activités des centres de culture physique
)
)Lien vers la source : Données Open Data SNCF
Données recueilles pour le calcul de la pente moyenne dans chaque isochrone.
# Données MNT IGN
ras_lst <- list.files('C:/Users/otheureaux/Downloads/RGEALTI_2-0_5M_ASC_LAMB93-IGN69_D062_2021-09-20/RGEALTI_2-0_5M_ASC_LAMB93-IGN69_D062_2021-09-20/RGEALTI/',
full.names = T,
pattern = ".asc$",
recursive = T) # sélection de toutes les dalles
head(ras_lst)
terra::vrt(ras_lst,
"C:/Users/otheureaux/Downloads/new.vrt", # name of virtual raster,
overwrite = T) # création du raster virtuel
ras <- raster::raster("C:/Users/otheureaux/Downloads/new.vrt")
raster::crs(ras) <- "EPSG:2154"
mapview(ras)# Calcul du nombre de ronds-points
all_sum <- list()
# Initialisation du compteur
compteur <- 0
for(i in 1:nrow(all_isochrones)) {
mnt_intersection <- raster::crop(ras, all_isochrones[i,])
a <- raster::mask(mnt_intersection, all_isochrones[i,])
# mapview(a)
b <- qgis_run_algorithm("native:slope",
INPUT = a,
OUTPUT = paste('C:/Users/otheureaux/Documents/OT/RAILENIUM/DONNEES_CARTO/raster/mnt/',
i,
".tif"))
b_ras <- raster::raster(paste('C:/Users/otheureaux/Documents/OT/RAILENIUM/DONNEES_CARTO/raster/mnt/',
i,
".tif"))
mean <- raster::cellStats(b_ras,
stat = "mean",
na.rm = TRUE)
sum <- data.frame(pente_moyenne = mean,
ID_number = all_isochrones$point.ID_number[i])
all_sum[[i]] <- sum
# Incrémenter le compteur après chaque itération réussie
compteur <- compteur + 1
# Afficher le progrès si nécessaire
if (compteur %% 10 == 0) { # Affiche le progrès toutes les 10 itérations
message("Nombre d'itérations complétées : ", compteur)
}
}Pour plus de détails sur la couche des PNR vous pouvez consulter ce lien.
Pour citer ces travaux :
Olivier Theureaux. n.d. “Tutoriels R dans le cadre d’une mission de géomaticien au sein du LVMT”