User:Barnes38/GrenobleAlpesMétropole VoirieCyclable

From OpenStreetMap Wiki
Jump to navigation Jump to search

Grenoble-Alpes Métropole

Requêtes Overpass de voirie cyclable

Chronovélos et voies vertes

Numéro Explications Requête Overpass Résultat Nov 2023
1.1.1 Chronovélos dans GAM
try it yourself in overpass-turbo
[out:json][timeout:25];
area[name="Grenoble-Alpes Métropole"]->.searchArea;
(
  relation["name"~"Chronovélo *"](area.searchArea);
);
out geom;
1.1.2 Chronovélos dans GAM : kilométrage total
try it yourself in overpass-turbo
[out:csv(length, "::count"; false; ";")];
area[name="Grenoble-Alpes Métropole"]->.searchArea;
(
  relation["name"~"Chronovélo *"](area.searchArea);
);
make count length=sum(length());
out;
33155.937;
1.1.3 Chronovélos dans GAM : 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;
  (relation(area.commune)["name"~"Chronovélo *"];);
  make count name = commune.set(t["name"]), length=sum(length()), term="<br>";
   out;
);

Bresson;0;;
Brié-et-Angonnes;0;;
Champ-sur-Drac;0;;
Champagnier;9090.576;;
Claix;0;;
Corenc;0;;
Domène;0;;
Eybens;0;;
Fontaine;0;;
Fontanil-Cornillon;0;;
Gières;0;;
Grenoble;30813.377;;
Herbeys;0;;
Jarrie;0;;
La Tronche;8028.204;;
Le Gua;0;;
Le Pont-de-Claix;9090.576;;
Le Sappey-en-Chartreuse;0;;
Meylan;8028.204;;
Miribel-Lanchâtre;0;;
Mont-Saint-Martin;0;;
Montchaboud;0;;
Murianette;0;;
Notre-Dame-de-Commiers;0;;
Notre-Dame-de-Mésage;0;;
Noyarey;0;;
Poisat;0;;
Proveysieux;0;;
Quaix-en-Chartreuse;0;;
Saint-Barthélemy-de-Séchiliènne;0;;
Saint-Georges-de-Commiers;0;;
Saint-Martin-d'Hères;12739.166;;
Saint-Martin-le-Vinoux;15081.726;;
Saint-Paul-de-Varces;0;;
Saint-Pierre-de-Mésage;0;;
Saint-Égrève;15081.726;;
Sarcenas;0;;
Sassenage;0;;
Seyssinet-Pariset;0;;
Seyssins;0;;
Séchilienne;0;;
Varces-Allières-et-Risset;0;;
Vaulnaveys-le-Bas;0;;
Vaulnaveys-le-Haut;0;;
Venon;0;;
Veurey-Voroize;0;;
Vif;0;;
Vizille;0;;
Échirolles;9090.576;;

1.1.4
try it yourself in overpass-turbo
1.1.5
try it yourself in overpass-turbo
1.2.1 Voies vertes dans GAM
try it yourself in overpass-turbo
[out:json][timeout:25];
area[name="Grenoble-Alpes Métropole"]->.searchArea;
(
  relation["ref"="V63"](area.searchArea);
  relation["ref"="V64"](area.searchArea);
);
out geom;
1.2.2 Voies vertes dans GAM : kilométrage total
try it yourself in overpass-turbo
[out:csv(length, "::count"; false; ";")];
area[name="Grenoble-Alpes Métropole"]->.searchArea;
(
  relation["ref"="V63"](area.searchArea);
  relation["ref"="V64"](area.searchArea);
);
make count length=sum(length());
out;
33155.937;
1.2.3 Voies vertes dans GAM : 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;
  (
    relation["ref"="V63"](area.commune);
    relation["ref"="V64"](area.commune);
  );
  make count name = commune.set(t["name"]), length=sum(length()), term="<br>";
   out;
);
1.2.4
try it yourself in overpass-turbo
1.2.5
try it yourself in overpass-turbo

Pistes cyclables

Numéro Explications Requête Overpass Résultat Nov 2023
2.1.1 Pistes cyclables dans GAM
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.1.2 Pistes cyclables bidirectionnelles dans GAM
try it yourself in overpass-turbo
[out:json][timeout:25];
area[name="Grenoble-Alpes Métropole"]->.searchArea;
way["highway"="cycleway"][lanes=2](area.searchArea);
out geom;
2.1.3.1 Pistes cyclables bidirectionnelles et bonne ségrégation avec piétons dans GAM
try it yourself in overpass-turbo
[out:json][timeout:25];
area[name="Grenoble-Alpes Métropole"]->.searchArea;
way[highway=cycleway][lanes=2][segregated=yes](area.searchArea);
out geom;
2.1.3.2 Pistes cyclables bidirectionnelles et bonne ségrégation avec piétons ou piétons interdits, dans GAM
try it yourself in overpass-turbo
[out:json][timeout:25];
area[name="Grenoble-Alpes Métropole"]->.searchArea;
(
  way[highway=cycleway][lanes=2][segregated=yes](area.searchArea);
  way[highway=cycleway][lanes=2][foot=no](area.searchArea);
);
out geom;
2.1.4 Pistes cyclables bidirectionnelles et mauvaise ségrégation avec piétons dans GAM
try it yourself in overpass-turbo
[out:json][timeout:25];
area[name="Grenoble-Alpes Métropole"]->.searchArea;
way[highway=cycleway][lanes=2][segregated=no](area.searchArea);
out geom;
2.2 Pistes cyclables dans GAM : kilomètrage 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;

203329.424;

2.3 Pistes cyclables dans GAM : 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(area.commune)[highway=cycleway];);
  make count name = commune.set(t["name"]),  length=sum(length()), term="<br>";
   out;
);

Bresson;0;;
Brié-et-Angonnes;523.485;;
Champ-sur-Drac;376.719;;
Champagnier;2360.801;;
Claix;7432.795;;
Corenc;0;;
Domène;5667.388;;
Eybens;11162.75;;
Fontaine;11287.613;;
Fontanil-Cornillon;9730.739;;
Gières;15110.54;;
Grenoble;38879.588;;
Herbeys;0;;
Jarrie;139.399;;
La Tronche;5668.207;;
Le Gua;0;;
Le Pont-de-Claix;7244.852;;
Le Sappey-en-Chartreuse;0;;
Meylan;21833.724;;
Miribel-Lanchâtre;100.537;;
Mont-Saint-Martin;0;;
Montchaboud;0;;
Murianette;4824.835;;
Notre-Dame-de-Commiers;0;;
Notre-Dame-de-Mésage;0;;
Noyarey;10321.247;;
Poisat;877.823;;
Proveysieux;0;;
Quaix-en-Chartreuse;0;;
Saint-Barthélemy-de-Séchilienne;1540.392;;
Saint-Georges-de-Commiers;0;;
Saint-Martin-d'Hères;17032.978;;
Saint-Martin-le-Vinoux;7965.009;;
Saint-Paul-de-Varces;0;;
Saint-Pierre-de-Mésage;0;;
Saint-Égrève;21392.967;;
Sarcenas;0;;
Sassenage;15020.842;;
Seyssinet-Pariset;11094.254;;
Seyssins;12762.393;;
Séchilienne;0;;
Varces-Allières-et-Risset;4282.567;;
Vaulnaveys-le-Bas;0;;
Vaulnaveys-le-Haut;0;;
Venon;0;;
Veurey-Voroize;6480.03;;
Vif;4049.766;;
Vizille;52.466;;
Échirolles;10889.761;;

2.4 Pistes cyclables (track) dans GAM
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.5 Pistes cyclables (track) dans GAM : 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;

989.023;

2.6 Pistes cyclables (track) dans GAM : 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(area.commune)[highway][cycleway=track];);
  make count name = commune.set(t["name"]),  length=sum(length()), term="<br>";
   out;
);

Grenoble;442.119;;
La Tronche;291.832;;
Saint-Égrève;193.814;;
Échirolles;61.258;;

2.7
try it yourself in overpass-turbo
2.8
try it yourself in overpass-turbo

Bandes cyclables

Numéro Explications Requête Overpass Résultat Nov 2023
3.1 Bandes cyclables dans GAM
try it yourself in overpass-turbo
[out:json][timeout:60];
area[name="Grenoble-Alpes Métropole"]->.searchArea;
(
way["highway"]["cycleway"="lane"](area.searchArea);
way["highway"]["cycleway:right"="lane"](area.searchArea);
way["highway"]["cycleway:left"="lane"](area.searchArea);
);
out geom;
3.2 Bandes cyclables dans GAM : kilométrage total
try it yourself in overpass-turbo
[out:csv(length, "::count"; false; ";")];
area[name="Grenoble-Alpes Métropole"]->.searchArea;
(
way["highway"]["cycleway"="lane"](area.searchArea);
way["highway"]["cycleway:right"="lane"](area.searchArea);
way["highway"]["cycleway:left"="lane"](area.searchArea);
);
make count length=sum(length());
out;

125897.815;

3.3 Bandes cyclables dans GAM : kilométrage par commune
try it yourself in overpass-turbo
[out:csv(name, length, "::count", term; false; ";")][timeout:120];
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"="lane"](area.commune);
    way["highway"]["cycleway:right"="lane"](area.commune);
    way["highway"]["cycleway:left"="lane"](area.commune);
);
  make count name = commune.set(t["name"]), length=sum(length()), term="<br>";
   out;
);

Bresson;776.704;;
Brié-et-Angonnes;1313.149;;
Champ-sur-Drac;3784.92;;
Champagnier;3514.116;;
Claix;0;;
Corenc;1393.037;;
Domène;3465.65;;
Eybens;3910.32;;
Fontaine;2241.502;;
Fontanil-Cornillon;3331.33;;
Gières;4608.049;;
Grenoble;31647.852;;
Herbeys;0;;
Jarrie;2824.173;;
La Tronche;2489.496;;
Le Gua;79.283;;
Le Pont-de-Claix;3504.747;;
Le Sappey-en-Chartreuse;46.998;;
Meylan;2211.306;;
Miribel-Lanchâtre;0;;
Mont-Saint-Martin;0;;
Montchaboud;1004.192;;
Murianette;0;;
Notre-Dame-de-Commiers;0;;
Notre-Dame-de-Mésage;424.243;;
Noyarey;1331.897;;
Poisat;241.809;;
Proveysieux;359.47;;
Quaix-en-Chartreuse;0;;
Saint-Barthélemy-de-Séchilienne;2148.888;;
Saint-Georges-de-Commiers;0;;
Saint-Martin-d'Hères;4493.855;;
Saint-Martin-le-Vinoux;3806.746;;
Saint-Paul-de-Varces;921.259;;
Saint-Pierre-de-Mésage;0;;
Saint-Égrève;10970.014;;
Sarcenas;0;;
Sassenage;1771.166;;
Seyssinet-Pariset;1854.891;;
Seyssins;1235.748;;
Séchilienne;7559.836;;
Varces-Allières-et-Risset;921.259;;
Vaulnaveys-le-Bas;0;;
Vaulnaveys-le-Haut;19667.769;;
Venon;110.694;;
Veurey-Voroize;489.878;;
Vif;203.805;;
Vizille;2478.927;;
Échirolles;6845.834;;

3.4
try it yourself in overpass-turbo
3.5
try it yourself in overpass-turbo

Double-sens cyclables matérialisés au sol

Numéro Explications Requête Overpass Résultat Nov 2023


4.1 Double-sens cyclables matérialisés au sol dans GAM
try it yourself in overpass-turbo
[out:csv(metrage, "::count"; false; ";")];
area[name="Grenoble-Alpes Métropole"]->.searchArea;
way["highway"]["cycleway"="opposite_lane"](area.searchArea);
make count metrage=sum(length());
out;

2798.099;

4.2 Double-sens cyclables matérialisés au sol dans GAM : kilométrage total
try it yourself in overpass-turbo
[out:csv(metrage, "::count"; false; ";")];
area[name="Grenoble-Alpes Métropole"]->.searchArea;
way["highway"]["cycleway"="opposite_lane"](area.searchArea);
make count metrage=sum(length());
out;

2798.099;

4.3 Double-sens cyclables dans GAM : kilométrage par commune
try it yourself in overpass-turbo
[out:csv(name, length, "::count", term; false; ";")][timeout:60];
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"="opposite_lane"](area.commune);
  make count name = commune.set(t["name"]), length=sum(length()), term="<br>";
   out;
);

Domène;184.048;;
Eybens;356.717;;
Fontaine;243.332;;
Gières;76.243;;
Grenoble;496.319;;
Jarrie;585.007;;
La Tronche;75.78;;
Sassenage;494.81;;
Vaulnaveys-le-Haut;100.039;;
Vizille;31.826;;
Échirolles;153.978;;

4.4
try it yourself in overpass-turbo
4.5
try it yourself in overpass-turbo

Double-sens cyclables simples (mais explicites)

Numéro Explications Requête Overpass Résultat Nov 2023


5.1 Double-sens cyclables dans GAM
try it yourself in overpass-turbo
[out:json][timeout:60];
area[name="Grenoble-Alpes Métropole"]->.searchArea;
way["highway"]["cycleway"="opposite"](area.searchArea);
out geom;
5.2 Double-sens cyclables dans GAM : kilométrage total
try it yourself in overpass-turbo
[out:csv(length, "::count"; false; ";")];
area[name="Grenoble-Alpes Métropole"]->.searchArea;
way["highway"]["cycleway"="opposite"](area.searchArea);
make count length=sum(length());
out;

22874.994;

5.3 Double-sens cyclables dans GAM : kilométrage par commune
try it yourself in overpass-turbo
[out:csv(name, length, "::count", term; false; ";")][timeout:60];
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"="opposite"](area.commune);
  make count name = commune.set(t["name"]), length=sum(length()), term="<br>";
   out;
);

Corenc;168.675;;
Eybens;414.686;;
Fontaine;1588.448;;
Gières;1163.953;;
Grenoble;16609.809;;
Jarrie;238.468;;
La Tronche;353.131;;
Le Pont-de-Claix;278.828;;
Le Sappey-en-Chartreuse;0;;
Meylan;193.554;;
Saint-Martin-d'Hères;759.571;;
Saint-Égrève;100.347;;
Sassenage;289.131;;
Seyssins;167.256;;
Vizille;549.137;;

5.4
try it yourself in overpass-turbo
5.5
try it yourself in overpass-turbo

Vélorues

Numéro Explications Requête Overpass Résultat Nov 2023


6.1 Vélorues dans GAM
try it yourself in overpass-turbo
[out:csv(metrage, "::count"; false; ";")];
area[name="Grenoble-Alpes Métropole"]->.searchArea;
way["highway"]["cyclestreet"="yes"](area.searchArea);
make count metrage=sum(length());
out;
6.2 Vélorues dans GAM : kilométrage total
try it yourself in overpass-turbo
[out:csv(metrage, "::count"; false; ";")];
area[name="Grenoble-Alpes Métropole"]->.searchArea;
way["highway"]["cyclestreet"="yes"](area.searchArea);
make count metrage=sum(length());
out;

238.305;

6.3 Vélorues dans GAM : kilométrage par commune
try it yourself in overpass-turbo
[out:csv(name, length, "::count", term; false; ";")][timeout:60];
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"]["cyclestreet"="yes"](area.commune);
  make count name = commune.set(t["name"]), length=sum(length()), term="<br>";
   out;
);

Gières;238.305;;

6.4
try it yourself in overpass-turbo
6.5
try it yourself in overpass-turbo

Voies partagées avec les piétons

Numéro Explications Requête Overpass Résultat Nov 2023


7.1 Voies partagées avec les piétons dans GAM
try it yourself in overpass-turbo
area[name="Grenoble-Alpes Métropole"]->.searchArea;
(
way["highway"="path"]["bicycle"="yes"](area.searchArea);
way["highway"="path"]["bicycle"="designated"](area.searchArea);
);
out geom;

93057.426;

7.2 Voies partagées avec les piétons dans GAM : kilométrage total
try it yourself in overpass-turbo
[out:csv(length, "::count"; false; ";")];
area[name="Grenoble-Alpes Métropole"]->.searchArea;
(
way["highway"="path"]["bicycle"="yes"](area.searchArea);
way["highway"="path"]["bicycle"="designated"](area.searchArea);
);
make count length=sum(length());
out;

13375.694;

7.3 Voies partagées avec les piétons dans GAM : kilométrage par commune
try it yourself in overpass-turbo
[out:csv(name, length, "::count", term; false; ";")][timeout:60];
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"="path"]["bicycle"="yes"](area.commune);
   way["highway"="path"]["bicycle"="designated"](area.commune);
   );
  make count name = commune.set(t["name"]), length=sum(length()), term="<br>";
   out;
);

Bresson;1107.977;;
Brié-et-Angonnes;861.608;;
Champ-sur-Drac;2819.339;;
Champagnier;1251.335;;
Claix;1765.647;;
Corenc;158.18;;
Domène;169.32;;
Eybens;1230.77;;
Fontaine;1785.942;;
Fontanil-Cornillon;623.578;;
Gières;683.806;;
Grenoble;16856.603;;
Herbeys;0;;
Jarrie;917.543;;
La Tronche;942.354;;
Le Gua;1032.605;;
Le Pont-de-Claix;3238.657;;
Le Sappey-en-Chartreuse;180.639;;
Meylan;3267.936;;
Miribel-Lanchâtre;0;;
Mont-Saint-Martin;0;;
Montchaboud;0;;
Murianette;0;;
Notre-Dame-de-Commiers;3178.238;;
Notre-Dame-de-Mésage;0;;
Noyarey;155.724;;
Poisat;130.367;;
Proveysieux;994.14;;
Quaix-en-Chartreuse;1775.594;;
Saint-Barthélemy-de-Séchilienne;0;;
Saint-Georges-de-Commiers;19784.801;;
Saint-Martin-d'Hères;7658.928;;
Saint-Martin-le-Vinoux;2668.343;;
Saint-Paul-de-Varces;0;;
Saint-Pierre-de-Mésage;691.612;;
Saint-Égrève;3501.501;;
Sarcenas;0;;
Sassenage;2039.523;;
Seyssinet-Pariset;3332.888;;
Seyssins;3771.798;;
Séchilienne;55.626;;
Varces-Allières-et-Risset;1628.467;;
Vaulnaveys-le-Bas;0;;
Vaulnaveys-le-Haut;527.317;;
Venon;26.022;;
Veurey-Voroize;1567.298;;
Vif;118.461;;
Vizille;0;;
Échirolles;10051.253;;

7.4
try it yourself in overpass-turbo
7.5
try it yourself in overpass-turbo

Voies partagées avec les bus

Numéro Explications Requête Overpass Résultat Nov 2023


8.1 Voies partagées avec les bus dans GAM
try it yourself in overpass-turbo
[out:json][timeout:60];
area[name="Grenoble-Alpes Métropole"]->.searchArea;
(
way["highway"]["cycleway"="share_busway"](area.searchArea);
way["highway"]["cycleway:left"="share_busway"](area.searchArea);
way["highway"]["cycleway:right"="share_busway"](area.searchArea);
);
out geom;
8.2 Voies partagées avec les bus dans GAM : kilométrage total
try it yourself in overpass-turbo
[out:csv(length, "::count"; false; ";")];
area[name="Grenoble-Alpes Métropole"]->.searchArea;
(
way["highway"]["cycleway"="share_busway"](area.searchArea);
way["highway"]["cycleway:left"="share_busway"](area.searchArea);
way["highway"]["cycleway:right"="share_busway"](area.searchArea);
);

make count length=sum(length());
out;

13375.694;

8.3 Voies partagées avec les bus dans GAM : kilométrage par commune
try it yourself in overpass-turbo
[out:csv(name, length, "::count", term; false; ";")][timeout:60];
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"="share_busway"](area.commune);
way["highway"]["cycleway:left"="share_busway"](area.commune);
way["highway"]["cycleway:right"="share_busway"](area.commune);
);
  make count name = commune.set(t["name"]), length=sum(length()), term="<br>";
   out;
);

Eybens;900.904;;
Fontaine;420.884;;
Gières;663.932;;
Grenoble;10639.227;;
Saint-Martin-d'Hères;339.359;;
Seyssinet-Pariset;69.727;;
Échirolles;486.379;;

8.4
try it yourself in overpass-turbo
8.5
try it yourself in overpass-turbo

Voies partagées avec avec motorisés

Numéro Explications Requête Overpass Résultat Nov 2023


9.1 Voies partagées avec motorisés dans GAM
try it yourself in overpass-turbo
[out:json][timeout:60];
area[name="Grenoble-Alpes Métropole"]->.searchArea;
(
way["highway"]["cycleway"="shared_lane"](area.searchArea);
way["highway"]["cycleway:left"="shared_lane"](area.searchArea);
way["highway"]["cycleway:right"="shared_lane"](area.searchArea);
);
out geom;
9.2 Voies partagées avec motorisés dans GAM : kilométrage total
try it yourself in overpass-turbo
[out:csv(length, "::count"; false; ";")];
area[name="Grenoble-Alpes Métropole"]->.searchArea;
(
way["highway"]["cycleway"="shared_lane"](area.searchArea);
way["highway"]["cycleway:left"="shared_lane"](area.searchArea);
way["highway"]["cycleway:right"="shared_lane"](area.searchArea);
);

make count length=sum(length());
out;

17044.422;

9.3 Voies partagées avec motorisés dans GAM : kilométrage par commune
try it yourself in overpass-turbo
[out:csv(name, length, "::count", term; false; ";")][timeout:60];
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"="shared_lane"](area.commune);
way["highway"]["cycleway:left"="shared_lane"](area.commune);
way["highway"]["cycleway:right"="shared_lane"](area.commune);
);
  make count name = commune.set(t["name"]), length=sum(length()), term="<br>";
   out;
);

Corenc;1977.527;;
Domène;982.115;;
Eybens;147.881;;
Fontaine;316.025;;
Gières;705.684;;
Grenoble;8967.183;;
La Tronche;31.004;;
Le Pont-de-Claix;1914.486;;
Saint-Martin-d'Hères;257.05;;
Saint-Martin-le-Vinoux;94.968;;
Saint-Égrève;248.432;;
Sassenage;64.133;;
Seyssinet-Pariset;192.283;;
Échirolles;847.568;;

9.4
try it yourself in overpass-turbo
9.5
try it yourself in overpass-turbo

Voies partagées (de manière générale)

Numéro Explications Requête Overpass Résultat Nov 2023


10.1 Voies partagées dans GAM
try it yourself in overpass-turbo
[out:json][timeout:60];
area[name="Grenoble-Alpes Métropole"]->.searchArea;
way["highway"]["cycleway"="shared"](area.searchArea);
out geom;
10.2 Voies partagées dans GAM : kilométrage total
try it yourself in overpass-turbo
[out:csv(length, "::count"; false; ";")];
area[name="Grenoble-Alpes Métropole"]->.searchArea;
way["highway"]["cycleway"="shared"](area.searchArea);
make count length=sum(length());
out;

264.405;

10.3 Voies partagées dans GAM : kilométrage par commune
try it yourself in overpass-turbo
[out:csv(name, length, "::count", term; false; ";")][timeout:60];
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"="shared"](area.commune);
  make count name = commune.set(t["name"]), length=sum(length()), term="<br>";
   out;
);

Meylan;264.405;;

10.4
try it yourself in overpass-turbo
10.5
try it yourself in overpass-turbo


3

Requêtes Overpass de voiries cyclables dédiées de tous les types

Voiries cyclables dédiées : kilométrage total

Numéro Explications Requête Overpass Résultat Fév 2024
3.1 Voiries cyclables dédiées dans GAM
try it yourself in overpass-turbo
[out:json][timeout:25];
area[name="Grenoble-Alpes Métropole"]->.searchArea;
(
way[highway=cycleway][lanes=2][segregated=yes](area.searchArea);
way[highway=cycleway][lanes=2][!segregated](area.searchArea);
way[highway=cycleway][lanes=1][segregated=yes](area.searchArea);
way[highway=cycleway][lanes=1][!segregated](area.searchArea);
way[highway=cycleway][!lanes][segregated=yes](area.searchArea);
way[highway=cycleway][!lanes][!segregated](area.searchArea);
way[highway=cycleway][oneway=no][motor_vehicle=no](area.searchArea);
way[highway=path][bicycle=designated][segregated=yes](area.searchArea);
way[highway=path][bicycle=designated][!segregated](area.searchArea);
way[highway=path][bicycle=yes][segregated=yes](area.searchArea);
way[highway=path][bicycle=yes][!segregated](area.searchArea);
  );

out geom;
3.2 Voiries cyclables dédiées dans GAM  : kilométrage total
try it yourself in overpass-turbo
[out:csv(length, "::count"; false; ";")];
area[name="Grenoble-Alpes Métropole"]->.searchArea;
(
way[highway=cycleway][lanes=2][segregated=yes](area.searchArea);
way[highway=cycleway][lanes=2][!segregated](area.searchArea);
way[highway=cycleway][lanes=1][segregated=yes](area.searchArea);
way[highway=cycleway][lanes=1][!segregated](area.searchArea);
way[highway=cycleway][!lanes][segregated=yes](area.searchArea);
way[highway=cycleway][!lanes][!segregated](area.searchArea);
way[highway=cycleway][oneway=no][motor_vehicle=no](area.searchArea);
way[highway=path][bicycle=designated][segregated=yes](area.searchArea);
way[highway=path][bicycle=designated][!segregated](area.searchArea);
way[highway=path][bicycle=yes][segregated=yes](area.searchArea);
way[highway=path][bicycle=yes][!segregated](area.searchArea);
  );
make count length=sum(length());
out;
33155.937;
3.3 Voiries cyclables dédiées dans GAM : 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][lanes=2][segregated=yes](area.commune);
way[highway=cycleway][lanes=2][!segregated](area.commune);
way[highway=cycleway][lanes=1][segregated=yes](area.commune);
way[highway=cycleway][lanes=1][!segregated](area.commune);
way[highway=cycleway][!lanes][segregated=yes](area.commune);
way[highway=cycleway][!lanes][!segregated](area.commune);
way[highway=cycleway][oneway=no][motor_vehicle=no](area.commune);
way[highway=path][bicycle=designated][segregated=yes](area.commune);
way[highway=path][bicycle=designated][!segregated](area.commune);
way[highway=path][bicycle=yes][segregated=yes](area.commune);
way[highway=path][bicycle=yes][!segregated](area.commune);
  );
  make count name = commune.set(t["name"]), length=sum(length()), term="<br>";
   out;
);
out geom;

Voiries cyclables dédiées : Le Havre/Grenoble/Strasbourg/Toulouse kilométrage par habitant

L'idée étant d'arriver à refaire le calcul fait par GeoVélo

Voiries cyclables dédiées : Le Havre kilométrage par habitant

Numéro Explications Requête Overpass Résultat Fév 2024
3.4.1 Voiries cyclables dédiées dans Le Havre Métropole : kilomètrage par habitant par commune
try it yourself in overpass-turbo
[out:csv(name, population, length, par_habitant, "::count", term; false; ";")];
area[name="Le Havre"]->.searchArea;
relation[admin_level=8][boundary=administrative](area.searchArea);
map_to_area;
// Pour chaque commune
for (t["name"])
(
  (._;)->.commune;
  (
way[highway=cycleway][lanes=2][segregated=yes](area.commune);
way[highway=cycleway][lanes=2][!segregated](area.commune);
way[highway=cycleway][lanes=1][segregated=yes](area.commune);
way[highway=cycleway][lanes=1][!segregated](area.commune);
way[highway=cycleway][!lanes][segregated=yes](area.commune);
way[highway=cycleway][!lanes][!segregated](area.commune);
way[highway=cycleway][oneway=no][motor_vehicle=no](area.commune);
way[highway=path][bicycle=designated][segregated=yes](area.commune);
way[highway=path][bicycle=designated][!segregated](area.commune);
way[highway=path][bicycle=yes][segregated=yes](area.commune);
way[highway=path][bicycle=yes][!segregated](area.commune);
  );
  make count name = commune.set(t["name"]), population=commune.set(t["population"]), par_habitant=(sum(length()/commune.set(t["population"]))), length=sum(length()), term="<br>";
   out;
);
out geom;

Alvimare;622;0;0;;
Ancretteville-sur-Mer;152;0;0;;
Angerville-Bailleul;185;0;0;;
Angerville-l'Orcher;1405;0;0;;
Angerville-la-Martel;1078;0;0;;
Anglesqueville-l'Esneval;648;0;0;;
Annouville-Vilmesnil;467;0;0;;
Auberville-la-Renault;458;0;0;;
Beaurepaire;492;0;0;;
Bec-de-Mortagne;643;0;0;;
Bernières;637;0;0;;
Beuzeville-la-Grenier;1244;0;0;;
Beuzevillette;634;0;0;;
Bolbec;11610;5300.91;0.45658139534884;;
Bolleville;581;0;0;;
Bordeaux-Saint-Clair;651;0;0;;
Bornambusc;251;0;0;;
Bretteville-du-Grand-Caux;1360;395.012;0.29045;;
Bréauté;1359;0;0;;
Bénarville;267;0;0;;
Bénouville;189;0;0;;
Cauville-sur-Mer;1594;117.667;0.07381869510665;;
Cliponville;262;0;0;;
Cléville;154;0;0;;
Colleville;763;5830.909;7.6420825688073;;
Contremoulins;162;0;0;;
Criquebeuf-en-Caux;402;0;0;;
Criquetot-l'Esneval;2562;13.525;0.0052790788446526;;
Criquetot-le-Mauconduit;177;0;0;;
Cuverville;345;0;0;;
Daubeuf-Serville;401;0;0;;
Envronville;349;0;0;;
Fongueusemare;185;0;0;;
Fontaine-la-Mallet;2633;765.495;0.29073110520319;;
Fontenay;1521;0;0;;
Foucart;359;0;0;;
Froberville;1194;2227.069;1.865216917923;;
Fécamp;18041;27.707;0.0015357796131035;;
Gainneville;2526;226.965;0.089851543942993;;
Ganzeville;468;0;0;;
Gerponville;391;0;0;;
Gerville;431;0;0;;
Goderville;2864;707.44;0.24701117318436;;
Gommerville;729;0;0;;
Gonfreville-Caillot;369;0;0;;
Gonfreville-l'Orcher;9124;4902.994;0.53737330118369;;
Gonneville-la-Mallet;1371;0;0;;
Graimbouville;615;0;0;;
Grainville-Ymauville;433;0;0;;
Grand-Camp;737;0;0;;
Gruchet-le-Valasse;3175;177.633;0.055947401574803;;
Harfleur;8349;5401.276;0.6469368786681;;
Hattenville;715;0;0;;
Hermeville;355;0;0;;
Heuqueville;715;0;0;;
Houquetot;338;0;0;;
La Cerlangue;1276;0;0;;
La Frénaye;2093;0;0;;
La Poterie-Cap-d'Antifer;453;0;0;;
La Remuée;1277;0;0;;
La Trinité-du-Mont;832;0;0;;
Lanquetot;1161;997.548;0.85921447028424;;
Le Havre;168290;73820.435;0.43865015746628;;
Le Tilleul;687;0;0;;
Les Loges;1106;199.075;0.17999547920434;;
Les Trois-Pierres;769;0;0;;
Lillebonne;8797;2773.463;0.31527372968057;;
Limpiville;380;0;0;;
Lintot;472;0;0;;
Maniquerville;421;0;0;;
Manneville-la-Goupil;1035;0;0;;
Mannevillette;892;0;0;;
Manéglise;1228;0;0;;
Mentheville;293;0;0;;
Mirville;342;0;0;;
Montivilliers;15470;1072.435;0.069323529411765;;
Mélamare;922;0;0;;
Nointot;1360;0;0;;
Norville;1001;0;0;;
Notre-Dame-du-Bec;453;0;0;;
Octeville-sur-Mer;6018;1481.762;0.24622166832835;;
Oudalle;417;1061.304;2.5450935251799;;
Parc-d'Anxtot;585;0;0;;
Petiville;1126;0;0;;
Pierrefiques;135;0;0;;
Port-Jérôme-sur-Seine;10248;4421.188;0.43141959406713;;
Raffetot;504;0;0;;
Riville;294;4300.794;14.628551020408;;
Rogerville;1574;0;0;;
Rolleville;1186;0;0;;
Rouville;605;0;0;;
Sainneville;850;0;0;;
Saint-Antoine-la-Forêt;1091;0;0;;
Saint-Aubin-Routot;1917;0;0;;
Saint-Eustache-la-Forêt;1208;0;0;;
Saint-Gilles-de-la-Neuville;652;0;0;;
Saint-Jean-de-Folleville;816;0;0;;
Saint-Jean-de-la-Neuville;610;0;0;;
Saint-Jouin-Bruneval;1844;260.31;0.14116594360087;;
Saint-Laurent-de-Brèvedent;1491;0;0;;
Saint-Léonard;1709;0;0;;
Saint-Maclou-la-Brière;462;0;0;;
Saint-Martin-du-Bec;629;0;0;;
Saint-Martin-du-Manoir;1469;444.772;0.30277195371001;;
Saint-Maurice-d'Ételan;301;0;0;;
Saint-Nicolas-de-la-Taille;1645;0;0;;
Saint-Pierre-en-Port;823;0;0;;
Saint-Romain-de-Colbosc;4259;1010.357;0.23722869218127;;
Saint-Sauveur-d'Émalleville;1229;0;0;;
Saint-Vigor-d'Ymonville;1137;0;0;;
Saint-Vincent-Cramesnil;691;0;0;;
Sainte-Adresse;7317;2418.476;0.33052835861692;;
Sainte-Hélène-Bondeville;720;0;0;;
Sainte-Marie-au-Bosc;364;0;0;;
Sandouville;797;308.273;0.38679171894605;;
Sassetot-le-Mauconduit;1035;0;0;;
Sausseuzemare-en-Caux;430;0;0;;
Senneville-sur-Fécamp;884;0;0;;
Sorquainville;185;0;0;;
Tancarville;1250;282.412;0.2259296;;
Terres-de-Caux;4193;0;0;;
Theuville-aux-Maillots;541;681.363;1.2594510166359;;
Thiergeville;400;0;0;;
Thiétreville;367;0;0;;
Thérouldeville;669;0;0;;
Tocqueville-les-Murs;279;0;0;;
Tourville-les-Ifs;691;0;0;;
Toussaint;702;0;0;;
Trouville;624;0;0;;
Trémauville;103;0;0;;
Turretot;1462;0;0;;
Valmont;858;10133.779;11.810931235431;;
Vattetot-sous-Beaumont;576;0;0;;
Vattetot-sur-Mer;322;0;0;;
Vergetot;447;0;0;;
Villainville;286;0;0;;
Vinnemerville;222;0;0;;
Virville;351;0;0;;
Yport;726;341.869;0.47089393939394;;
Ypreville-Biville;576;0;0;;
Yébleron;1269;0;0;;
Écrainville;977;707.44;0.72409416581372;;
Écretteville-sur-Mer;163;0;0;;
Életot;643;0;0;;
Épouville;2654;0;0;;
Épretot;776;0;0;;
Épreville;1013;0;0;;
Étainhus;1205;0;0;;
Étretat;1237;0;0;;


Voiries cyclables dédiées : Grenoble-Alpes Métropole toutes voiries confondues, sans pondération

Numéro Explications Requête Overpass Résultat Fév 2024
3.5.1.1 Voiries cyclables dédiées dans GAM : carte
try it yourself in overpass-turbo
[out:json][timeout:25];
area[name="Grenoble-Alpes Métropole"]->.searchArea;
relation[admin_level=8][boundary=administrative](area.searchArea);
map_to_area;
// Pour chaque commune
for (t["name"])
(
  (._;)->.commune;
  (
way[highway=cycleway][lanes=2][segregated=yes](area.commune);
way[highway=cycleway][lanes=2][!segregated](area.commune);
way[highway=cycleway][lanes=1][segregated=yes](area.commune);
way[highway=cycleway][lanes=1][!segregated](area.commune);
way[highway=cycleway][!lanes][segregated=yes](area.commune);
way[highway=cycleway][!lanes][!segregated](area.commune);
way[highway=cycleway][oneway=no][motor_vehicle=no](area.commune);
way[highway=path][bicycle=designated][segregated=yes](area.commune);
way[highway=path][bicycle=designated][!segregated](area.commune);
way[highway=path][bicycle=yes][segregated=yes](area.commune);
way[highway=path][bicycle=yes][!segregated](area.commune);
  );
out geom;
3.5.1.2 Voiries cyclables dédiées dans GAM : kilomètrage par habitant par commune
try it yourself in overpass-turbo
[out:csv(name, population, length, par_habitant, "::count", term; false; ";")];
area[name="Grenoble-Alpes Métropole"]->.searchArea;
relation[admin_level=8][boundary=administrative](area.searchArea);
map_to_area;
// Pour chaque commune
for (t["name"])
(
  (._;)->.commune;
  (
way[highway=cycleway][lanes=2][segregated=yes](area.commune);
way[highway=cycleway][lanes=2][!segregated](area.commune);
way[highway=cycleway][lanes=1][segregated=yes](area.commune);
way[highway=cycleway][lanes=1][!segregated](area.commune);
way[highway=cycleway][!lanes][segregated=yes](area.commune);
way[highway=cycleway][!lanes][!segregated](area.commune);
way[highway=cycleway][oneway=no][motor_vehicle=no](area.commune);
way[highway=path][bicycle=designated][segregated=yes](area.commune);
way[highway=path][bicycle=designated][!segregated](area.commune);
way[highway=path][bicycle=yes][segregated=yes](area.commune);
way[highway=path][bicycle=yes][!segregated](area.commune);
  );
  make count name = commune.set(t["name"]), population=commune.set(t["population"]), par_habitant=(sum(length()/commune.set(t["population"]))), length=sum(length()), term="<br>";
   out;
);
out geom;

Bresson;671;1107.977;1.6512324888226;;
Brié-et-Angonnes;2545;856.693;0.33661807465619;;
Champ-sur-Drac;3172;3196.058;1.0075844892812;;
Champagnier;1200;3446.638;2.8721983333333;;
Claix;7924;1455.792;0.18371933366986;;
Corenc;4075;21.08;0.0051730061349693;;
Domène;6677;2906.73;0.4353347311667;;
Eybens;9980;7250.336;0.72648657314629;;
Fontaine;23211;10732.23;0.46237689026755;;
Fontanil-Cornillon;3172;10304.085;3.2484505044136;;
Gières;7134;13697.451;1.9200239697224;;
Grenoble;158198;47916.83;0.30289150305314;;
Herbeys;1362;0;0;;
Jarrie;3779;1052.74;0.27857634294787;;
La Tronche;6602;5971.026;0.9044268403514;;
Le Gua;1796;980.176;0.54575501113586;;
Le Pont-de-Claix;10716;5379.586;0.50201437103397;;
Le Sappey-en-Chartreuse;1133;180.639;0.15943424536628;;
Meylan;17786;15583.418;0.87616203755763;;
Miribel-Lanchâtre;456;100.537;0.22047587719299;;
Mont-Saint-Martin;76;0;0;;
Montchaboud;337;0;0;;
Murianette;862;2987.759;3.4660777262181;;
Notre-Dame-de-Commiers;536;3178.238;5.9295485074627;;
Notre-Dame-de-Mésage;1131;0;0;;
Noyarey;2256;10038.567;4.4497194148936;;
Poisat;2127;766.558;0.36039398213447;;
Proveysieux;513;928.36;1.8096686159844;;
Quaix-en-Chartreuse;897;1775.594;1.9794804905239;;
Saint-Barthélemy-de-Séchilienne;430;1540.392;3.5823069767442;;
Saint-Georges-de-Commiers;2537;19722.047;7.7737670476941;;
Saint-Martin-d'Hères;37935;22619.727;0.59627591933571;;
Saint-Martin-le-Vinoux;5880;8411.994;1.4306112244898;;
Saint-Paul-de-Varces;2247;0;0;;
Saint-Pierre-de-Mésage;781;691.612;0.88554673495519;;
Saint-Égrève;15944;18318.353;1.1489182764676;;
Sarcenas;214;0;0;;
Sassenage;11062;12258.583;1.1081705839812;;
Seyssinet-Pariset;11891;14016.017;1.1787080144647;;
Seyssins;7827;10843.626;1.3854128018398;;
Séchilienne;1063;55.626;0.05232925682032;;
Varces-Allières-et-Risset;8301;2307.245;0.27794783760992;;
Vaulnaveys-le-Bas;1321;0;0;;
Vaulnaveys-le-Haut;3965;527.317;0.13299293820933;;
Venon;732;26.022;0.035549180327869;;
Veurey-Voroize;1433;7580.29;5.2898046057222;;
Vif;8547;4037.784;0.4724212004212;;
Vizille;7246;52.466;0.0072406845155948;;
Échirolles;36932;13473.711;0.36482484024694;;

Voiries cyclables dédiées : Grenoble-Alpes Métropole kilométrage total, en pondérant * 1 et * 2

Voiries cyclables dédiées : Grenoble-Alpes Métropole kilométrage total, pondération 1
Numéro Explications Requête Overpass Résultat Fév 2024
3.6.1 Voiries cyclables lanes=1 ou oneway=1 dédiées dans GAM : récupération globale, carte
try it yourself in overpass-turbo
[out:json][timeout:25];
area[name="Grenoble-Alpes Métropole"]->.searchArea;
(
	way[highway=cycleway][lanes=1][segregated=yes](area.searchArea);
	way[highway=cycleway][lanes=1][!segregated](area.searchArea);
	way[highway=cycleway][!lanes][oneway=yes][segregated=yes](area.searchArea);
	way[highway=cycleway][!lanes][oneway=yes][!segregated](area.searchArea);
	way[highway=path][bicycle=designated][oneway=yes][segregated=yes](area.searchArea);
	way[highway=path][bicycle=designated][oneway=yes][!segregated](area.searchArea);
	way[highway=path][bicycle=yes][oneway=yes][segregated=yes](area.searchArea);
	way[highway=path][bicycle=yes][oneway=yes][!segregated](area.searchArea);
	way[highway=path][bicycle=designated][!oneway][segregated=yes](area.searchArea);
	way[highway=path][bicycle=designated][!oneway][!segregated](area.searchArea);
	way[highway=path][bicycle=yes][!oneway][segregated=yes](area.searchArea);
	way[highway=path][bicycle=yes][!oneway][!segregated](area.searchArea);
);
out geom;
3.6.2 Voiries cyclables lanes=1 ou oneway=1 dédiées dans GAM : récupération globale, kilométrage total
try it yourself in overpass-turbo
[out:csv(length, "::count", term; false; ";")];
area[name="Grenoble-Alpes Métropole"]->.searchArea;
(
	way[highway=cycleway][lanes=1][segregated=yes](area.searchArea);
	way[highway=cycleway][lanes=1][!segregated](area.searchArea);
	way[highway=cycleway][!lanes][oneway=yes][segregated=yes](area.searchArea);
	way[highway=cycleway][!lanes][oneway=yes][!segregated](area.searchArea);
	way[highway=path][bicycle=designated][oneway=yes][segregated=yes](area.searchArea);
	way[highway=path][bicycle=designated][oneway=yes][!segregated](area.searchArea);
	way[highway=path][bicycle=yes][oneway=yes][segregated=yes](area.searchArea);
	way[highway=path][bicycle=yes][oneway=yes][!segregated](area.searchArea);
	way[highway=path][bicycle=designated][!oneway][segregated=yes](area.searchArea);
	way[highway=path][bicycle=designated][!oneway][!segregated](area.searchArea);
	way[highway=path][bicycle=yes][!oneway][segregated=yes](area.searchArea);
	way[highway=path][bicycle=yes][!oneway][!segregated](area.searchArea);
);
make count length=sum(length());
out;

95979.136;;

3.6.3 Voiries cyclables lanes=1 ou oneway=1 dédiées dans GAM : récupération par commune, carte
try it yourself in overpass-turbo
[out:json][timeout:25];
area[name="Grenoble-Alpes Métropole"]->.searchArea;
relation[admin_level=8][boundary=administrative](area.searchArea);
map_to_area;
// Pour chaque commune
for (t["name"])
(
  (._;)->.commune;
  (
way[highway=cycleway][lanes=1][segregated=yes](area.commune);
way[highway=cycleway][lanes=1][!segregated](area.commune);
way[highway=cycleway][!lanes][oneway=yes][segregated=yes](area.commune);
way[highway=cycleway][!lanes][oneway=yes][!segregated](area.commune);
way[highway=path][bicycle=designated][oneway=yes][segregated=yes](area.commune);
way[highway=path][bicycle=designated][oneway=yes][!segregated](area.commune);
way[highway=path][bicycle=yes][oneway=yes][segregated=yes](area.commune);
way[highway=path][bicycle=yes][oneway=yes][!segregated](area.commune);
way[highway=path][bicycle=designated][!oneway][segregated=yes](area.commune);
way[highway=path][bicycle=designated][!oneway][!segregated](area.commune);
way[highway=path][bicycle=yes][!oneway][segregated=yes](area.commune);
way[highway=path][bicycle=yes][!oneway][!segregated](area.commune);
  );
out geom;
3.6.4 Voiries cyclables lanes=1 ou oneway=1 dédiées dans GAM : récupération par commune, kilomètrage par habitant par commune
try it yourself in overpass-turbo
[out:csv(name, population, length, par_habitant, "::count", term; false; ";")];
area[name="Grenoble-Alpes Métropole"]->.searchArea;
relation[admin_level=8][boundary=administrative](area.searchArea);
map_to_area;
// Pour chaque commune
for (t["name"])
(
  (._;)->.commune;
  (
way[highway=cycleway][lanes=1][segregated=yes](area.commune);
way[highway=cycleway][lanes=1][!segregated](area.commune);
way[highway=cycleway][!lanes][oneway=yes][segregated=yes](area.commune);
way[highway=cycleway][!lanes][oneway=yes][!segregated](area.commune);
way[highway=path][bicycle=designated][oneway=yes][segregated=yes](area.commune);
way[highway=path][bicycle=designated][oneway=yes][!segregated](area.commune);
way[highway=path][bicycle=yes][oneway=yes][segregated=yes](area.commune);
way[highway=path][bicycle=yes][oneway=yes][!segregated](area.commune);
way[highway=path][bicycle=designated][!oneway][segregated=yes](area.commune);
way[highway=path][bicycle=designated][!oneway][!segregated](area.commune);
way[highway=path][bicycle=yes][!oneway][segregated=yes](area.commune);
way[highway=path][bicycle=yes][!oneway][!segregated](area.commune);
  );
  make count name = commune.set(t["name"]), population=commune.set(t["population"]), par_habitant=(sum(length()/commune.set(t["population"]))), length=sum(length()), term="<br>";
   out;
);
out geom;

Bresson;671;1107.977;1.6512324888226;;
Brié-et-Angonnes;2545;856.693;0.33661807465619;;
Champ-sur-Drac;3172;3196.058;1.0075844892812;;
Champagnier;1200;1009.397;0.84116416666666;;
Claix;7924;1098.459;0.13862430590611;;
Corenc;4075;21.08;0.0051730061349693;;
Domène;6677;1822.465;0.2729466826419;;
Eybens;9980;691.385;0.069277054108216;;
Fontaine;23211;2195.879;0.094605101029684;;
Fontanil-Cornillon;3172;573.346;0.18075220680958;;
Gières;7134;5900.232;0.82705803195963;;
Grenoble;158198;20723.268;0.13099576480107;;
Herbeys;1362;0;0;;
Jarrie;3779;1052.74;0.27857634294787;;
La Tronche;6602;746.245;0.11303317176613;;
Le Gua;1796;980.176;0.54575501113586;;
Le Pont-de-Claix;10716;2806.308;0.26188017917133;;
Le Sappey-en-Chartreuse;1133;180.639;0.15943424536628;;
Meylan;17786;2136.65;0.12013100191162;;
Miribel-Lanchâtre;456;0;0;;
Mont-Saint-Martin;76;0;0;;
Montchaboud;337;0;0;;
Murianette;862;2987.759;3.4660777262181;;
Notre-Dame-de-Commiers;536;3178.238;5.9295485074627;;
Notre-Dame-de-Mésage;1131;0;0;;
Noyarey;2256;201.226;0.089195921985815;;
Poisat;2127;204.169;0.095989186647861;;
Proveysieux;513;928.36;1.8096686159844;;
Quaix-en-Chartreuse;897;1775.594;1.9794804905239;;
Saint-Barthélemy-de-Séchilienne;430;0;0;;
Saint-Georges-de-Commiers;2537;19722.047;7.7737670476941;;
Saint-Martin-d'Hères;37935;7693.723;0.20281331224463;;
Saint-Martin-le-Vinoux;5880;2112.922;0.35934047619048;;
Saint-Paul-de-Varces;2247;0;0;;
Saint-Pierre-de-Mésage;781;691.612;0.88554673495519;;
Saint-Égrève;15944;1734.288;0.10877370797792;;
Sarcenas;214;0;0;;
Sassenage;11062;991.444;0.089626107394685;;
Seyssinet-Pariset;11891;4341.096;0.36507408964763;;
Seyssins;7827;1669.916;0.21335326434138;;
Séchilienne;1063;55.626;0.05232925682032;;
Varces-Allières-et-Risset;8301;1462.542;0.17618865196964;;
Vaulnaveys-le-Bas;1321;0;0;;
Vaulnaveys-le-Haut;3965;527.317;0.13299293820933;;
Venon;732;26.022;0.035549180327869;;
Veurey-Voroize;1433;2315.737;1.6160062805304;;
Vif;8547;118.461;0.013859950859951;;
Vizille;7246;52.466;0.0072406845155948;;
Échirolles;36932;6698.714;0.18137967074624;;


Voiries cyclables dédiées : Grenoble-Alpes Métropole kilométrage total, pondération 2
Numéro Explications Requête Overpass Résultat Fév 2024
3.7.1 Voiries cyclables lanes=2 oneway=no dédiées dans GAM : récupération globale, carte
try it yourself in overpass-turbo
[out:json][timeout:250];
area[name="Grenoble-Alpes Métropole"]->.searchArea;
relation[admin_level=8][boundary=administrative](area.searchArea);
map_to_area;
// Pour chaque commune
for (t["name"])
(
  (._;)->.commune;
  (
way[highway=cycleway][lanes=2][segregated=yes](area.commune);
way[highway=cycleway][lanes=2][!segregated](area.commune);
way[highway=cycleway][!lanes][oneway=no][segregated=yes](area.commune);
way[highway=cycleway][!lanes][oneway=no][!segregated](area.commune);
way[highway=cycleway][oneway=no][motor_vehicle=no](area.commune);
way[highway=path][bicycle=designated][oneway=no][segregated=yes](area.commune);
way[highway=path][bicycle=designated][oneway=no][!segregated](area.commune);
way[highway=path][bicycle=yes][oneway=no][segregated=yes](area.commune);
way[highway=path][bicycle=yes][oneway=no][!segregated](area.commune);
  );
out geom;
3.7.2 Voiries cyclables lanes=2 oneway=no dédiées dans GAM : récupération globale, carte
try it yourself in overpass-turbo
[out:csv(length, "::count", term; false; ";")];
area[name="Grenoble-Alpes Métropole"]->.searchArea;
(
	way[highway=cycleway][lanes=2][segregated=yes](area.searchArea);
	way[highway=cycleway][lanes=2][!segregated](area.searchArea);
	way[highway=cycleway][!lanes][oneway=no][segregated=yes](area.searchArea);
	way[highway=cycleway][!lanes][oneway=no][!segregated](area.searchArea);
	way[highway=cycleway][oneway=no][motor_vehicle=no](area.searchArea);
	way[highway=path][bicycle=designated][oneway=no][segregated=yes](area.searchArea);
	way[highway=path][bicycle=designated][oneway=no][!segregated](area.searchArea);
	way[highway=path][bicycle=yes][oneway=no][segregated=yes](area.searchArea);
	way[highway=path][bicycle=yes][oneway=no][!segregated](area.searchArea);
);
make count length=sum(length());
out;

117202.211;; donc 235 km si on double

3.7.3 Voiries cyclables lanes=2 oneway=no dédiées dans GAM : récupération globale, carte
try it yourself in overpass-turbo
[out:json][timeout:25];
area[name="Grenoble-Alpes Métropole"]->.searchArea;
(
	way[highway=cycleway][lanes=2][segregated=yes](area.searchArea);
	way[highway=cycleway][lanes=2][!segregated](area.searchArea);
	way[highway=cycleway][!lanes][oneway=no][segregated=yes](area.searchArea);
	way[highway=cycleway][!lanes][oneway=no][!segregated](area.searchArea);
	way[highway=cycleway][oneway=no][motor_vehicle=no](area.searchArea);
	way[highway=path][bicycle=designated][oneway=no][segregated=yes](area.searchArea);
	way[highway=path][bicycle=designated][oneway=no][!segregated](area.searchArea);
	way[highway=path][bicycle=yes][oneway=no][segregated=yes](area.searchArea);
	way[highway=path][bicycle=yes][oneway=no][!segregated](area.searchArea);
  );
out geom;

117202.211;; donc 235 km si on double

3.7.4 Voiries cyclables lanes=2 oneway=no dédiées dans GAM : récupération par commune, kilomètrage par habitant par commune
try it yourself in overpass-turbo
[out:csv(name, population, length, par_habitant, "::count", term; false; ";")];
area[name="Grenoble-Alpes Métropole"]->.searchArea;
relation[admin_level=8][boundary=administrative](area.searchArea);
map_to_area;
// Pour chaque commune
for (t["name"])
(
  (._;)->.commune;
  (
way[highway=cycleway][lanes=2][segregated=yes](area.commune);
way[highway=cycleway][lanes=2][!segregated](area.commune);
way[highway=cycleway][!lanes][oneway=no][segregated=yes](area.commune);
way[highway=cycleway][!lanes][oneway=no][!segregated](area.commune);
way[highway=cycleway][oneway=no][motor_vehicle=no](area.commune);
way[highway=path][bicycle=designated][oneway=no][segregated=yes](area.commune);
way[highway=path][bicycle=designated][oneway=no][!segregated](area.commune);
way[highway=path][bicycle=yes][oneway=no][segregated=yes](area.commune);
way[highway=path][bicycle=yes][oneway=no][!segregated](area.commune);
  );
  make count name = commune.set(t["name"]), population=commune.set(t["population"]), par_habitant=(sum(length()*2/commune.set(t["population"]))), length=sum(length()*2), term="<br>";
   out;
);
out geom;

Bresson;671;0;0;;
Brié-et-Angonnes;2545;0;0;;
Champ-sur-Drac;3172;0;0;;
Champagnier;1200;4874.482;4.0620683333333;;
Claix;7924;657.614;0.082990156486623;;
Corenc;4075;0;0;;
Domène;6677;0;0;;
Eybens;9980;11905.658;1.1929517034068;;
Fontaine;23211;16842.786;0.72563810262376;;
Fontanil-Cornillon;3172;18770.932;5.9176960907945;;
Gières;7134;13147.184;1.8428909447715;;
Grenoble;158198;49470.242;0.3127109192278;;
Herbeys;1362;0;0;;
Jarrie;3779;0;0;;
La Tronche;6602;9952.37;1.5074780369585;;
Le Gua;1796;0;0;;
Le Pont-de-Claix;10716;4246.61;0.39628686076895;;
Le Sappey-en-Chartreuse;1133;0;0;;
Meylan;17786;21528.65;1.2104267401327;;
Miribel-Lanchâtre;456;0;0;;
Mont-Saint-Martin;76;0;0;;
Montchaboud;337;0;0;;
Murianette;862;0;0;;
Notre-Dame-de-Commiers;536;0;0;;
Notre-Dame-de-Mésage;1131;0;0;;
Noyarey;2256;17676.972;7.8355372340426;;
Poisat;2127;890.462;0.41864692054537;;
Proveysieux;513;0;0;;
Quaix-en-Chartreuse;897;0;0;;
Saint-Barthélemy-de-Séchilienne;430;0;0;;
Saint-Georges-de-Commiers;2537;0;0;;
Saint-Martin-d'Hères;37935;25141.644;0.66275587188612;;
Saint-Martin-le-Vinoux;5880;12445.694;2.1166146258503;;
Saint-Paul-de-Varces;2247;0;0;;
Saint-Pierre-de-Mésage;781;0;0;;
Saint-Égrève;15944;32007.96;2.0075238334169;;
Sarcenas;214;0;0;;
Sassenage;11062;22391.236;2.0241580184415;;
Seyssinet-Pariset;11891;16716.686;1.4058267597343;;
Seyssins;7827;17957.106;2.2942514373323;;
Séchilienne;1063;0;0;;
Varces-Allières-et-Risset;8301;1689.406;0.20351837128057;;
Vaulnaveys-le-Bas;1321;0;0;;
Vaulnaveys-le-Haut;3965;0;0;;
Venon;732;0;0;;
Veurey-Voroize;1433;10044.83;7.0096510816469;;
Vif;8547;6400.976;0.74891494091494;;
Vizille;7246;0;0;;
Échirolles;36932;12708.804;0.3441136142099;;

Voiries cyclables dédiées : Strasbourg kilométrage par habitant

Numéro Explications Requête Overpass Résultat Fév 2024
3.6.1 Voiries cyclables dédiées dans Strasbourg Métropole : kilomètrage par habitant par commune
try it yourself in overpass-turbo
[out:csv(name, population, length, par_habitant, "::count", term; false; ";")];
area[name="Strasbourg"]->.searchArea;
relation[admin_level=8][boundary=administrative](area.searchArea);
map_to_area;
// Pour chaque commune
for (t["name"])
(
  (._;)->.commune;
  (
way[highway=cycleway][lanes=2][segregated=yes](area.commune);
way[highway=cycleway][lanes=2][!segregated](area.commune);
way[highway=cycleway][lanes=1][segregated=yes](area.commune);
way[highway=cycleway][lanes=1][!segregated](area.commune);
way[highway=cycleway][!lanes][segregated=yes](area.commune);
way[highway=cycleway][!lanes][!segregated](area.commune);
way[highway=cycleway][oneway=no][motor_vehicle=no](area.commune);
way[highway=path][bicycle=designated][segregated=yes](area.commune);
way[highway=path][bicycle=designated][!segregated](area.commune);
way[highway=path][bicycle=yes][segregated=yes](area.commune);
way[highway=path][bicycle=yes][!segregated](area.commune);
  );
  make count name = commune.set(t["name"]), population=commune.set(t["population"]), par_habitant=(sum(length()/commune.set(t["population"]))), length=sum(length()), term="<br>";
   out;
);
out geom;

Achenheim;2338;1373.494;0.58746535500427;;
Bischheim;17353;9679.385;0.55779317697228;;
Blaesheim;1301;1465.199;1.1262098385857;;
Breuschwickersheim;1313;728.09;0.55452399086063;;
Eckbolsheim;7049;4048.659;0.5743593417506;;
Eckwersheim;1344;5205.297;3.8729888392857;;
Entzheim;2453;5937.567;2.4205328169588;;
Eschau;5424;2203.876;0.40631932153393;;
Fegersheim;5734;984.082;0.17162225322637;;
Geispolsheim;7561;5843.965;0.77290900674514;;
Hangenbieten;1647;21.102;0.012812386156648;;
Holtzheim;3703;5207.116;1.4061884958142;;
Hœnheim;11304;8222.482;0.72739578910121;;
Illkirch-Graffenstaden;26698;30283.275;1.1342900217245;;
Kolbsheim;973;0;0;;
La Wantzenau;5881;5929.009;1.0081634075837;;
Lampertheim;3405;6303.181;1.8511544787078;;
Lingolsheim;19439;7216.34;0.37123000154329;;
Lipsheim;2664;1032.6;0.38761261261261;;
Mittelhausbergen;2086;2578.311;1.2360071907958;;
Mundolsheim;4749;9681.594;2.0386595072647;;
Niederhausbergen;1663;4900.094;2.9465387853277;;
Oberhausbergen;5363;5697.383;1.0623499906769;;
Oberschaeffolsheim;2279;1247.58;0.54742430890742;;
Osthoffen;816;0;0;;
Ostwald;12723;7176.331;0.56404393617857;;
Plobsheim;4465;1260.512;0.28230951847705;;
Reichstett;4397;8551.33;1.944810097794;;
Schiltigheim;33780;19991.543;0.59181595618709;;
Souffelweyersheim;7994;5833.154;0.72969151863898;;
Strasbourg;287228;183993.148;0.64058221343323;;
Vendenheim;5971;9669.905;1.6194783118406;;
Wolfisheim;4174;3989.872;0.95588691902251;;

Voiries cyclables dédiées : Toulouse kilométrage par habitant

Numéro Explications Requête Overpass Résultat Fév 2024


3.7.1 Voiries cyclables dédiées dans Toulouse Métropole : kilomètrage par habitant par commune
try it yourself in overpass-turbo
[out:csv(name, population, length, par_habitant, "::count", term; false; ";")];
area[name="Toulouse Métropole"]->.searchArea;
relation[admin_level=8][boundary=administrative](area.searchArea);
map_to_area;
// Pour chaque commune
for (t["name"])
(
  (._;)->.commune;
  (
way[highway=cycleway][lanes=2][segregated=yes](area.commune);
way[highway=cycleway][lanes=2][!segregated](area.commune);
way[highway=cycleway][lanes=1][segregated=yes](area.commune);
way[highway=cycleway][lanes=1][!segregated](area.commune);
way[highway=cycleway][!lanes][segregated=yes](area.commune);
way[highway=cycleway][!lanes][!segregated](area.commune);
way[highway=cycleway][oneway=no][motor_vehicle=no](area.commune);
way[highway=path][bicycle=designated][segregated=yes](area.commune);
way[highway=path][bicycle=designated][!segregated](area.commune);
way[highway=path][bicycle=yes][segregated=yes](area.commune);
way[highway=path][bicycle=yes][!segregated](area.commune);
  );
  make count name = commune.set(t["name"]), population=commune.set(t["population"]), par_habitant=(sum(length()/commune.set(t["population"]))), length=sum(length()), term="<br>";
   out;
);
out geom;

Aigrefeuille;1272;0;0;;
Aucamville;8968;6204.683;0.69186920160571;;
Aussonne;7209;1291.513;0.17915286447496;;
Balma;16625;13920.27;0.83730947368421;;
Beaupuy;1340;16.437;0.012266417910448;;
Beauzelle;6973;5739.331;0.82307916248387;;
Blagnac;25525;24105.149;0.94437410381978;;
Brax;2862;754.298;0.26355625436758;;
Bruguières;5947;813.734;0.13683100723054;;
Castelginest;10682;8050.936;0.75369181801161;;
Colomiers;39968;40515.109;1.0136886759408;;
Cornebarrieu;7372;12619.839;1.7118609603907;;
Cugnaux;19344;13182.528;0.68147890818859;;
Drémil-Lafage;2649;0;0;;
Fenouillet;5307;7482.882;1.4100022611645;;
Flourens;2056;69.372;0.033741245136187;;
Fonbeauzard;3011;911.047;0.30257289936898;;
Gagnac-sur-Garonne;3130;1261.803;0.40313194888179;;
Gratentour;4387;3129.979;0.71346683382722;;
L'Union;11798;9315.867;0.78961408713341;;
Launaguet;9050;5037.026;0.55657745856354;;
Lespinasse;2828;2450.404;0.86647949080622;;
Mondonville;5166;6532.046;1.2644301200155;;
Mondouzil;224;0;0;;
Mons;1758;1033.051;0.58762855517633;;
Montrabé;4111;934.55;0.22732911700316;;
Pibrac;8578;14113.277;1.6452875961763;;
Pin-Balma;938;59.849;0.063804904051173;;
Quint-Fonsegrives;5896;8188.692;1.388855495251;;
Saint-Alban;6217;5497.569;0.88428003860382;;
Saint-Jean;11017;3084.872;0.28001016610693;;
Saint-Jory;6383;539.969;0.084594861350462;;
Saint-Orens-de-Gameville;12696;15770.862;1.2421913988658;;
Seilh;3284;2406.407;0.73276705237515;;
Toulouse;493465;159127.571;0.32246982258114;;
Tournefeuille;28117;28004.996;0.99601650247181;;
Villeneuve-Tolosane;10050;6697.708;0.66643860696518;;

Voiries cyclables dédiées : Le Havre/Grenoble/Strasbourg/Toulouse kilométrage par habitant km2

L'idée étant d'arriver à refaire le calcul fait par GeoVélo


Numéro Explications Requête Overpass Résultat Fév 2024
4.1.1 Voiries cyclables dédiées Le Havre/Grenoble/Strasbourg/Toulouse
try it yourself in overpass-turbo
[out:csv(name, population, length, par_habitant, "::count", term; false; ";")];
(
area[name="Le Havre"][admin_level=8]->.searchArea;
area[name="Grenoble"][admin_level=8]->.searchArea;
area[name="Strasbourg"][admin_level=8]->.searchArea;
area[name="Toulouse"][admin_level=8]->.searchArea;
);

// Pour chaque commune
for (t["name"])
(
  (._;)->.commune;
  (
way[highway=cycleway][lanes=2][segregated=yes](area.commune);
way[highway=cycleway][lanes=2][!segregated](area.commune);
way[highway=cycleway][lanes=1][segregated=yes](area.commune);
way[highway=cycleway][lanes=1][!segregated](area.commune);
way[highway=cycleway][!lanes][segregated=yes](area.commune);
way[highway=cycleway][!lanes][!segregated](area.commune);
way[highway=cycleway][oneway=no][motor_vehicle=no](area.commune);
way[highway=path][bicycle=designated][segregated=yes](area.commune);
way[highway=path][bicycle=designated][!segregated](area.commune);
way[highway=path][bicycle=yes][segregated=yes](area.commune);
way[highway=path][bicycle=yes][!segregated](area.commune);
  );
  make count name = commune.set(t["name"]), population=commune.set(t["population"]), par_habitant=(sum(length()/commune.set(t["population"]))), length=sum(length()), term="<br>";
   out;
);
out geom;

Grenoble;158198;47916.629;0.30289023249346;;
Le Havre;168290;73820.435;0.43865015746628;;
Strasbourg;287228;183993.148;0.64058221343323;;
Toulouse;493465;159127.571;0.32246982258114;;

4.1.1 Voiries cyclables dédiées Le Havre/Grenoble/Strasbourg/Toulouse
try it yourself in overpass-turbo
[out:csv(name, population, length, par_habitant, "::count", term; false; ";")];
(
area[name="Le Havre"][admin_level=8]->.searchArea;
area[name="Grenoble"][admin_level=8]->.searchArea;
area[name="Strasbourg"][admin_level=8]->.searchArea;
area[name="Toulouse"][admin_level=8]->.searchArea;
);

// Pour chaque commune
for (t["name"])
(
  (._;)->.commune;
  (
way[highway=cycleway][lanes=2][segregated=yes](area.commune);
way[highway=cycleway][lanes=2][!segregated](area.commune);
way[highway=cycleway][lanes=1][segregated=yes](area.commune);
way[highway=cycleway][lanes=1][!segregated](area.commune);
way[highway=cycleway][!lanes][segregated=yes](area.commune);
way[highway=cycleway][!lanes][!segregated](area.commune);
way[highway=cycleway][oneway=no][motor_vehicle=no](area.commune);
way[highway=path][bicycle=designated][segregated=yes](area.commune);
way[highway=path][bicycle=designated][!segregated](area.commune);
way[highway=path][bicycle=yes][segregated=yes](area.commune);
way[highway=path][bicycle=yes][!segregated](area.commune);
  );
  make count name = commune.set(t["name"]), population=commune.set(t["population"]), par_habitant=(sum(length()/commune.set(t["population"]))), length=sum(length()), term="<br>";
   out;
);
out geom;

Grenoble;158198;47916.629;0.30289023249346;;
Le Havre;168290;73820.435;0.43865015746628;;
Strasbourg;287228;183993.148;0.64058221343323;;
Toulouse;493465;159127.571;0.32246982258114;;

4.2 Voiries cyclables dédiées dans Le Havre/Grenoble/Strasbourg/Toulouse par_habitant et par km2
try it yourself in overpass-turbo
[out:csv(name, population, length, par_habitant, par_km2LH, par_km2G, par_km2S, par_km2T, "::count", term; false; ";")];
(
area[name="Le Havre"][admin_level=8]->.searchArea;
area[name="Grenoble"][admin_level=8]->.searchArea;
area[name="Strasbourg"][admin_level=8]->.searchArea;
area[name="Toulouse"][admin_level=8]->.searchArea;
);

// Pour chaque commune
for (t["name"])
(
  (._;)->.commune;
  (
way[highway=cycleway][lanes=2][segregated=yes](area.commune);
way[highway=cycleway][lanes=2][!segregated](area.commune);
way[highway=cycleway][lanes=1][segregated=yes](area.commune);
way[highway=cycleway][lanes=1][!segregated](area.commune);
way[highway=cycleway][!lanes][segregated=yes](area.commune);
way[highway=cycleway][!lanes][!segregated](area.commune);
way[highway=cycleway][oneway=no][motor_vehicle=no](area.commune);
way[highway=path][bicycle=designated][segregated=yes](area.commune);
way[highway=path][bicycle=designated][!segregated](area.commune);
way[highway=path][bicycle=yes][segregated=yes](area.commune);
way[highway=path][bicycle=yes][!segregated](area.commune);
  );
make count name = commune.set(t["name"]), population=commune.set(t["population"]), par_habitant=(sum(length()/commune.set(t["population"]))), par_km2LH=(sum(length()/54.75)), par_km2G=(sum(length()/18.13)), par_km2T=(sum(length()/118.3)), par_km2S=(sum(length()/78.26)), term="<br>";
   out;
);
out geom;

Grenoble;158198;;0.30289023249346;875.18957077626;2642.9469939327;612.274840276;405.0433558749;;
Le Havre;168290;;0.43865015746628;1348.3184474886;4071.7283507998;943.27159468439;624.01043956044;;
Strasbourg;287228;;0.64058221343323;3360.6054429224;10148.546497518;2351.049680552;1555.3097886729;;
Toulouse;493465;;0.32246982258114;2906.439652968;8777.0309431881;2033.3193329926;1345.1189433643;;

4.2 Voiries cyclables dédiées dans Le Havre/Grenoble/Strasbourg/Toulouse par_habitant et par km2
try it yourself in overpass-turbo
[out:csv(name, population, length, par_habitant, par_km2LH, par_km2G, par_km2S, par_km2T, "::count", term; false; ";")];
(
area[name="Le Havre"][admin_level=8]->.searchArea;
area[name="Grenoble"][admin_level=8]->.searchArea;
area[name="Strasbourg"][admin_level=8]->.searchArea;
area[name="Toulouse"][admin_level=8]->.searchArea;
);

// Pour chaque commune
for (t["name"])
(
  (._;)->.commune;
  (
way[highway=cycleway][lanes=2][segregated=yes](area.commune);
way[highway=cycleway][lanes=2][!segregated](area.commune);
way[highway=cycleway][lanes=1][segregated=yes](area.commune);
way[highway=cycleway][lanes=1][!segregated](area.commune);
way[highway=cycleway][!lanes][segregated=yes](area.commune);
way[highway=cycleway][!lanes][!segregated](area.commune);
way[highway=cycleway][oneway=no][motor_vehicle=no](area.commune);
way[highway=path][bicycle=designated][segregated=yes](area.commune);
way[highway=path][bicycle=designated][!segregated](area.commune);
way[highway=path][bicycle=yes][segregated=yes](area.commune);
way[highway=path][bicycle=yes][!segregated](area.commune);
  );
make count name = commune.set(t["name"]), population=commune.set(t["population"]), par_habitant=(sum(length()/commune.set(t["population"]))), par_km2LH=(sum(length()/54.75)), par_km2G=(sum(length()/18.13)), par_km2T=(sum(length()/118.3)), par_km2S=(sum(length()/78.26)), term="<br>";
   out;
);
out geom;

Grenoble;158198;;0.30289023249346;875.18957077626;2642.9469939327;612.274840276;405.0433558749;;
Le Havre;168290;;0.43865015746628;1348.3184474886;4071.7283507998;943.27159468439;624.01043956044;;
Strasbourg;287228;;0.64058221343323;3360.6054429224;10148.546497518;2351.049680552;1555.3097886729;;
Toulouse;493465;;0.32246982258114;2906.439652968;8777.0309431881;2033.3193329926;1345.1189433643;;
}}

}}