{
 "ocl_version": "0.1.0",
 "name": "Nolbergstrasse",
 "slug": "nolbergstrasse",
 "confidence": "A",
 "reported_claims": [],
 "ladder": [
  {
   "window_m": 2.0,
   "max_gradient_pct": 26.84259465452783,
   "diagnostic": true,
   "flags": [],
   "start_distance_m": 3690.0,
   "end_distance_m": 3692.0,
   "start_elevation_m": 1013.1986795314042,
   "end_elevation_m": 1013.7355314244948,
   "min_gradient_pct": -1.9007626360007635
  },
  {
   "window_m": 3.0,
   "max_gradient_pct": 26.094671149379185,
   "diagnostic": true,
   "flags": [],
   "start_distance_m": 3690.0,
   "end_distance_m": 3693.0,
   "start_elevation_m": 1013.1986795314042,
   "end_elevation_m": 1013.9815196658856,
   "min_gradient_pct": 0.27071884298569177
  },
  {
   "window_m": 5.0,
   "max_gradient_pct": 25.366563792247234,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 3689.0,
   "end_distance_m": 3694.0,
   "start_elevation_m": 1012.9857654798799,
   "end_elevation_m": 1014.2540936694922,
   "min_gradient_pct": 2.8640696350703365
  },
  {
   "window_m": 10.0,
   "max_gradient_pct": 22.699745017675923,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 3684.0,
   "end_distance_m": 3694.0,
   "start_elevation_m": 1011.9841191677247,
   "end_elevation_m": 1014.2540936694922,
   "min_gradient_pct": 3.7874718244086125
  },
  {
   "window_m": 20.0,
   "max_gradient_pct": 17.93959136146384,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 3399.0,
   "end_distance_m": 3419.0,
   "start_elevation_m": 971.6587017326495,
   "end_elevation_m": 975.2466200049423,
   "min_gradient_pct": 3.826027624061794
  },
  {
   "window_m": 25.0,
   "max_gradient_pct": 17.32392638738247,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 564.0,
   "end_distance_m": 589.0,
   "start_elevation_m": 637.914208683821,
   "end_elevation_m": 642.2451902806666,
   "min_gradient_pct": 3.8725736055039306
  },
  {
   "window_m": 50.0,
   "max_gradient_pct": 16.89439081399746,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 551.0,
   "end_distance_m": 601.0,
   "start_elevation_m": 635.7748536180633,
   "end_elevation_m": 644.222049025062,
   "min_gradient_pct": 4.1233729094601586
  },
  {
   "window_m": 100.0,
   "max_gradient_pct": 15.996318293058835,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 539.0,
   "end_distance_m": 639.0,
   "start_elevation_m": 633.8575901973868,
   "end_elevation_m": 649.8539084904456,
   "min_gradient_pct": 4.3312084212482205
  }
 ],
 "shape": {
  "ascent_concentration": 0.292,
  "concentration_window_frac": 0.25,
  "longest_pitch_10pct_m": 476.0,
  "shape_class": "sustained"
 },
 "length_m": 3694.612018388327,
 "start_elevation_m": 592.6058750244008,
 "end_elevation_m": 1014.3748304043228,
 "endpoint_gain_m": 421.768955379922,
 "overall_gradient_pct": 11.415784750354032,
 "accumulated_ascent_m": 421.9191256607845,
 "window_maxima": {
  "max_5m": {
   "gradient_pct": 25.366563792247234,
   "start_distance_m": 3689.0,
   "end_distance_m": 3694.0,
   "midpoint_distance_m": 3691.5,
   "start_elevation_m": 1012.9857654798799,
   "end_elevation_m": 1014.2540936694922,
   "start_xy": [
    2686325.8131633867,
    1213628.435061281
   ],
   "end_xy": [
    2686328.316573407,
    1213632.7632177328
   ]
  },
  "max_10m": {
   "gradient_pct": 22.699745017675923,
   "start_distance_m": 3684.0,
   "end_distance_m": 3694.0,
   "midpoint_distance_m": 3689.0,
   "start_elevation_m": 1011.9841191677247,
   "end_elevation_m": 1014.2540936694922,
   "start_xy": [
    2686323.3097533667,
    1213624.1069048292
   ],
   "end_xy": [
    2686328.316573407,
    1213632.7632177328
   ]
  },
  "max_20m": {
   "gradient_pct": 17.93959136146384,
   "start_distance_m": 3399.0,
   "end_distance_m": 3419.0,
   "midpoint_distance_m": 3409.0,
   "start_elevation_m": 971.6587017326495,
   "end_elevation_m": 975.2466200049423,
   "start_xy": [
    2686177.8226850056,
    1213531.4191716106
   ],
   "end_xy": [
    2686194.745360567,
    1213522.5475377187
   ]
  },
  "max_25m": {
   "gradient_pct": 17.32392638738247,
   "start_distance_m": 564.0,
   "end_distance_m": 589.0,
   "midpoint_distance_m": 576.5,
   "start_elevation_m": 637.914208683821,
   "end_elevation_m": 642.2451902806666,
   "start_xy": [
    2687045.913808509,
    1212159.4921371096
   ],
   "end_xy": [
    2687028.921844064,
    1212177.8298889976
   ]
  },
  "max_50m": {
   "gradient_pct": 16.89439081399746,
   "start_distance_m": 551.0,
   "end_distance_m": 601.0,
   "midpoint_distance_m": 576.0,
   "start_elevation_m": 635.7748536180633,
   "end_elevation_m": 644.222049025062,
   "start_xy": [
    2687054.4718940626,
    1212149.7065057345
   ],
   "end_xy": [
    2687021.135708286,
    1212186.931081544
   ]
  },
  "max_100m": {
   "gradient_pct": 15.996318293058835,
   "start_distance_m": 539.0,
   "end_distance_m": 639.0,
   "midpoint_distance_m": 589.0,
   "start_elevation_m": 633.8575901973868,
   "end_elevation_m": 649.8539084904456,
   "start_xy": [
    2687061.233526592,
    1212139.8086488398
   ],
   "end_xy": [
    2687003.261676142,
    1212220.383867203
   ]
  }
 },
 "window_minima": {
  "min_5m": {
   "gradient_pct": 2.8640696350703365,
   "start_distance_m": 245.0,
   "end_distance_m": 250.0,
   "midpoint_distance_m": 247.5,
   "start_elevation_m": 615.2097988183164,
   "end_elevation_m": 615.3530023000699,
   "start_xy": [
    2686980.424463907,
    1211894.2664407587
   ],
   "end_xy": [
    2686978.7748028813,
    1211897.9150029733
   ]
  },
  "min_10m": {
   "gradient_pct": 3.7874718244086125,
   "start_distance_m": 314.0,
   "end_distance_m": 324.0,
   "midpoint_distance_m": 319.0,
   "start_elevation_m": 618.6779451050671,
   "end_elevation_m": 619.056692287508,
   "start_xy": [
    2687010.7216050816,
    1211952.2277109982
   ],
   "end_xy": [
    2687017.610467206,
    1211959.4741144958
   ]
  },
  "min_20m": {
   "gradient_pct": 3.826027624061794,
   "start_distance_m": 305.0,
   "end_distance_m": 325.0,
   "midpoint_distance_m": 315.0,
   "start_elevation_m": 618.3234558084154,
   "end_elevation_m": 619.0886613332277,
   "start_xy": [
    2687004.337381635,
    1211945.884077104
   ],
   "end_xy": [
    2687018.2909672493,
    1211960.2068625365
   ]
  },
  "min_25m": {
   "gradient_pct": 3.8725736055039306,
   "start_distance_m": 300.0,
   "end_distance_m": 325.0,
   "midpoint_distance_m": 312.5,
   "start_elevation_m": 618.1205179318517,
   "end_elevation_m": 619.0886613332277,
   "start_xy": [
    2687000.790590831,
    1211942.3598360517
   ],
   "end_xy": [
    2687018.2909672493,
    1211960.2068625365
   ]
  },
  "min_50m": {
   "gradient_pct": 4.1233729094601586,
   "start_distance_m": 295.0,
   "end_distance_m": 345.0,
   "midpoint_distance_m": 320.0,
   "start_elevation_m": 617.8855523698677,
   "end_elevation_m": 619.9472388245978,
   "start_xy": [
    2686997.603840921,
    1211938.5332115055
   ],
   "end_xy": [
    2687030.120855353,
    1211976.2644568442
   ]
  },
  "min_100m": {
   "gradient_pct": 4.3312084212482205,
   "start_distance_m": 300.0,
   "end_distance_m": 400.0,
   "midpoint_distance_m": 350.0,
   "start_elevation_m": 618.1205179318517,
   "end_elevation_m": 622.4517263531,
   "start_xy": [
    2687000.790590831,
    1211942.3598360517
   ],
   "end_xy": [
    2687060.318960177,
    1212022.2253525504
   ]
  }
 },
 "diagnostic_window_maxima": {
  "max_2m": {
   "gradient_pct": 26.84259465452783,
   "start_distance_m": 3690.0,
   "end_distance_m": 3692.0,
   "midpoint_distance_m": 3691.0,
   "start_elevation_m": 1013.1986795314042,
   "end_elevation_m": 1013.7355314244948,
   "start_xy": [
    2686326.313845391,
    1213629.3006925713
   ],
   "end_xy": [
    2686327.315209399,
    1213631.031955152
   ]
  },
  "max_3m": {
   "gradient_pct": 26.094671149379185,
   "start_distance_m": 3690.0,
   "end_distance_m": 3693.0,
   "midpoint_distance_m": 3691.5,
   "start_elevation_m": 1013.1986795314042,
   "end_elevation_m": 1013.9815196658856,
   "start_xy": [
    2686326.313845391,
    1213629.3006925713
   ],
   "end_xy": [
    2686327.815891403,
    1213631.8975864425
   ]
  }
 },
 "diagnostic_note": "Windows <=3 m are at raster-noise scale (1-sigma raster noise alone is roughly +/-7 pp at 2 m and +/-5 pp at 3 m on a 1 m DTM). Diagnostic use only: never a headline or ranking value.",
 "quality_summary": {
  "review": [],
  "extent": [
   "may_start_earlier",
   "may_continue_beyond_end"
  ]
 },
 "provenance": {
  "analysis_version": "0.1.0",
  "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:2056",
  "elevation_resolution_m": 0.5,
  "elevation_tiles": [
   "data/cache/ch/swissalti3d_2020_2686-1211_0.5_2056_5728.tif",
   "data/cache/ch/swissalti3d_2020_2686-1212_0.5_2056_5728.tif",
   "data/cache/ch/swissalti3d_2020_2686-1213_0.5_2056_5728.tif",
   "data/cache/ch/swissalti3d_2019_2687-1211_0.5_2056_5728.tif",
   "data/cache/ch/swissalti3d_2020_2687-1212_0.5_2056_5728.tif"
  ],
  "calculated_at": "2026-09-11T05:05:19+00:00",
  "road_source": "OpenStreetMap (local PBF extract)",
  "road_attribution": "\u00a9 OpenStreetMap contributors, ODbL",
  "osm_pbf_path": "data/cache/pbf/switzerland-2026-09-10-batch.osm.pbf",
  "osm_snapshot": "",
  "run_id": "ch-run7-260911",
  "elevation_provider": "swisstopo swissALTI3D",
  "elevation_licence": "swisstopo open government data (OGD): free use, attribution '\u00a9 swisstopo' \u2014 https://www.swisstopo.admin.ch/en/terms-and-conditions",
  "elevation_dataset": "swissALTI3D 0.5 m DTM (Federal Office of Topography swisstopo)",
  "elevation_tile_ids": [
   "2686-1211",
   "2686-1212",
   "2686-1213",
   "2687-1211",
   "2687-1212"
  ],
  "climb_origin": "discovered",
  "canopy_check": "unavailable \u2014 no surface model (DSM or point cloud) registered for this coverage",
  "license": "ODbL-1.0",
  "license_url": "https://howsteep.org/licensing"
 },
 "area": {
  "place": "Steinerberg",
  "county": "Schwyz",
  "source": "OpenStreetMap administrative boundaries (\u00a9 OpenStreetMap contributors, ODbL)"
 }
}