User:Barnes38/GrenobleAlpesMétropole VoirieCyclable Pistes Cyclables

From OpenStreetMap Wiki
Jump to navigation Jump to search

Explications

Rappel: on se limite au cas simple des pistes cyclables (pas des bandes cyclables ni de tout le reste) voir Page wiki OSM Bicycle

  • Deux façons de caractériser les pistes cyclables :
    • Pistes cyclables caractérisées en tant que telles : highway=cycleway
    • Pistes cyclables caractérisées sur la route principale : highway=* + cycleway=track
    • Dans les deux cas, on peut positionner oneway=yes (oneway:bicycle=yes) pour signifier monodirectionnelle (monodir), dans tous les autres cas (oneway pas positionné, ou oneway != yes) on peut considérer que c'est une bidirectionnelle (bidir)
  • Attention :
    • Une voie verte (berges de l'Isère ou du Drac par exemple) n'est pas caractérisée comme une "piste cyclable", mais comme highway=path+bicycle=designated+foot=designated
  • Des considérations en plus :
    • Une bidir avec lanes=2 peut signifier que les deux sens sont séparés par au moins un marquage au sol assez clair
      • En principe c'est le cas des ChronoVélos, mais pas des voies vertes
    • Possibilité aussi de caractériser la séparation des flux avec les piétons par segregated=yes|no
      • En principe sur les voies vertes, les flux sont mélangés et priorité aux piétons segregated=no
    • Possibilité aussi de caractériser si les piétons sont autorisés ou pas avec foot=yes/permissive/designated
      • En principe sur les ChronoVélo on devrait avoir foot=no, sur les voies vertes foot=designated

Résultats

Toutes les requêtes ci-dessous sont sur le périmètre de Grenoble-Alpes Métropole (GAM)

Numéro Explications Requête Overpass
1 "Grenoble-Alpes Métropole"
try it yourself in overpass-turbo
[out:json][timeout:25];
// On cherche l'entité "Grenoble-Alpes Métropole"
area[name="Grenoble-Alpes Métropole"]->.searchArea;
// Dans ce résultat de recherche, on cherche toutes les communes 
//  ["boundary"="administrative"]["admin_level"="8"]
nwr["boundary"="administrative"]["admin_level"="8"](area.searchArea);
// print results
out geom;

Toutes les pistes cyclables

Au plus simple, on prend tout, on mélange monodir et bidir, on compte une seule fois les bidirs

Numéro Explications Requête Overpass Résultat 8 déc 2024
2.1a Pistes cyclables
try it yourself in overpass-turbo
[out:json][timeout:25];
area[name="Grenoble-Alpes Métropole"]->.searchArea;
way[highway=cycleway](area.searchArea);
out geom;
2.1b Pistes cyclables : km total
try it yourself in overpass-turbo
[out:csv(length, "::count"; false; ";")];
area[name="Grenoble-Alpes Métropole"]->.searchArea;
way[highway=cycleway](area.searchArea);
make count length=sum(length());
out;

143713.966;

2.1c Pistes cyclables : kilomètrage par commune
try it yourself in overpass-turbo
// Format CSV de sortie avec les colonnes : nom, longueur, terminaison
[out:csv(nom, longueur, terminaison; false; ";")];
// On recherche l'entité "Grenoble-Alpes Métropole" pour effectuer une recherche 
area[name="Grenoble-Alpes Métropole"]->.searchArea;
// Dans cette aire de recherche, on cherche les relations caractérisées par [boundary=administrative][admin_level=8] : ceci correspond à toutes les communes de "Grenoble-Alpes Métropole"
relation[boundary=administrative][admin_level=8](area.searchArea);
// Et on transforme ces relations en aires de recherche
map_to_area;
// La boucle itère sur l'ensemble des relations sélectionnées dans l'étape précédente
// Donc pour chaque commune  
for (t["name"])
(
  // La commune courante 
  (._;)->.commune;
  // On effectue la recherche [highway=cycleway]
  way(area.commune)[highway=cycleway];
  // Et puis on se sert de la possibilité de calculer et affecter des variables
  make count nom = commune.set(t["name"]), longueur=sum(length()), terminaison="<br>";
  // A chaque tour de boucle, on génère un output
  out;
);

Bresson;0;
Brié-et-Angonnes;523.485;
Champ-sur-Drac;376.719;
Champagnier;3175.794;
Claix;5583.717;
Corenc;38.199;
Domène;5225.28;
Eybens;9578.471;
Fontaine;4903.68;
Fontanil-Cornillon;345.273;
Gières;10423.086;
Grenoble;30532.882;
Herbeys;0;
Jarrie;139.399;
La Tronche;5451.84;
Le Gua;0;
Le Pont-de-Claix;3979.199;
Le Sappey-en-Chartreuse;0;
Meylan;17213.659;
Miribel-Lanchâtre;100.537;
Mont-Saint-Martin;0;
Montchaboud;0;
Murianette;4507.806;
Notre-Dame-de-Commiers;0;
Notre-Dame-de-Mésage;0;
Noyarey;1540.095;
Poisat;879.781;
Proveysieux;0;
Quaix-en-Chartreuse;0;
Saint-Barthélemy-de-Séchilienne;98.665;
Saint-Georges-de-Commiers;0;
Saint-Martin-d'Hères;13511.074;
Saint-Martin-le-Vinoux;1960.434;
Saint-Paul-de-Varces;0;
Saint-Pierre-de-Mésage;0;
Saint-Égrève;6271.776;
Sarcenas;0;
Sassenage;5057.908;
Seyssinet-Pariset;5174.705;
Seyssins;4277.168;
Séchilienne;0;
Varces-Allières-et-Risset;4282.567;
Vaulnaveys-le-Bas;0;
Vaulnaveys-le-Haut;0;
Venon;0;
Veurey-Voroize;1462.168;
Vif;4321.682;
Vizille;52.466;
Échirolles;6929.936;

2.1d Pistes cyclables par commune avec : population, kilométrage par commune, kilométrage par habitant
try it yourself in overpass-turbo
// Format CSV de sortie avec les colonnes : nom, population, longueur, par_habitant
[out:csv(nom, population, longueur, par_habitant, terminaison; true; ";")];
// On recherche l'entité "Grenoble-Alpes Métropole" pour effectuer une recherche 
area[name="Grenoble-Alpes Métropole"]->.searchArea;
// Dans cette aire de recherche, on cherche les relations caractérisées par [boundary=administrative][admin_level=8] : ceci correspond à toutes les communes de "Grenoble-Alpes Métropole"
relation[boundary=administrative][admin_level=8](area.searchArea);
// Et on transforme ces relations en aires de recherche
map_to_area;
// La boucle itère sur l'ensemble des relations sélectionnées dans l'étape précédente
// Donc pour chaque commune  
for (t["name"])
(
  // La commune courante 
  (._;)->.commune;
  // On effectue la recherche [highway=cycleway]
  way(area.commune)[highway=cycleway];
  // Et puis on se sert de la possibilité de calculer et affecter des variables
  make count nom = commune.set(t["name"]), population=commune.set(t["population"]), par_habitant=(sum(length()/commune.set(t["population"]))), longueur=sum(length()), terminaison="<br>";
   // A chaque tour de boucle, on génère un output
   out;
);

nom;population;longueur;par_habitant;terminaison Bresson;667;0;0;
Brié-et-Angonnes;2521;523.485;0.20764974216581;
Champ-sur-Drac;3339;376.719;0.11282389937107;
Champagnier;1406;3175.794;2.2587439544808;
Claix;7859;5583.717;0.7104869576282;
Corenc;4139;38.199;0.0092290408311186;
Domène;6720;5225.28;0.77757142857143;
Eybens;9974;9578.471;0.9603439943854;
Fontaine;22891;4903.68;0.21421868856756;
Fontanil-Cornillon;3405;345.273;0.10140176211454;
Gières;7161;10423.086;1.4555349811479;
Grenoble;157477;30532.882;0.19388788203992;
Herbeys;1378;0;0;
Jarrie;3903;139.399;0.035715859595183;
La Tronche;6470;5451.84;0.84263369397218;
Le Gua;1838;0;0;
Le Pont-de-Claix;10805;3979.199;0.3682738546969;
Le Sappey-en-Chartreuse;1137;0;0;
Meylan;18573;17213.659;0.92681090830776;
Miribel-Lanchâtre;450;100.537;0.22341555555555;
Mont-Saint-Martin;88;0;0;
Montchaboud;342;0;0;
Murianette;867;4507.806;5.1993148788927;
Notre-Dame-de-Commiers;535;0;0;
Notre-Dame-de-Mésage;1106;0;0;
Noyarey;2277;1540.095;0.67637022397893;
Poisat;21;879.781;0.41440461610928;
Proveysieux;517;0;0;
Quaix-en-Chartreuse;908;0;0;
Saint-Barthélemy-de-Séchilienne;426;98.665;0.23160798122066;
Saint-Georges-de-Commiers;2646;0;0;
Saint-Martin-d'Hères;38454;13511.074;0.35135678993083;
Saint-Martin-le-Vinoux;5825;1960.434;0.33655519313305;
Saint-Paul-de-Varces;2224;0;0;
Saint-Pierre-de-Mésage;791;0;0;
Saint-Égrève;16995;6271.776;0.36903654015887;
Sarcenas;242;0;0;
Sassenage;11660;5057.908;0.43378284734134;
Seyssinet-Pariset;11753;5174.705;0.44028801157151;
Seyssins;7997;4277.168;0.5348465674628;
Séchilienne;1024;0;0;
Varces-Allières-et-Risset;8287;4282.567;0.51678134427416;
Vaulnaveys-le-Bas;1360;0;0;
Vaulnaveys-le-Haut;4000;0;0;
Venon;801;0;0;
Veurey-Voroize;1401;1462.168;1.0436602426838;
Vif;8584;4321.682;0.50345782851818;
Vizille;7293;52.466;0.0071940216646099;
Échirolles;36849;6929.936;0.18806306819724;

Pistes cyclables monodir

Numéro Explications Requête Overpass Résultat 8 déc 2024
2.2a Pistes cyclables monodir
try it yourself in overpass-turbo
[out:json][timeout:25];
area[name="Grenoble-Alpes Métropole"]->.searchArea;
way[highway=cycleway][oneway=yes](area.searchArea);
out geom;
2.2b Pistes cyclables monodir : km total
try it yourself in overpass-turbo
// Format CSV de sortie avec les colonnes : nom, longueur, terminaison
[out:csv(nom, longueur, terminaison; false; "; ")];
// On recherche l'entité "Grenoble-Alpes Métropole" pour effectuer une recherche 
area[name="Grenoble-Alpes Métropole"]->.searchArea;
// Dans cette aire de recherche, on cherche les relations caractérisées par [boundary=administrative][admin_level=8] : ceci correspond à toutes les communes de "Grenoble-Alpes Métropole"
relation[boundary=administrative][admin_level=8](area.searchArea);
// Et on transforme ces relations en aires de recherche
map_to_area;
// La boucle itère sur l'ensemble des relations sélectionnées dans l'étape précédente
// Donc pour chaque commune  
for (t["name"])
(
  // La commune courante 
  (._;)->.commune;
  // On effectue la recherche [highway=cycleway][oneway=yes]
  way(area.commune)[highway=cycleway][oneway=yes];
  // Et puis on se sert de la possibilité de calculer et affecter des variables
  make count nom = commune.set(t["name"]), longueur=sum(length()), terminaison="<br>";
  // A chaque tour de boucle, on génère un output
  out;
);

29384.718;

2.2c Pistes cyclables monodir : kilomètrage par commune
try it yourself in overpass-turbo
// Format CSV de sortie avec les colonnes : nom, longueur, terminaison
[out:csv(nom, longueur, terminaison; false; ";")];
// On recherche l'entité "Grenoble-Alpes Métropole" pour effectuer une recherche 
area[name="Grenoble-Alpes Métropole"]->.searchArea;
// Dans cette aire de recherche, on cherche les relations caractérisées par [boundary=administrative][admin_level=8] : ceci correspond à toutes les communes de "Grenoble-Alpes Métropole"
relation[boundary=administrative][admin_level=8](area.searchArea);
// Et on transforme ces relations en aires de recherche
map_to_area;
// La boucle itère sur l'ensemble des relations sélectionnées dans l'étape précédente
// Donc pour chaque commune  
for (t["name"])
(
  // La commune courante 
  (._;)->.commune;
  // On effectue la recherche [highway=cycleway][oneway=yes]
  way(area.commune)[highway=cycleway][oneway=yes];
  // Et puis on se sert de la possibilité de calculer et affecter des variables
  make count nom = commune.set(t["name"]), longueur=sum(length()), terminaison="<br>";
  // A chaque tour de boucle, on génère un output
  out;
);

Bresson; 0;
Brié-et-Angonnes; 6.794;
Champ-sur-Drac; 376.719;
Champagnier; 740.622;
Claix; 0;
Corenc; 0;
Domène; 1057.791;
Eybens; 782.548;
Fontaine; 1958.539;
Fontanil-Cornillon; 0;
Gières; 5249.946;
Grenoble; 8103.289;
Herbeys; 0;
Jarrie; 139.399;
La Tronche; 573.618;
Le Gua; 0;
Le Pont-de-Claix; 1737.118;
Le Sappey-en-Chartreuse; 0;
Meylan; 1372.358;
Miribel-Lanchâtre; 0;
Mont-Saint-Martin; 0;
Montchaboud; 0;
Murianette; 2670.73;
Notre-Dame-de-Commiers; 0;
Notre-Dame-de-Mésage; 0;
Noyarey; 201.226;
Poisat; 204.169;
Proveysieux; 0;
Quaix-en-Chartreuse; 0;
Saint-Barthélemy-de-Séchilienne; 0;
Saint-Georges-de-Commiers; 0;
Saint-Martin-d'Hères; 2213.662;
Saint-Martin-le-Vinoux; 25.157;
Saint-Paul-de-Varces; 0;
Saint-Pierre-de-Mésage; 0;
Saint-Égrève; 20.878;
Sarcenas; 0;
Sassenage; 820.853;
Seyssinet-Pariset; 1511.91;
Seyssins; 478.938;
Séchilienne; 0;
Varces-Allières-et-Risset; 95.571;
Vaulnaveys-le-Bas; 0;
Vaulnaveys-le-Haut; 0;
Venon; 0;
Veurey-Voroize; 774.827;
Vif; 387.32;
Vizille; 52.466;
Échirolles; 497.144;

2.2d Pistes cyclables monodir par commune avec : population, kilométrage par commune, kilométrage par habitant
try it yourself in overpass-turbo
// Format CSV de sortie avec les colonnes : nom, population, longueur, par_habitant
[out:csv(nom, population, longueur, par_habitant, terminaison; true; ";")];
// On recherche l'entité "Grenoble-Alpes Métropole" pour effectuer une recherche 
area[name="Grenoble-Alpes Métropole"]->.searchArea;
// Dans cette aire de recherche, on cherche les relations caractérisées par [boundary=administrative][admin_level=8] : ceci correspond à toutes les communes de "Grenoble-Alpes Métropole"
relation[boundary=administrative][admin_level=8](area.searchArea);
// Et on transforme ces relations en aires de recherche
map_to_area;
// La boucle itère sur l'ensemble des relations sélectionnées dans l'étape précédente
// Donc pour chaque commune  
for (t["name"])
(
  // La commune courante 
  (._;)->.commune;
  // On effectue la recherche [highway=cycleway][oneway=yes]
  way(area.commune)[highway=cycleway][oneway=yes];
  // Et puis on se sert de la possibilité de calculer et affecter des variables
  make count nom = commune.set(t["name"]), population=commune.set(t["population"]), par_habitant=(sum(length()/commune.set(t["population"]))), longueur=sum(length()), terminaison="<br>";
   // A chaque tour de boucle, on génère un output
   out;
);

nom; population; longueur; par_habitant; terminaison Bresson; 667; 0; 0;
Brié-et-Angonnes; 2521; 6.794; 0.0026949623165411;
Champ-sur-Drac; 3339; 376.719; 0.11282389937107;
Champagnier; 1406; 740.622; 0.52675817923186;
Claix; 7859; 0; 0;
Corenc; 4139; 0; 0;
Domène; 6720; 1057.791; 0.157409375;
Eybens; 9974; 782.548; 0.07845879286144;
Fontaine; 22891; 1958.539; 0.085559346468044;
Fontanil-Cornillon; 3405; 0; 0;
Gières; 7161; 5249.946; 0.73313028906577;
Grenoble; 157477; 8103.289; 0.051456968319183;
Herbeys; 1378; 0; 0;
Jarrie; 3903; 139.399; 0.035715859595183;
La Tronche; 6470; 573.618; 0.088658114374034;
Le Gua; 1838; 0; 0;
Le Pont-de-Claix; 10805; 1737.118; 0.16076982878297;
Le Sappey-en-Chartreuse; 1137; 0; 0;
Meylan; 18573; 1372.358; 0.07388994777365;
Miribel-Lanchâtre; 450; 0; 0;
Mont-Saint-Martin; 88; 0; 0;
Montchaboud; 342; 0; 0;
Murianette; 867; 2670.73; 3.0804267589389;
Notre-Dame-de-Commiers; 535; 0; 0;
Notre-Dame-de-Mésage; 1106; 0; 0;
Noyarey; 2277; 201.226; 0.088373298199386;
Poisat; 2123; 204.169; 0.09617004239284;
Proveysieux; 517; 0; 0;
Quaix-en-Chartreuse; 908; 0; 0;
Saint-Barthélemy-de-Séchilienne; 426; 0; 0;
Saint-Georges-de-Commiers; 2646; 0; 0;
Saint-Martin-d'Hères; 38454; 2213.662; 0.057566495033026;
Saint-Martin-le-Vinoux; 5825; 25.157; 0.0043187982832618;
Saint-Paul-de-Varces; 2224; 0; 0;
Saint-Pierre-de-Mésage; 791; 0; 0;
Saint-Égrève; 16995; 20.878; 0.0012284789644013;
Sarcenas; 242; 0; 0;
Sassenage; 11660; 820.853; 0.070399056603774;
Seyssinet-Pariset; 11753; 1511.91; 0.12864034714541;
Seyssins; 7997; 478.938; 0.05988970864074;
Séchilienne; 1024; 0; 0;
Varces-Allières-et-Risset; 8287; 95.571; 0.011532641486666;
Vaulnaveys-le-Bas; 1360; 0; 0;
Vaulnaveys-le-Haut; 4000; 0; 0;
Venon; 801; 0; 0;
Veurey-Voroize; 1401; 774.827; 0.5530528194147;
Vif; 8584; 387.32; 0.045121155638397;
Vizille; 7293; 52.466; 0.0071940216646099;
Échirolles; 36849; 497.144; 0.013491383755326;

Pistes cyclables bidir

Les résultats de longueurs sont multipliés par deux, car deux sens de circulation

[oneway=yes] => oneway positionné à true => un seul sens de circulation => monodir
[!oneway] => oneway pas positionné => deux sens de circulation => bidir 
[oneway!=yes] => oneway différent de yes => deux sens de circulation => bidir
Numéro Explications Requête Overpass Résultat 8 déc 2024
2.3a Pistes cyclables bidir
try it yourself in overpass-turbo
[out:json][timeout:25];
area[name="Grenoble-Alpes Métropole"]->.searchArea;
(
   nwr[highway=cycleway][!oneway](area.searchArea);
   nwr[highway=cycleway][oneway!=yes](area.searchArea);
);
out geom;
2.3b Pistes cyclables bidir : km total
try it yourself in overpass-turbo
[out:csv(length, "::count"; false; ";")];
area[name="Grenoble-Alpes Métropole"]->.searchArea;
(
   nwr[highway=cycleway][!oneway](area.searchArea);
   nwr[highway=cycleway][oneway!=yes](area.searchArea);
);
make count length=2*sum(length());
out;

228658.496;

2.3c Pistes cyclables bidir : kilomètrage par commune
try it yourself in overpass-turbo
// Format CSV de sortie avec les colonnes : nom, longueur, terminaison
[out:csv(nom, longueur, terminaison; false; ";")];
// On recherche l'entité "Grenoble-Alpes Métropole" pour effectuer une recherche 
area[name="Grenoble-Alpes Métropole"]->.searchArea;
// Dans cette aire de recherche, on cherche les relations caractérisées par [boundary=administrative][admin_level=8] : ceci correspond à toutes les communes de "Grenoble-Alpes Métropole"
relation[boundary=administrative][admin_level=8](area.searchArea);
// Et on transforme ces relations en aires de recherche
map_to_area;
// La boucle itère sur l'ensemble des relations sélectionnées dans l'étape précédente
// Donc pour chaque commune  
for (t["name"])
(
  // La commune courante 
  (._;)->.commune;
  // On effectue la recherche [highway=cycleway][!oneway] ou [highway=cycleway][oneway!=yes]
 (
   way[highway=cycleway][!oneway](area.commune);
   way[highway=cycleway][oneway!=yes](area.commune);
 );
  // Et puis on se sert de la possibilité de calculer et affecter des variables
  make count nom = commune.set(t["name"]), longueur=2*sum(length()), terminaison="<br>";
  // A chaque tour de boucle, on génère un output
  out;
);

Bresson; 0;
Brié-et-Angonnes; 1033.382;
Champ-sur-Drac; 0;
Champagnier; 4870.344;
Claix; 11167.434;
Corenc; 76.398;
Domène; 8334.978;
Eybens; 17591.846;
Fontaine; 5890.282;
Fontanil-Cornillon; 690.546;
Gières; 10346.28;
Grenoble; 44859.186;
Herbeys; 0;
Jarrie; 0;
La Tronche; 9756.444;
Le Gua; 0;
Le Pont-de-Claix; 4484.162;
Le Sappey-en-Chartreuse; 0;
Meylan; 31682.602;
Miribel-Lanchâtre; 201.074;
Mont-Saint-Martin; 0;
Montchaboud; 0;
Murianette; 3674.152;
Notre-Dame-de-Commiers; 0;
Notre-Dame-de-Mésage; 0;
Noyarey; 2677.738;
Poisat; 1351.224;
Proveysieux; 0;
Quaix-en-Chartreuse; 0;
Saint-Barthélemy-de-Séchilienne; 197.33;
Saint-Georges-de-Commiers; 0;
Saint-Martin-d'Hères; 22594.824;
Saint-Martin-le-Vinoux; 3870.554;
Saint-Paul-de-Varces; 0;
Saint-Pierre-de-Mésage; 0;
Saint-Égrève; 12501.796;
Sarcenas; 0;
Sassenage; 8474.11;
Seyssinet-Pariset; 7325.59;
Seyssins; 7596.46;
Séchilienne; 0;
Varces-Allières-et-Risset; 8373.992;
Vaulnaveys-le-Bas; 0;
Vaulnaveys-le-Haut; 0;
Venon; 0;
Veurey-Voroize; 1374.682;
Vif; 7868.724;
Vizille; 0;
Échirolles; 12865.584;

2.3d Pistes cyclables par commune avec : population, kilométrage par commune, kilométrage par habitant
try it yourself in overpass-turbo
// Format CSV de sortie avec les colonnes : nom, population, longueur, par_habitant
[out:csv(nom, population, longueur, par_habitant, terminaison; true; "; ")];
// On recherche l'entité "Grenoble-Alpes Métropole" pour effectuer une recherche 
area[name="Grenoble-Alpes Métropole"]->.searchArea;
// Dans cette aire de recherche, on cherche les relations caractérisées par [boundary=administrative][admin_level=8] : ceci correspond à toutes les communes de "Grenoble-Alpes Métropole"
relation[boundary=administrative][admin_level=8](area.searchArea);
// Et on transforme ces relations en aires de recherche
map_to_area;
// La boucle itère sur l'ensemble des relations sélectionnées dans l'étape précédente
// Donc pour chaque commune  
for (t["name"])
(
  // La commune courante 
  (._;)->.commune;
    // On effectue la recherche [highway=cycleway][!oneway] ou [highway=cycleway][oneway!=yes]
 (
   way[highway=cycleway][!oneway](area.commune);
   way[highway=cycleway][oneway!=yes](area.commune);
 );
  // Et puis on se sert de la possibilité de calculer et affecter des variables
  make count nom = commune.set(t["name"]), population=commune.set(t["population"]), longueur=2*sum(length()), par_habitant=(2*sum(length()/commune.set(t["population"]))), terminaison="<br>";
   // A chaque tour de boucle, on génère un output
   out;
);

nom; population; longueur; par_habitant; terminaison Bresson; 667; 0; 0;
Brié-et-Angonnes; 2521; 1033.382; 0.40990955969854;
Champ-sur-Drac; 3339; 0; 0;
Champagnier; 1406; 4870.344; 3.4639715504978;
Claix; 7859; 11167.434; 1.4209739152564;
Corenc; 4139; 76.398; 0.018458081662237;
Domène; 6720; 8334.978; 1.2403241071429;
Eybens; 9974; 17591.846; 1.7637704030479;
Fontaine; 22891; 5890.282; 0.25731868419902;
Fontanil-Cornillon; 3405; 690.546; 0.20280352422908;
Gières; 7161; 10346.28; 1.4448093841642;
Grenoble; 157477; 44859.186; 0.28486182744146;
Herbeys; 1378; 0; 0;
Jarrie; 3903; 0; 0;
La Tronche; 6470; 9756.444; 1.5079511591963;
Le Gua; 1838; 0; 0;
Le Pont-de-Claix; 10805; 4484.162; 0.41500805182786;
Le Sappey-en-Chartreuse; 1137; 0; 0;
Meylan; 18573; 31682.602; 1.7058419210682;
Miribel-Lanchâtre; 450; 201.074; 0.4468311111111;
Mont-Saint-Martin; 88; 0; 0;
Montchaboud; 342; 0; 0;
Murianette; 867; 3674.152; 4.2377762399078;
Notre-Dame-de-Commiers; 535; 0; 0;
Notre-Dame-de-Mésage; 1106; 0; 0;
Noyarey; 2277; 2677.738; 1.1759938515591;
Poisat; 2123; 1351.224; 0.63646914743288;
Proveysieux; 517; 0; 0;
Quaix-en-Chartreuse; 908; 0; 0;
Saint-Barthélemy-de-Séchilienne; 426; 197.33; 0.46321596244132;
Saint-Georges-de-Commiers; 2646; 0; 0;
Saint-Martin-d'Hères; 38454; 22594.824; 0.5875805897956;
Saint-Martin-le-Vinoux; 5825; 3870.554; 0.66447278969956;
Saint-Paul-de-Varces; 2224; 0; 0;
Saint-Pierre-de-Mésage; 791; 0; 0;
Saint-Égrève; 16995; 12501.796; 0.73561612238894;
Sarcenas; 242; 0; 0;
Sassenage; 11660; 8474.11; 0.72676758147512;
Seyssinet-Pariset; 11753; 7325.59; 0.6232953288522;
Seyssins; 7997; 7596.46; 0.94991371764412;
Séchilienne; 1024; 0; 0;
Varces-Allières-et-Risset; 8287; 8373.992; 1.010497405575;
Vaulnaveys-le-Bas; 1360; 0; 0;
Vaulnaveys-le-Haut; 4000; 0; 0;
Venon; 801; 0; 0;
Veurey-Voroize; 1401; 1374.682; 0.9812148465382;
Vif; 8584; 7868.724; 0.91667334575956;
Vizille; 7293; 0; 0;
Échirolles; 36849; 12865.584; 0.34914336888382;

Pistes cyclables bidir avec deux voies

Des pistes cyclables bidir avec deux voies séparées : on rajoute lanes=2

Numéro Explications Requête Overpass Résultat 8 déc 2024
2.4a Pistes cyclables bidir et deux voies séparées
try it yourself in overpass-turbo
[out:json][timeout:25];
area[name="Grenoble-Alpes Métropole"]->.searchArea;
(
   nwr[lanes=2][highway=cycleway][!oneway](area.searchArea);
   nwr[lanes=2][highway=cycleway][oneway!=yes](area.searchArea);
);
out geom;
2.4b Pistes cyclables bidir et deux voies séparées : km total
try it yourself in overpass-turbo
[out:csv(length, "::count"; false; ";")];
area[name="Grenoble-Alpes Métropole"]->.searchArea;
(
   nwr[lanes=2][highway=cycleway][!oneway](area.searchArea);
   nwr[lanes=2][highway=cycleway][oneway!=yes](area.searchArea);
);
make count length=2*sum(length());
out;

115381.774;

Pistes cyclables bidir avec deux voies et "bonne" séparation avec piétons

La séparation avec les piétons :

  • Un marquage au sol bien clair qui sépare les flux piétons et cyclistes : segregated=yes
    • Si segregated pas positionné, ou positionné à false : segregated=false
  • une interdiction de fait aux piétons, par un panneau de voie réservée aux cyclistes : foot=no


Numéro Explications Requête Overpass Résultat 8 déc 2024


2.5a Pistes cyclables bidir, deux voies séparées, et bonne séparation des flux avec les piétons
try it yourself in overpass-turbo
[out:json][timeout:25];
area[name="Grenoble-Alpes Métropole"]->.searchArea;
(
   nwr[lanes=2][highway=cycleway][!oneway][segregated=yes](area.searchArea);
   nwr[lanes=2][highway=cycleway][oneway!=yes][segregated=yes](area.searchArea);
);
out geom;
2.5b Pistes cyclables bidir, deux voies séparées, et bonne séparation des flux avec les piétons : km total
try it yourself in overpass-turbo
[out:csv(length, "::count"; false; ";")];
area[name="Grenoble-Alpes Métropole"]->.searchArea;
(
   nwr[lanes=2][highway=cycleway][!oneway][segregated=yes](area.searchArea);
   nwr[lanes=2][highway=cycleway][oneway!=yes][segregated=yes](area.searchArea);
);
make count length=2*sum(length());
out;

29249.56;

2.5c Pistes cyclables bidir, deux voies séparées, et bonne séparation des flux avec les piétons : km par commune
try it yourself in overpass-turbo
2.5d Pistes cyclables bidir, deux voies séparées, et bonne séparation des flux avec les piétons : km par commune et par habitant
try it yourself in overpass-turbo

Pistes cyclables bidir avec deux voies séparées et mauvaise séparation avec piétons

Numéro Explications Requête Overpass Résultat 8 déc 2024
2.6a Pistes cyclables bidir, deux voies séparées, et mauvaise séparation des flux avec les piétons
try it yourself in overpass-turbo
[out:json][timeout:25];
area[name="Grenoble-Alpes Métropole"]->.searchArea;
(
  nwr[lanes=2][highway=cycleway][!oneway][segregated=no](area.searchArea);
  nwr[lanes=2][highway=cycleway][oneway!=yes][segregated=no](area.searchArea);
);
2.6b Pistes cyclables bidir, deux voies séparées, et mauvaise séparation des flux avec les piétons : km total
try it yourself in overpass-turbo
[out:csv(length, "::count"; false; ";")];
area[name="Grenoble-Alpes Métropole"]->.searchArea;
(
  nwr[lanes=2][highway=cycleway][!oneway][segregated=no](area.searchArea);
  nwr[lanes=2][highway=cycleway][oneway!=yes][segregated=no](area.searchArea);
);
make count length=2*sum(length());
out;
2.6c Pistes cyclables bidir, deux voies séparées, et mauvaise séparation des flux avec les piétons : km par commune
try it yourself in overpass-turbo
2.6d Pistes cyclables bidir, deux voies séparées, et mauvaise séparation des flux avec les piétons: km par commune et par habitant
try it yourself in overpass-turbo

Pistes cyclables caractérisées sur chaussée principale

Numéro Explications Requête Overpass Résultat 8 déc 2024
2.7a Pistes cyclables (track)
try it yourself in overpass-turbo
[out:json][timeout:25];
area[name="Grenoble-Alpes Métropole"]->.searchArea;
(
 way[highway][cycleway=track](area.searchArea);
);
out geom;
2.7b Pistes cyclables (track) : kilomètrage total
try it yourself in overpass-turbo
[out:csv(length, "::count"; false; ";")];
area[name="Grenoble-Alpes Métropole"]->.searchArea;
(
 way[highway][cycleway=track](area.searchArea);
);
make count length=sum(length());
out;

255.072;

2.7cc Pistes cyclables (track) : kilomètrage par commune
try it yourself in overpass-turbo
[out:csv(name, length, "::count", term; false; ";")];
area[name="Grenoble-Alpes Métropole"]->.searchArea;
relation[boundary=administrative][admin_level=8](area.searchArea);
map_to_area;
// Pour chaque commune
for (t["name"])
(
  (._;)->.commune;
 (
  way[highway][cycleway=track](area.commune);
 );
  make count name = commune.set(t["name"]),  length=sum(length()), term="<br>";
   out;
);

Saint-Égrève;193.814;;
Échirolles;61.258;;