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

Trollstigen from Nora

17347.1 m · net rise 864.5 m · total ascent 977.3 m · overall 5.0% · evidence quality B (good) · Rauma · Møre og Romsdal

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

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

Gradient ladder what do windows mean?

WindowMaximumLocated at
2 m (diagnostic)≈22%7446–7448 munder overhead cover terrain reads 276.8% at 11761–11763 m across a structure — excluded
3 m (diagnostic)≈20%7445–7448 munder overhead cover terrain reads 271.6% at 11760–11763 m across a structure — excluded
5 m≈15%7443–7448 munder overhead cover terrain reads 241.6% at 11760–11765 m across a structure — excluded
10 m≈12%7438–7448 munder overhead cover terrain reads 178.0% at 11759–11769 m across a structure — excluded
20 m≈10.5%11918–11938 munder overhead cover terrain reads 128.5% at 11758–11778 m across a structure — excluded
25 m≈10.3%10573–10598 munder overhead cover terrain reads 104.6% at 11758–11783 m across a structure — excluded
50 m≈10.1%10101–10151 munder overhead cover terrain reads 56.6% at 11758–11808 m across a structure — excluded
100 m≈10.1%10498–10598 munder overhead cover terrain reads 32.3% at 11758–11858 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 NVDB, Norway's National Road Database.

Access: Ranked 2026-10-05 (D27, road authority): NVDB carries 100% of the route as public road (0% restricted), which answers the OSM audit question (barrier gate without an access tag). A barrier gate without an access tag sits on the route; gates on public roads are usually seasonal — check on the ground.

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%

Route line = the road surface as the LiDAR survey finds it. Basemap roads are for orientation and may sit a few metres off.

  © OpenStreetMap contributors · topo tiles © OpenTopoMap (CC-BY-SA) · vector tiles OpenFreeMap

Trollstigen from Nora 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).

Trollstigen from Nora elevation profile
Trollstigen from Nora rolling gradient profile
 

Measurement card

ElevationKartverket NHM DTM 1 m (laser-covered ground only) — Nasjonal høydemodell (NHM) DTM, 1 m, EPSG:25833, NN2000 (Kartverket), served by the hoydedata.no ImageServer; ground without a laser project is a coarser resampled product and is never measured
Resolution / CRS1.0 m grid, EPSG:25833; sampled every 1.0 m, bilinear interpolation
TilesE121000-N6943500, E121000-N6944000, E121000-N6944500, E121500-N6943500, E121500-N6944000, E121500-N6944500, E121500-N6945000, E121500-N6945500, E121500-N6946000, E122000-N6945000, E122000-N6945500, E122000-N6946000, E122000-N6946500, E122000-N6947000, E122000-N6947500, E122000-N6948000, E122000-N6948500, E122000-N6949000, E122000-N6949500, E122500-N6946000, E122500-N6946500, E122500-N6947000, E122500-N6947500, E122500-N6948000, E122500-N6948500, E122500-N6949000, E122500-N6949500, E122500-N6950000, E122500-N6950500, E122500-N6951000, E122500-N6951500, E123000-N6946000, E123000-N6946500, E123000-N6947000, E123000-N6947500, E123000-N6948000, E123000-N6949500, E123000-N6950000, E123000-N6950500, E123000-N6951000, E123000-N6951500, E123000-N6952000, E123500-N6951500, E123500-N6952000, E123500-N6952500, E123500-N6953000, E124000-N6952000, E124000-N6952500, E124000-N6953000, E124000-N6953500, E124500-N6952500, E124500-N6953000, E124500-N6953500, E125000-N6953000, E125000-N6953500, E125000-N6954000, E125500-N6953500, E125500-N6954000, E126000-N6953500, E126000-N6954000, E126500-N6954000
Road centrelineOpenStreetMap (local PBF extract)
Quality statusevidence quality B; caveated windows: structure excluded, structure excluded min, texture excluded
AnalysisOCL 0.1.0, analysis 0.1.0, run no-b08, calculated 2026-10-04

Provenance

{
  "analysis_version": "0.1.0",
  "run_manifest": {
    "manifest_version": "1",
    "code_git_sha": "368c60c29e47d4b421849c953b172a04f7694146",
    "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.2",
    "pyproj": "3.8.0",
    "laspy": "2.7.0",
    "shapely": "2.1.2",
    "pyosmium": "4.3.1",
    "libosmium": "2.23.1",
    "gdal": "3.12.2",
    "proj": "9.8.1",
    "run_id": "no-b08",
    "road_pbf": "no-b08-block-batch-no-b08.osm.pbf",
    "region_key": "norway",
    "crs": "EPSG:25833",
    "elevation_provider_key": "nhm-no",
    "tile_index": "nhm-window",
    "authority": "nvdb",
    "registry_pbf": "norway-2026-10-01.osm.pbf"
  },
  "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
  ],
  "scale_correction": "point",
  "scale_correction_crs": "EPSG:25833",
  "elevation_crs": "EPSG:25833",
  "elevation_resolution_m": 1.0,
  "elevation_tiles": [
    "data/cache/no/nhm-no_dtm_E121000-N6943500_1m.tif",
    "data/cache/no/nhm-no_dtm_E121000-N6944000_1m.tif",
    "data/cache/no/nhm-no_dtm_E121000-N6944500_1m.tif",
    "data/cache/no/nhm-no_dtm_E121500-N6943500_1m.tif",
    "data/cache/no/nhm-no_dtm_E121500-N6944000_1m.tif",
    "data/cache/no/nhm-no_dtm_E121500-N6944500_1m.tif",
    "data/cache/no/nhm-no_dtm_E121500-N6945000_1m.tif",
    "data/cache/no/nhm-no_dtm_E121500-N6945500_1m.tif",
    "data/cache/no/nhm-no_dtm_E121500-N6946000_1m.tif",
    "data/cache/no/nhm-no_dtm_E122000-N6945000_1m.tif",
    "data/cache/no/nhm-no_dtm_E122000-N6945500_1m.tif",
    "data/cache/no/nhm-no_dtm_E122000-N6946000_1m.tif",
    "data/cache/no/nhm-no_dtm_E122000-N6946500_1m.tif",
    "data/cache/no/nhm-no_dtm_E122000-N6947000_1m.tif",
    "data/cache/no/nhm-no_dtm_E122000-N6947500_1m.tif",
    "data/cache/no/nhm-no_dtm_E122000-N6948000_1m.tif",
    "data/cache/no/nhm-no_dtm_E122000-N6948500_1m.tif",
    "data/cache/no/nhm-no_dtm_E122000-N6949000_1m.tif",
    "data/cache/no/nhm-no_dtm_E122000-N6949500_1m.tif",
    "data/cache/no/nhm-no_dtm_E122500-N6946000_1m.tif",
    "data/cache/no/nhm-no_dtm_E122500-N6946500_1m.tif",
    "data/cache/no/nhm-no_dtm_E122500-N6947000_1m.tif",
    "data/cache/no/nhm-no_dtm_E122500-N6947500_1m.tif",
    "data/cache/no/nhm-no_dtm_E122500-N6948000_1m.tif",
    "data/cache/no/nhm-no_dtm_E122500-N6948500_1m.tif",
    "data/cache/no/nhm-no_dtm_E122500-N6949000_1m.tif",
    "data/cache/no/nhm-no_dtm_E122500-N6949500_1m.tif",
    "data/cache/no/nhm-no_dtm_E122500-N6950000_1m.tif",
    "data/cache/no/nhm-no_dtm_E122500-N6950500_1m.tif",
    "data/cache/no/nhm-no_dtm_E122500-N6951000_1m.tif",
    "data/cache/no/nhm-no_dtm_E122500-N6951500_1m.tif",
    "data/cache/no/nhm-no_dtm_E123000-N6946000_1m.tif",
    "data/cache/no/nhm-no_dtm_E123000-N6946500_1m.tif",
    "data/cache/no/nhm-no_dtm_E123000-N6947000_1m.tif",
    "data/cache/no/nhm-no_dtm_E123000-N6947500_1m.tif",
    "data/cache/no/nhm-no_dtm_E123000-N6948000_1m.tif",
    "data/cache/no/nhm-no_dtm_E123000-N6949500_1m.tif",
    "data/cache/no/nhm-no_dtm_E123000-N6950000_1m.tif",
    "data/cache/no/nhm-no_dtm_E123000-N6950500_1m.tif",
    "data/cache/no/nhm-no_dtm_E123000-N6951000_1m.tif",
    "data/cache/no/nhm-no_dtm_E123000-N6951500_1m.tif",
    "data/cache/no/nhm-no_dtm_E123000-N6952000_1m.tif",
    "data/cache/no/nhm-no_dtm_E123500-N6951500_1m.tif",
    "data/cache/no/nhm-no_dtm_E123500-N6952000_1m.tif",
    "data/cache/no/nhm-no_dtm_E123500-N6952500_1m.tif",
    "data/cache/no/nhm-no_dtm_E123500-N6953000_1m.tif",
    "data/cache/no/nhm-no_dtm_E124000-N6952000_1m.tif",
    "data/cache/no/nhm-no_dtm_E124000-N6952500_1m.tif",
    "data/cache/no/nhm-no_dtm_E124000-N6953000_1m.tif",
    "data/cache/no/nhm-no_dtm_E124000-N6953500_1m.tif",
    "data/cache/no/nhm-no_dtm_E124500-N6952500_1m.tif",
    "data/cache/no/nhm-no_dtm_E124500-N6953000_1m.tif",
    "data/cache/no/nhm-no_dtm_E124500-N6953500_1m.tif",
    "data/cache/no/nhm-no_dtm_E125000-N6953000_1m.tif",
    "data/cache/no/nhm-no_dtm_E125000-N6953500_1m.tif",
    "data/cache/no/nhm-no_dtm_E125000-N6954000_1m.tif",
    "data/cache/no/nhm-no_dtm_E125500-N6953500_1m.tif",
    "data/cache/no/nhm-no_dtm_E125500-N6954000_1m.tif",
    "data/cache/no/nhm-no_dtm_E126000-N6953500_1m.tif",
    "data/cache/no/nhm-no_dtm_E126000-N6954000_1m.tif",
    "data/cache/no/nhm-no_dtm_E126500-N6954000_1m.tif"
  ],
  "calculated_at": "2026-10-04T00:55:58+00:00",
  "road_source": "OpenStreetMap (local PBF extract)",
  "road_attribution": "\u00a9 OpenStreetMap contributors, ODbL",
  "osm_pbf_path": "data/cache/pbf/no-b08-block-batch-no-b08.osm.pbf",
  "osm_snapshot": "",
  "run_id": "no-b08",
  "elevation_provider": "Kartverket NHM DTM 1 m (laser-covered ground only)",
  "elevation_licence": "CC BY 4.0 \u2014 \u00a9 Kartverket (https://www.kartverket.no/api-og-data/vilkar-for-bruk)",
  "elevation_dataset": "Nasjonal h\u00f8ydemodell (NHM) DTM, 1 m, EPSG:25833, NN2000 (Kartverket), served by the hoydedata.no ImageServer; ground without a laser project is a coarser resampled product and is never measured",
  "elevation_vertical_datum": "NN2000",
  "elevation_tile_ids": [
    "E121000-N6943500",
    "E121000-N6944000",
    "E121000-N6944500",
    "E121500-N6943500",
    "E121500-N6944000",
    "E121500-N6944500",
    "E121500-N6945000",
    "E121500-N6945500",
    "E121500-N6946000",
    "E122000-N6945000",
    "E122000-N6945500",
    "E122000-N6946000",
    "E122000-N6946500",
    "E122000-N6947000",
    "E122000-N6947500",
    "E122000-N6948000",
    "E122000-N6948500",
    "E122000-N6949000",
    "E122000-N6949500",
    "E122500-N6946000",
    "E122500-N6946500",
    "E122500-N6947000",
    "E122500-N6947500",
    "E122500-N6948000",
    "E122500-N6948500",
    "E122500-N6949000",
    "E122500-N6949500",
    "E122500-N6950000",
    "E122500-N6950500",
    "E122500-N6951000",
    "E122500-N6951500",
    "E123000-N6946000",
    "E123000-N6946500",
    "E123000-N6947000",
    "E123000-N6947500",
    "E123000-N6948000",
    "E123000-N6949500",
    "E123000-N6950000",
    "E123000-N6950500",
    "E123000-N6951000",
    "E123000-N6951500",
    "E123000-N6952000",
    "E123500-N6951500",
    "E123500-N6952000",
    "E123500-N6952500",
    "E123500-N6953000",
    "E124000-N6952000",
    "E124000-N6952500",
    "E124000-N6953000",
    "E124000-N6953500",
    "E124500-N6952500",
    "E124500-N6953000",
    "E124500-N6953500",
    "E125000-N6953000",
    "E125000-N6953500",
    "E125000-N6954000",
    "E125500-N6953500",
    "E125500-N6954000",
    "E126000-N6953500",
    "E126000-N6954000",
    "E126500-N6954000"
  ],
  "elevation_blocks": [
    "nhm-dtm-1m"
  ],
  "nhm_laser_projects": [
    {
      "last_flight_date": "2014-11-07",
      "name": "Molde Aukra Fr\u00e6na og Rauma 2014",
      "points_per_m2": 2,
      "resolution_m": 0.5,
      "season": "snow-season",
      "year": 2014
    },
    {
      "last_flight_date": "2020-10-06",
      "name": "NDH Norddal-Rauma 2pkt 2020",
      "points_per_m2": 2,
      "resolution_m": 0.5,
      "season": "",
      "year": 2020
    },
    {
      "last_flight_date": "2017-07-20",
      "name": "NDH Norddal-Rauma 5pkt 2017",
      "points_per_m2": 5,
      "resolution_m": 0.25,
      "season": "",
      "year": 2017
    },
    {
      "last_flight_date": "2019-08-27",
      "name": "NDH Rauma s\u00f8r-Norddal \u00f8st 2pkt 2019",
      "points_per_m2": 2,
      "resolution_m": 0.5,
      "season": "",
      "year": 2019
    },
    {
      "last_flight_date": "2017-09-27",
      "name": "NVE Rauma 2018",
      "points_per_m2": 5,
      "resolution_m": 0.25,
      "season": "",
      "year": 2018
    },
    {
      "last_flight_date": "2007-01-01",
      "name": "Rauma 1pkt 2007",
      "points_per_m2": 1,
      "resolution_m": 1,
      "season": "season-unknown",
      "year": 2007
    },
    {
      "last_flight_date": "2007-01-01",
      "name": "Rauma 2007",
      "points_per_m2": 2,
      "resolution_m": 0.5,
      "season": "season-unknown",
      "year": 2007
    },
    {
      "last_flight_date": "2010-06-01",
      "name": "Rauma Sand\u00f8y Haram 2010",
      "points_per_m2": 2,
      "resolution_m": 0.5,
      "season": "",
      "year": 2010
    },
    {
      "last_flight_date": "2024-09-01",
      "name": "Sunnm\u00f8re nord 10pkt 2024",
      "points_per_m2": 10,
      "resolution_m": 0.25,
      "season": "",
      "year": 2024
    }
  ],
  "nhm_last_flight_date": "2024-09-01",
  "nhm_snow_season_flights": [
    "Molde Aukra Fr\u00e6na og Rauma 2014"
  ],
  "nhm_flight_season_unknown": [
    "Rauma 1pkt 2007",
    "Rauma 2007"
  ],
  "nhm_retrieved_at": "2026-10-04T00:55:52Z",
  "nhm_note": "laser projects overlapping the route's cells; the mosaic draws on them by its own priority and which project supplied which pixel is not recorded",
  "climb_origin": "named-pass",
  "named_pass": "Trollstigen",
  "seam_filled_samples": {
    "count": 0,
    "distances_m": []
  },
  "seam_filled_in_maximum": false,
  "structure_own_ways": 27,
  "tunnel_check": "osm tunnel=* ways on 27 own way(s)",
  "tunnel_ranges_m": [],
  "underground_fraction": 0.0,
  "structure_mask_ranges_m": [
    [
      11758.7,
      11787.8
    ],
    [
      10907.6,
      10913.2
    ],
    [
      10275.9,
      10287.2
    ],
    [
      10447.6,
      10458.9
    ],
    [
      14716.4,
      14764.1
    ],
    [
      2658.3,
      2668.0
    ],
    [
      3216.0,
      3235.3
    ],
    [
      7863.2,
      7867.9
    ]
  ],
  "mask_basin_extension_m": 24.0,
  "carriageway": {
    "stations": 701,
    "stations_resolved": 701,
    "width_median_m": 6.5,
    "width_p10_m": 4.75,
    "width_min_m": 2.0,
    "width_max_m": 12.0,
    "bounded_share": 0.351,
    "unbounded_share": 0.649,
    "confidence_median": 0.0,
    "width_median_bounded_m": 6.12,
    "window_m": [
      10573.0,
      10598.0
    ],
    "width_at_max25_m": 7.0,
    "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": 701,
      "stations_resolved": 701,
      "width_median_m": 8.75,
      "width_p10_m": 5.5,
      "width_min_m": 0.5,
      "width_max_m": 12.0,
      "bounded_share": 0.663,
      "unbounded_share": 0.337,
      "confidence_median": 1.0,
      "width_median_bounded_m": 8.0,
      "window_m": [
        10573.0,
        10598.0
      ],
      "width_at_max25_m": 8.75,
      "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"
}