{
 "ocl_version": "0.1.0",
 "name": "Chemin de la Bastioule",
 "slug": "chemin-de-la-bastioule",
 "confidence": "A",
 "reported_claims": [],
 "ladder": [
  {
   "window_m": 2.0,
   "max_gradient_pct": 28.518974695725774,
   "diagnostic": true,
   "flags": [],
   "start_distance_m": 291.0,
   "end_distance_m": 293.0,
   "start_elevation_m": 651.8820897157855,
   "end_elevation_m": 652.4524692097,
   "min_gradient_pct": -13.757781791508705
  },
  {
   "window_m": 3.0,
   "max_gradient_pct": 28.02563291227595,
   "diagnostic": true,
   "flags": [],
   "start_distance_m": 290.0,
   "end_distance_m": 293.0,
   "start_elevation_m": 651.6117002223317,
   "end_elevation_m": 652.4524692097,
   "min_gradient_pct": -13.352455381239755
  },
  {
   "window_m": 5.0,
   "max_gradient_pct": 27.860002848969998,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 290.0,
   "end_distance_m": 295.0,
   "start_elevation_m": 651.6117002223317,
   "end_elevation_m": 653.0047003647802,
   "min_gradient_pct": -12.529860218339763
  },
  {
   "window_m": 10.0,
   "max_gradient_pct": 27.74485505716939,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 285.0,
   "end_distance_m": 295.0,
   "start_elevation_m": 650.2302148590633,
   "end_elevation_m": 653.0047003647802,
   "min_gradient_pct": -11.5762901049834
  },
  {
   "window_m": 20.0,
   "max_gradient_pct": 27.168368851351943,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 278.0,
   "end_distance_m": 298.0,
   "start_elevation_m": 648.3858545125416,
   "end_elevation_m": 653.819528282812,
   "min_gradient_pct": -11.31868231120393
  },
  {
   "window_m": 25.0,
   "max_gradient_pct": 26.87989773527579,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 273.0,
   "end_distance_m": 298.0,
   "start_elevation_m": 647.0995538489931,
   "end_elevation_m": 653.819528282812,
   "min_gradient_pct": -11.298144772601518
  },
  {
   "window_m": 50.0,
   "max_gradient_pct": 25.44681861882077,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 265.0,
   "end_distance_m": 315.0,
   "start_elevation_m": 645.1205100723015,
   "end_elevation_m": 657.8439193817119,
   "min_gradient_pct": -9.86690991446585
  },
  {
   "window_m": 100.0,
   "max_gradient_pct": 24.416471122297025,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 254.0,
   "end_distance_m": 354.0,
   "start_elevation_m": 642.6730803556261,
   "end_elevation_m": 667.0895514779231,
   "min_gradient_pct": -6.723065678293665
  }
 ],
 "shape": {
  "ascent_concentration": 0.576,
  "concentration_window_frac": 0.25,
  "longest_pitch_10pct_m": 450.0,
  "shape_class": "stepped"
 },
 "length_m": 1261.3999999999567,
 "start_elevation_m": 609.2512393750086,
 "end_elevation_m": 711.63016687532,
 "endpoint_gain_m": 102.37892750031142,
 "overall_gradient_pct": 8.116293602371567,
 "accumulated_ascent_m": 115.61014900821476,
 "window_maxima": {
  "max_5m": {
   "gradient_pct": 27.860002848969998,
   "start_distance_m": 290.0,
   "end_distance_m": 295.0,
   "midpoint_distance_m": 292.5,
   "start_elevation_m": 651.6117002223317,
   "end_elevation_m": 653.0047003647802,
   "start_xy": [
    2547253.0629531583,
    1149557.214516927
   ],
   "end_xy": [
    2547251.3257888034,
    1149561.903040524
   ]
  },
  "max_10m": {
   "gradient_pct": 27.74485505716939,
   "start_distance_m": 285.0,
   "end_distance_m": 295.0,
   "midpoint_distance_m": 290.0,
   "start_elevation_m": 650.2302148590633,
   "end_elevation_m": 653.0047003647802,
   "start_xy": [
    2547254.7998439823,
    1149552.5258917953
   ],
   "end_xy": [
    2547251.3257888034,
    1149561.903040524
   ]
  },
  "max_20m": {
   "gradient_pct": 27.168368851351943,
   "start_distance_m": 278.0,
   "end_distance_m": 298.0,
   "midpoint_distance_m": 288.0,
   "start_elevation_m": 648.3858545125416,
   "end_elevation_m": 653.819528282812,
   "start_xy": [
    2547257.231825785,
    1149545.9619408434
   ],
   "end_xy": [
    2547250.282907553,
    1149564.7159386608
   ]
  },
  "max_25m": {
   "gradient_pct": 26.87989773527579,
   "start_distance_m": 273.0,
   "end_distance_m": 298.0,
   "midpoint_distance_m": 285.5,
   "start_elevation_m": 647.0995538489931,
   "end_elevation_m": 653.819528282812,
   "start_xy": [
    2547258.9689900614,
    1149541.2734175648
   ],
   "end_xy": [
    2547250.282907553,
    1149564.7159386608
   ]
  },
  "max_50m": {
   "gradient_pct": 25.44681861882077,
   "start_distance_m": 265.0,
   "end_distance_m": 315.0,
   "midpoint_distance_m": 290.0,
   "start_elevation_m": 645.1205100723015,
   "end_elevation_m": 657.8439193817119,
   "start_xy": [
    2547261.7479278077,
    1149533.7715851846
   ],
   "end_xy": [
    2547244.6698014587,
    1149580.759302622
   ]
  },
  "max_100m": {
   "gradient_pct": 24.416471122297025,
   "start_distance_m": 254.0,
   "end_distance_m": 354.0,
   "midpoint_distance_m": 304.0,
   "start_elevation_m": 642.6730803556261,
   "end_elevation_m": 667.0895514779231,
   "start_xy": [
    2547265.569036143,
    1149523.456591061
   ],
   "end_xy": [
    2547232.5633223616,
    1149617.8322156316
   ]
  }
 },
 "window_minima": {
  "min_5m": {
   "gradient_pct": -12.529860218339763,
   "start_distance_m": 693.0,
   "end_distance_m": 698.0,
   "midpoint_distance_m": 695.5,
   "start_elevation_m": 701.8444965428071,
   "end_elevation_m": 701.2180035318901,
   "start_xy": [
    2547048.943425721,
    1149898.158295596
   ],
   "end_xy": [
    2547046.529646735,
    1149902.5370692755
   ]
  },
  "min_10m": {
   "gradient_pct": -11.5762901049834,
   "start_distance_m": 1125.0,
   "end_distance_m": 1135.0,
   "midpoint_distance_m": 1130.0,
   "start_elevation_m": 712.5266193853257,
   "end_elevation_m": 711.3689903748274,
   "start_xy": [
    2546816.049359986,
    1150256.7731810247
   ],
   "end_xy": [
    2546808.0775855402,
    1150262.7285144317
   ]
  },
  "min_20m": {
   "gradient_pct": -11.31868231120393,
   "start_distance_m": 1114.0,
   "end_distance_m": 1134.0,
   "midpoint_distance_m": 1124.0,
   "start_elevation_m": 713.7251296536368,
   "end_elevation_m": 711.461393191396,
   "start_xy": [
    2546823.6684377533,
    1150248.839100115
   ],
   "end_xy": [
    2546808.918542286,
    1150262.1874121563
   ]
  },
  "min_25m": {
   "gradient_pct": -11.298144772601518,
   "start_distance_m": 1109.0,
   "end_distance_m": 1134.0,
   "midpoint_distance_m": 1121.5,
   "start_elevation_m": 714.2859293845464,
   "end_elevation_m": 711.461393191396,
   "start_xy": [
    2546827.1318076327,
    1150245.2328463825
   ],
   "end_xy": [
    2546808.918542286,
    1150262.1874121563
   ]
  },
  "min_50m": {
   "gradient_pct": -9.86690991446585,
   "start_distance_m": 1090.0,
   "end_distance_m": 1140.0,
   "midpoint_distance_m": 1115.0,
   "start_elevation_m": 715.8420651793357,
   "end_elevation_m": 710.9086102221028,
   "start_xy": [
    2546840.2591083925,
    1150231.4980525046
   ],
   "end_xy": [
    2546803.8736498156,
    1150265.4353429843
   ]
  },
  "min_100m": {
   "gradient_pct": -6.723065678293665,
   "start_distance_m": 1090.0,
   "end_distance_m": 1190.0,
   "midpoint_distance_m": 1140.0,
   "start_elevation_m": 715.8420651793357,
   "end_elevation_m": 709.118999501042,
   "start_xy": [
    2546840.2591083925,
    1150231.4980525046
   ],
   "end_xy": [
    2546757.6129741035,
    1150283.6856913925
   ]
  }
 },
 "diagnostic_window_maxima": {
  "max_2m": {
   "gradient_pct": 28.518974695725774,
   "start_distance_m": 291.0,
   "end_distance_m": 293.0,
   "midpoint_distance_m": 292.0,
   "start_elevation_m": 651.8820897157855,
   "end_elevation_m": 652.4524692097,
   "start_xy": [
    2547252.714889402,
    1149558.1519877259
   ],
   "end_xy": [
    2547252.0200715186,
    1149560.0274149475
   ]
  },
  "max_3m": {
   "gradient_pct": 28.02563291227595,
   "start_distance_m": 290.0,
   "end_distance_m": 293.0,
   "midpoint_distance_m": 291.5,
   "start_elevation_m": 651.6117002223317,
   "end_elevation_m": 652.4524692097,
   "start_xy": [
    2547253.0629531583,
    1149557.214516927
   ],
   "end_xy": [
    2547252.0200715186,
    1149560.0274149475
   ]
  }
 },
 "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_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_2021_2546-1149_0.5_2056_5728.tif",
   "data/cache/ch/swissalti3d_2021_2546-1150_0.5_2056_5728.tif",
   "data/cache/ch/swissalti3d_2021_2547-1149_0.5_2056_5728.tif",
   "data/cache/ch/swissalti3d_2021_2547-1150_0.5_2056_5728.tif"
  ],
  "calculated_at": "2026-09-15T21:30:31+00:00",
  "road_source": "OpenStreetMap (local PBF extract)",
  "road_attribution": "\u00a9 OpenStreetMap contributors, ODbL",
  "osm_pbf_path": "data/cache/pbf/switzerland-2026-09-10.osm.pbf",
  "osm_snapshot": "2026-09-09T20:21:20Z",
  "run_id": "retro-260915-dogleg-all",
  "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": [
   "2546-1149",
   "2546-1150",
   "2547-1149",
   "2547-1150"
  ],
  "route_cut_m": 1261.4,
  "climb_origin": "discovered",
  "canopy_check": "unavailable \u2014 no surface model (DSM or point cloud) registered for this coverage",
  "structure_own_ways": "none \u2014 the route carried no way list; own decks unmasked",
  "license": "ODbL-1.0",
  "license_url": "https://howsteep.org/licensing"
 },
 "area": {
  "place": "Bourg-en-Lavaux",
  "county": "Vaud",
  "source": "OpenStreetMap administrative boundaries (\u00a9 OpenStreetMap contributors, ODbL)"
 }
}