LIVING SURVEY — measurements are reviewed continuously as new data and local evidence arrive. Seen a sign, a gate, or a better name? Submit an update no account needed · photos welcome via GitHub

← all climbs

Rue de la Mairie

623.4 m · net rise 112.0 m · total ascent 118.0 m · overall 18.0% · evidence quality B (good) · Binos · Haute-Garonne ·

Shape: sustained — 31% of the climbing sits in a quarter of the distance; longest continuous stretch at 10%+ is 225 m.

Found purely from mapping and LiDAR data, and not yet matched against books, race records or lists — it may be well known to locals under a name we've never heard. It was cross-checked against IGN’s BD TOPO® road network, OpenStreetMap and the classified LiDAR HD point cloud, but a discovery can still be an artifact of the terrain model or the map. Treat it as a well-evidenced hypothesis until someone has ridden it. If you know this road, tell us what you found — photographs, corrections and local knowledge all welcome; the map links below let you scout it first.

≈ Overhead cover (tree canopy or structures) spans 37% of this route — detected by comparing the surface model (DSM, treetops and rooftops) against the terrain model (DTM, bare ground). Under cover the bare-ground model is built from fewer laser returns, so metre-scale readings can wobble; maxima whose window sits in a covered zone are marked ≈ below — less certain — the flag does not say whether the true value is higher or lower. Longer windows average over more clean ground and are steadier.

Gradient ladder what do windows mean?

WindowMaximumLocated at
2 m (diagnostic)≈45%475–477 munder overhead cover terrain reads 66.3% at 397–399 m across a structure and terrain that holds no road surface (dense canopy, no bench) — excluded
3 m (diagnostic)≈40%567–570 munder overhead cover terrain reads 58.0% at 331–334 m across a structure and terrain that holds no road surface (dense canopy, no bench) — excluded
5 m≈32%568–573 munder overhead cover terrain reads 44.8% at 482–487 m across a structure and terrain that holds no road surface (dense canopy, no bench) — excluded
10 m≈28%497–507 munder overhead cover terrain reads 36.5% at 483–493 m across a structure and terrain that holds no road surface (dense canopy, no bench) — excluded
20 m≈25.8%163–183 munder overhead cover terrain reads 31.1% at 474–494 m across a structure and terrain that holds no road surface (dense canopy, no bench) — excluded
25 m≈25.1%163–188 munder overhead cover terrain reads 29.3% at 243–268 m across terrain that holds no road surface (dense canopy, no bench) — excluded
50 m≈23.8%499–549 munder overhead cover terrain reads 27.9% at 219–269 m across a structure and terrain that holds no road surface (dense canopy, no bench) — excluded
100 m≈21.2%497–597 munder overhead cover terrain reads 24.1% at 168–268 m across a structure — excluded

may start earliermay continue beyond end Extent detection suggests reviewing where this climb starts/ends.

Map

Check this route yourself: Google Maps route via their router · Street View at the base where coverage exists · geojson.io our exact measured line · OpenTopoMap

This climb's data: OCL JSON — the full gradient ladder, quality flags and provenance in the OpenClimb Ladder format.

Surface: paved (11% unpaved), according to BD TOPO®, IGN's national topographic database: paved for the first 549 m; unpaved from 549 m to the top. The steepest 25 m lies on the paved part.

Access: Listed 2026-09-20 (inventory hunt wave 1): road audit — way 957431134: unnamed service way; way 957431134: service way, surface untagged. Never silently ranked or dropped (Peter, 2026-08-27).

Measured, not vetted. This page records what the laser record shows about the road's shape — nothing more. Nobody has necessarily ridden or inspected this road for the survey, and a page here is not a recommendation and no guarantee that the road is open, surfaced, rideable or safe. Gates, private sections, missing rights of way and hazards do not show up in elevation data. Check access and conditions on the ground and make your own judgment.

Ridden it, or know better? Submit data for this climb no account needed ·

Route colour = gradient over a 25 m window: <10% 10–20% 20–25% ≥25%

  © OpenStreetMap contributors · topo tiles © OpenTopoMap (CC-BY-SA) · vector tiles OpenFreeMap · aerial imagery © IGN, BD ORTHO® (Licence Ouverte Etalab 2.0)

Rue de la Mairie LiDAR hillshade map with contours

Profile

The map, profile and gradient chart share one position — move your pointer over them and the marker follows. Colors are the gradient bands; the shaded span is the steepest 25 m. Any 25 m figure is good to about a point either way (why).

Rue de la Mairie elevation profile
Rue de la Mairie rolling gradient profile
 

Measurement card

ElevationIGN LiDAR HD MNT 0.5 m — LiDAR HD — MNT (sol) et MNS (surface), 0,50 m (Institut national de l'information géographique et forestière), RGF93 / Lambert-93 EPSG:2154, altitudes IGN69
Resolution / CRS0.5 m grid, EPSG:2154; sampled every 1.0 m, bilinear interpolation
TilesE505-N6202, E505-N6203
Road centrelineOpenStreetMap (local PBF extract)
Quality statusevidence quality B; caveated windows: canopy or structure, no bench excluded min, structure excluded, structure excluded min, texture excluded
AnalysisOCL 0.1.0, analysis 0.1.0, run fr-pyr2, calculated 2026-09-20

Provenance

{
  "analysis_version": "0.1.0",
  "run_manifest": {
    "manifest_version": "1",
    "code_git_sha": "06fa4c370391597f015858e97dcf01ca2f5b3640",
    "code_git_dirty": "false",
    "analysis_version": "0.1.0",
    "analysis_config_digest": "sha256:0048c2bbb24ab95e",
    "python": "3.14.4",
    "numpy": "2.5.3",
    "rasterio": "1.5.1",
    "pyproj": "3.8.0",
    "laspy": "2.7.0",
    "shapely": "2.1.2",
    "pyosmium": "4.3.1",
    "libosmium": "2.23.1",
    "gdal": "3.12.4",
    "proj": "9.8.1",
    "run_id": "fr-pyr2",
    "road_pbf": "block-batch-fr-pyr2.osm.pbf",
    "region_key": "france",
    "crs": "EPSG:2154",
    "elevation_provider_key": "ign-lidarhd",
    "tile_index": "wms-grid",
    "authority": "bdtopo",
    "registry_pbf": "france-vosges-2026-09-16.osm.pbf",
    "tile_index_snapshot": "sha256:c54ac68b3f57b41b"
  },
  "sample_interval_m": 1.0,
  "interpolation": "bilinear",
  "smoothing": "none",
  "gradient_windows_m": [
    5.0,
    10.0,
    20.0,
    25.0,
    50.0,
    100.0
  ],
  "diagnostic_windows_m": [
    2.0,
    3.0
  ],
  "elevation_crs": "EPSG:2154",
  "elevation_resolution_m": 0.5,
  "elevation_tiles": [
    "data/cache/fr/ign-lidarhd_dtm_E505-N6202_0m5@21LHD1HR1-2025-04-18.tif",
    "data/cache/fr/ign-lidarhd_dtm_E505-N6203_0m5@21LHD1HR1-2025-04-18.tif"
  ],
  "calculated_at": "2026-09-20T06:03:24+00:00",
  "road_source": "OpenStreetMap (local PBF extract)",
  "road_attribution": "\u00a9 OpenStreetMap contributors, ODbL",
  "osm_pbf_path": "data/cache/pbf/block-batch-fr-pyr2.osm.pbf",
  "osm_snapshot": "",
  "run_id": "fr-pyr2",
  "elevation_provider": "IGN LiDAR HD MNT 0.5 m",
  "elevation_licence": "Licence Ouverte / Open Licence 2.0 (Etalab) \u2014 \u00a9 IGN, LiDAR HD (MNT/MNS), data.geopf.fr; reproduction autoris\u00e9e avec mention de la source et de la date",
  "elevation_dataset": "LiDAR HD \u2014 MNT (sol) et MNS (surface), 0,50 m (Institut national de l'information g\u00e9ographique et foresti\u00e8re), RGF93 / Lambert-93 EPSG:2154, altitudes IGN69",
  "elevation_vertical_datum": "IGN69",
  "elevation_tile_ids": [
    "E505-N6202",
    "E505-N6203"
  ],
  "elevation_blocks": [
    "21LHD1HR1@2025-04-18"
  ],
  "ign_dalles": [
    "LHD_FXX_0505_6203_MNT_O_0M50_LAMB93_IGN69",
    "LHD_FXX_0505_6204_MNT_O_0M50_LAMB93_IGN69"
  ],
  "ign_missions": [
    "21LHD1HR1"
  ],
  "ign_editions": [
    "2025-04-18"
  ],
  "ign_dsm_edition": {
    "LHD_FXX_0505_6203_MNT_O_0M50_LAMB93_IGN69": "2025-04-18",
    "LHD_FXX_0505_6204_MNT_O_0M50_LAMB93_IGN69": "2025-04-18"
  },
  "climb_origin": "discovered",
  "structure_own_ways": 5,
  "carriageway": {
    "stations": 31,
    "stations_resolved": 31,
    "width_median_m": 3.25,
    "width_p10_m": 1.25,
    "width_min_m": 1.0,
    "width_max_m": 7.75,
    "bounded_share": 0.323,
    "unbounded_share": 0.677,
    "confidence_median": 0.0,
    "width_median_bounded_m": 2.25,
    "window_m": [
      163.0,
      188.0
    ],
    "width_at_max25_m": 4.75,
    "window_stations": 7,
    "single_track": false,
    "single_track_rule": "PROVISIONAL (2026-09-15): width_p10_m <= 3.0 m with bounded_share >= 0.6; recorded, not a rule",
    "status": "ok",
    "source": "dtm",
    "station_m": 25.0,
    "window_station_m": 5.0,
    "halfwidth_m": 6.0,
    "step_m": 0.25,
    "level_tol_m": 0.12,
    "break_min_m": 0.3,
    "stations_failed": 0,
    "hedge_to_hedge": {
      "stations": 31,
      "stations_resolved": 31,
      "width_median_m": 3.75,
      "width_p10_m": 1.0,
      "width_min_m": 0.5,
      "width_max_m": 9.75,
      "bounded_share": 0.742,
      "unbounded_share": 0.258,
      "confidence_median": 1.0,
      "width_median_bounded_m": 2.5,
      "window_m": [
        163.0,
        188.0
      ],
      "width_at_max25_m": 8.5,
      "window_stations": 7,
      "status": "ok",
      "source": "dsm",
      "station_m": 25.0,
      "window_station_m": 5.0,
      "halfwidth_m": 6.0,
      "step_m": 0.25,
      "level_tol_m": 0.5,
      "break_min_m": 0.3,
      "stations_failed": 0
    }
  },
  "license": "ODbL-1.0",
  "license_url": "https://howsteep.org/licensing"
}