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

Col de Puymorens from L'Hospitalet-près-l'Andorre

6312.9 m · net rise 304.6 m · total ascent 329.0 m · overall 4.8% · evidence quality B (good) · L'Hospitalet-près-l'Andorre · Ariège ·

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

Not yet matched against documented climbs — the measurement stands on its own.

Gradient ladder what do windows mean?

WindowMaximumLocated at
2 m (diagnostic)≈8%1071–1073 munder overhead cover terrain reads 440.8% at 629–631 m across a structure — excluded
3 m (diagnostic)≈8%4747–4750 munder overhead cover terrain reads 343.5% at 629–632 m across a structure — excluded
5 m≈8%4747–4752 munder overhead cover terrain reads 223.5% at 628–633 m across a structure — excluded
10 m≈7%4745–4755 munder overhead cover terrain reads 114.9% at 628–638 m across a structure — excluded
20 m≈6.9%4735–4755 munder overhead cover terrain reads 60.9% at 628–648 m across a structure — excluded
25 m≈6.9%4730–4755 munder overhead cover terrain reads 49.9% at 628–653 m across a structure — excluded
50 m≈6.6%4959–5009 munder overhead cover terrain reads 27.9% at 628–678 m across a structure — excluded
100 m≈6.3%4944–5044 munder overhead cover terrain reads 16.4% at 628–728 m across a structure — excluded

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 throughout, according to BD TOPO®, IGN's national topographic database.

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)

Col de Puymorens from L'Hospitalet-près-l'Andorre 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).

Col de Puymorens from L'Hospitalet-près-l'Andorre elevation profile
Col de Puymorens from L'Hospitalet-près-l'Andorre 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
TilesE598-N6163, E599-N6163, E599-N6164, E600-N6163, E600-N6164, E601-N6162, E601-N6163, E601-N6164, E602-N6162, E602-N6163
Road centrelineOpenStreetMap (local PBF extract)
Quality statusevidence quality B; caveated windows: structure excluded, structure excluded min
AnalysisOCL 0.1.0, analysis 0.1.0, run fr-pyr3, calculated 2026-09-20

Provenance

{
  "analysis_version": "0.1.0",
  "run_manifest": {
    "manifest_version": "1",
    "code_git_sha": "937d2a005af5491e462567d7f33ab563f033918b",
    "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-pyr3",
    "road_pbf": "block-batch-fr-pyr3.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:79dd257545ed11dc"
  },
  "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_E598-N6163_0m5@21LHD3JS-2025-03-26.tif",
    "data/cache/fr/ign-lidarhd_dtm_E599-N6163_0m5@21LHD3JS-2025-03-26.tif",
    "data/cache/fr/ign-lidarhd_dtm_E599-N6164_0m5@21LHD3JS-2025-03-26.tif",
    "data/cache/fr/ign-lidarhd_dtm_E600-N6163_0m5@21LHD3JS-2025-03-26.tif",
    "data/cache/fr/ign-lidarhd_dtm_E600-N6164_0m5@21LHD3JS-2025-03-26.tif",
    "data/cache/fr/ign-lidarhd_dtm_E601-N6162_0m5@21LHD3JS-2025-03-26.tif",
    "data/cache/fr/ign-lidarhd_dtm_E601-N6163_0m5@21LHD3JS-2025-03-26.tif",
    "data/cache/fr/ign-lidarhd_dtm_E601-N6164_0m5@21LHD3JS-2025-03-26.tif",
    "data/cache/fr/ign-lidarhd_dtm_E602-N6162_0m5@21LHD3JS-2025-03-26.tif",
    "data/cache/fr/ign-lidarhd_dtm_E602-N6163_0m5@21LHD3JS-2025-03-26.tif"
  ],
  "calculated_at": "2026-09-20T08:44:02+00:00",
  "road_source": "OpenStreetMap (local PBF extract)",
  "road_attribution": "\u00a9 OpenStreetMap contributors, ODbL",
  "osm_pbf_path": "data/cache/pbf/block-batch-fr-pyr3.osm.pbf",
  "osm_snapshot": "",
  "run_id": "fr-pyr3",
  "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": [
    "E598-N6163",
    "E599-N6163",
    "E599-N6164",
    "E600-N6163",
    "E600-N6164",
    "E601-N6162",
    "E601-N6163",
    "E601-N6164",
    "E602-N6162",
    "E602-N6163"
  ],
  "elevation_blocks": [
    "21LHD3JS@2025-03-26"
  ],
  "ign_dalles": [
    "LHD_FXX_0598_6164_MNT_O_0M50_LAMB93_IGN69",
    "LHD_FXX_0599_6164_MNT_O_0M50_LAMB93_IGN69",
    "LHD_FXX_0599_6165_MNT_O_0M50_LAMB93_IGN69",
    "LHD_FXX_0600_6164_MNT_O_0M50_LAMB93_IGN69",
    "LHD_FXX_0600_6165_MNT_O_0M50_LAMB93_IGN69",
    "LHD_FXX_0601_6163_MNT_O_0M50_LAMB93_IGN69",
    "LHD_FXX_0601_6164_MNT_O_0M50_LAMB93_IGN69",
    "LHD_FXX_0601_6165_MNT_O_0M50_LAMB93_IGN69",
    "LHD_FXX_0602_6163_MNT_O_0M50_LAMB93_IGN69",
    "LHD_FXX_0602_6164_MNT_O_0M50_LAMB93_IGN69"
  ],
  "ign_missions": [
    "21LHD3JS"
  ],
  "ign_editions": [
    "2025-03-26"
  ],
  "ign_dsm_edition": {
    "LHD_FXX_0598_6164_MNT_O_0M50_LAMB93_IGN69": "2025-03-26",
    "LHD_FXX_0599_6164_MNT_O_0M50_LAMB93_IGN69": "2025-03-26",
    "LHD_FXX_0599_6165_MNT_O_0M50_LAMB93_IGN69": "2025-03-26",
    "LHD_FXX_0600_6164_MNT_O_0M50_LAMB93_IGN69": "2025-03-26",
    "LHD_FXX_0600_6165_MNT_O_0M50_LAMB93_IGN69": "2025-03-26",
    "LHD_FXX_0601_6163_MNT_O_0M50_LAMB93_IGN69": "2025-03-26",
    "LHD_FXX_0601_6164_MNT_O_0M50_LAMB93_IGN69": "2025-03-26",
    "LHD_FXX_0601_6165_MNT_O_0M50_LAMB93_IGN69": "2025-03-26",
    "LHD_FXX_0602_6163_MNT_O_0M50_LAMB93_IGN69": "2025-03-26",
    "LHD_FXX_0602_6164_MNT_O_0M50_LAMB93_IGN69": "2025-03-26"
  },
  "climb_origin": "named-pass",
  "structure_own_ways": 11,
  "structure_mask_ranges_m": [
    [
      602.4,
      638.7
    ],
    [
      1927.7,
      1952.7
    ],
    [
      5563.7,
      5593.7
    ],
    [
      91.7,
      121.7
    ]
  ],
  "mask_basin_extension_m": 18.0,
  "carriageway": {
    "stations": 258,
    "stations_resolved": 258,
    "width_median_m": 10.0,
    "width_p10_m": 8.75,
    "width_min_m": 3.5,
    "width_max_m": 12.0,
    "bounded_share": 0.101,
    "unbounded_share": 0.899,
    "confidence_median": 0.0,
    "width_median_bounded_m": 9.25,
    "window_m": [
      4730.0,
      4755.0
    ],
    "width_at_max25_m": 9.88,
    "window_stations": 6,
    "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": 258,
      "stations_resolved": 258,
      "width_median_m": 12.0,
      "width_p10_m": 10.5,
      "width_min_m": 5.75,
      "width_max_m": 12.0,
      "bounded_share": 0.093,
      "unbounded_share": 0.907,
      "confidence_median": 0.0,
      "width_median_bounded_m": 10.25,
      "window_m": [
        4730.0,
        4755.0
      ],
      "width_at_max25_m": 12.0,
      "window_stations": 6,
      "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"
}