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 Halmoze from Turquestein-Blancrupt

1552.6 m · net rise 74.4 m · total ascent 86.7 m · overall 4.8% · evidence quality B (good) · Saint-Quirin · Moselle ·

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

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

≈ Overhead cover (tree canopy or structures) spans 36% 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)≈27%870–872 munder overhead cover terrain reads 55.8% at 595–597 m across a structure — excluded
3 m (diagnostic)≈22%849–852 munder overhead cover terrain reads 46.7% at 595–598 m across a structure — excluded
5 m≈16%767–772 munder overhead cover terrain reads 43.8% at 592–597 m across a structure — excluded
10 m≈12%766–776 munder overhead cover terrain reads 35.3% at 587–597 m across a structure — excluded
20 m≈10.8%752–772 munder overhead cover terrain reads 24.3% at 585–605 m across a structure — excluded
25 m≈10.2%752–777 munder overhead cover terrain reads 19.6% at 586–611 m across a structure and terrain that holds no road surface (dense canopy, no bench) — excluded
50 m≈8.6%733–783 munder overhead cover terrain reads 11.0% at 586–636 m across a structure — excluded
100 m≈8.2%685–785 munder overhead cover terrain reads 8.9% at 752–852 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.

Access: Listed 2026-09-26 (inventory hunt wave 1): road audit — way 216668046: motor_vehicle=no — a col of the pass list: a ban on cars neither refuses it nor sends it to review (Peter 2026-09-17); barrier lift_gate (no access tag) 0.0 m off route. 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)

Col de Halmoze from Turquestein-Blancrupt 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 Halmoze from Turquestein-Blancrupt elevation profile
Col de Halmoze from Turquestein-Blancrupt 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
TilesE1000-N6837, E1000-N6838, E1001-N6837, E1001-N6838
Road centrelineOpenStreetMap (local PBF extract)
Quality statusevidence quality B; caveated windows: canopy or structure, no bench excluded, structure excluded, structure excluded min, suppression unstable, texture excluded
AnalysisOCL 0.1.0, analysis 0.1.0, run fr-ne8, calculated 2026-09-26

Provenance

{
  "analysis_version": "0.1.0",
  "run_manifest": {
    "manifest_version": "1",
    "code_git_sha": "16bcc1553fe58b280e0c4a66a3ab0980530490a6",
    "code_git_dirty": "false",
    "analysis_version": "0.1.0",
    "analysis_config_digest": "sha256:8c94015b54267da4",
    "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-ne8",
    "road_pbf": "block-batch-fr-ne8.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:18f786cf9fa98070"
  },
  "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_E1000-N6837_0m5@22LHDVosgesRE-2025-02-17.tif",
    "data/cache/fr/ign-lidarhd_dtm_E1000-N6838_0m5@22LHDVosgesRE-2025-02-17.tif",
    "data/cache/fr/ign-lidarhd_dtm_E1001-N6837_0m5@22LHDVosgesRE-2025-02-17.tif",
    "data/cache/fr/ign-lidarhd_dtm_E1001-N6838_0m5@22LHDVosgesRE-2025-02-17.tif"
  ],
  "calculated_at": "2026-09-26T18:08:22+00:00",
  "road_source": "OpenStreetMap (local PBF extract)",
  "road_attribution": "\u00a9 OpenStreetMap contributors, ODbL",
  "osm_pbf_path": "data/cache/pbf/block-batch-fr-ne8.osm.pbf",
  "osm_snapshot": "",
  "run_id": "fr-ne8",
  "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": [
    "E1000-N6837",
    "E1000-N6838",
    "E1001-N6837",
    "E1001-N6838"
  ],
  "elevation_blocks": [
    "22LHDVosgesRE@2025-02-17"
  ],
  "ign_dalles": [
    "LHD_FXX_1000_6838_MNT_O_0M50_LAMB93_IGN69",
    "LHD_FXX_1000_6839_MNT_O_0M50_LAMB93_IGN69",
    "LHD_FXX_1001_6838_MNT_O_0M50_LAMB93_IGN69",
    "LHD_FXX_1001_6839_MNT_O_0M50_LAMB93_IGN69"
  ],
  "ign_missions": [
    "22LHDVosgesRE"
  ],
  "ign_editions": [
    "2025-02-17"
  ],
  "ign_dsm_edition": {
    "LHD_FXX_1000_6838_MNT_O_0M50_LAMB93_IGN69": "2025-02-17",
    "LHD_FXX_1000_6839_MNT_O_0M50_LAMB93_IGN69": "2025-02-17",
    "LHD_FXX_1001_6838_MNT_O_0M50_LAMB93_IGN69": "2025-02-17",
    "LHD_FXX_1001_6839_MNT_O_0M50_LAMB93_IGN69": "2025-02-17"
  },
  "climb_origin": "named-pass",
  "access_overrides": [
    "motor_vehicle=no"
  ],
  "seam_filled_samples": {
    "count": 0,
    "distances_m": []
  },
  "seam_filled_in_maximum": false,
  "structure_own_ways": 3,
  "suppression_unstable": [
    10.0
  ],
  "carriageway": {
    "stations": 69,
    "stations_resolved": 69,
    "width_median_m": 4.0,
    "width_p10_m": 1.25,
    "width_min_m": 1.0,
    "width_max_m": 12.0,
    "bounded_share": 0.319,
    "unbounded_share": 0.681,
    "confidence_median": 0.0,
    "width_median_bounded_m": 2.38,
    "window_m": [
      752.0,
      777.0
    ],
    "width_at_max25_m": 1.25,
    "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": 69,
      "stations_resolved": 69,
      "width_median_m": 2.5,
      "width_p10_m": 0.5,
      "width_min_m": 0.5,
      "width_max_m": 12.0,
      "bounded_share": 0.928,
      "unbounded_share": 0.072,
      "confidence_median": 1.0,
      "width_median_bounded_m": 2.0,
      "window_m": [
        752.0,
        777.0
      ],
      "width_at_max25_m": 1.0,
      "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"
}