{
 "ocl_version": "0.1.0",
 "name": "Route de Savuit",
 "slug": "route-de-savuit-2",
 "confidence": "B",
 "reported_claims": [],
 "ladder": [
  {
   "window_m": 2.0,
   "max_gradient_pct": 40.11868905057554,
   "diagnostic": true,
   "flags": [
    "structure_excluded"
   ],
   "start_distance_m": 163.0,
   "end_distance_m": 165.0,
   "start_elevation_m": 413.6024871134423,
   "end_elevation_m": 414.4048608944538,
   "min_gradient_pct": -19.621040098704157,
   "suppressed_max_gradient_pct": 52.78129156682212,
   "suppressed_location_m": [
    157.0,
    159.0
   ]
  },
  {
   "window_m": 3.0,
   "max_gradient_pct": 32.16411096875428,
   "diagnostic": true,
   "flags": [
    "structure_excluded"
   ],
   "start_distance_m": 117.0,
   "end_distance_m": 120.0,
   "start_elevation_m": 404.97455056811543,
   "end_elevation_m": 405.93947389717806,
   "min_gradient_pct": -8.960847754048018,
   "suppressed_max_gradient_pct": 41.758243109825344,
   "suppressed_location_m": [
    156.0,
    159.0
   ]
  },
  {
   "window_m": 5.0,
   "max_gradient_pct": 26.19271643800289,
   "diagnostic": false,
   "flags": [
    "structure_excluded"
   ],
   "start_distance_m": 117.0,
   "end_distance_m": 122.0,
   "start_elevation_m": 404.97455056811543,
   "end_elevation_m": 406.2841863900156,
   "min_gradient_pct": -4.585272198221446,
   "suppressed_max_gradient_pct": 30.359053300771848,
   "suppressed_location_m": [
    154.0,
    159.0
   ]
  },
  {
   "window_m": 10.0,
   "max_gradient_pct": 23.989347741451752,
   "diagnostic": false,
   "flags": [
    "structure_excluded"
   ],
   "start_distance_m": 117.0,
   "end_distance_m": 127.0,
   "start_elevation_m": 404.97455056811543,
   "end_elevation_m": 407.3734853422606,
   "min_gradient_pct": -4.005159843351862,
   "suppressed_max_gradient_pct": 25.631449901389942,
   "suppressed_location_m": [
    155.0,
    165.0
   ]
  },
  {
   "window_m": 20.0,
   "max_gradient_pct": 21.720243403485142,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 443.0,
   "end_distance_m": 463.0,
   "start_elevation_m": 454.6550870449745,
   "end_elevation_m": 458.9991357256715,
   "min_gradient_pct": -2.1863070333833434
  },
  {
   "window_m": 25.0,
   "max_gradient_pct": 21.559526512741968,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 440.0,
   "end_distance_m": 465.0,
   "start_elevation_m": 454.04203664884875,
   "end_elevation_m": 459.43191827703424,
   "min_gradient_pct": -1.0034347786750004
  },
  {
   "window_m": 50.0,
   "max_gradient_pct": 20.237645771638995,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 417.0,
   "end_distance_m": 467.0,
   "start_elevation_m": 449.72156196333964,
   "end_elevation_m": 459.84038484915914,
   "min_gradient_pct": 6.570699828571264
  },
  {
   "window_m": 100.0,
   "max_gradient_pct": 18.717207407922785,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 368.0,
   "end_distance_m": 468.0,
   "start_elevation_m": 441.2784795495027,
   "end_elevation_m": 459.9956869574255,
   "min_gradient_pct": 12.511431121229407
  }
 ],
 "shape": {
  "ascent_concentration": 0.314,
  "concentration_window_frac": 0.25,
  "longest_pitch_10pct_m": 334.0,
  "shape_class": "sustained"
 },
 "length_m": 506.10178521287526,
 "start_elevation_m": 389.22290503907914,
 "end_elevation_m": 460.66718047070094,
 "endpoint_gain_m": 71.4442754316218,
 "overall_gradient_pct": 14.116582379090225,
 "accumulated_ascent_m": 72.39549388296626,
 "window_maxima": {
  "max_5m": {
   "gradient_pct": 26.19271643800289,
   "start_distance_m": 117.0,
   "end_distance_m": 122.0,
   "midpoint_distance_m": 119.5,
   "start_elevation_m": 404.97455056811543,
   "end_elevation_m": 406.2841863900156,
   "start_xy": [
    2542622.7471199906,
    1150512.4444251566
   ],
   "end_xy": [
    2542625.290475826,
    1150516.749229577
   ]
  },
  "max_10m": {
   "gradient_pct": 23.989347741451752,
   "start_distance_m": 117.0,
   "end_distance_m": 127.0,
   "midpoint_distance_m": 122.0,
   "start_elevation_m": 404.97455056811543,
   "end_elevation_m": 407.3734853422606,
   "start_xy": [
    2542622.7471199906,
    1150512.4444251566
   ],
   "end_xy": [
    2542627.6435589613,
    1150521.155221826
   ]
  },
  "max_20m": {
   "gradient_pct": 21.720243403485142,
   "start_distance_m": 443.0,
   "end_distance_m": 463.0,
   "midpoint_distance_m": 453.0,
   "start_elevation_m": 454.6550870449745,
   "end_elevation_m": 458.9991357256715,
   "start_xy": [
    2542729.9241716866,
    1150812.9677086594
   ],
   "end_xy": [
    2542738.6466290583,
    1150830.9263437055
   ]
  },
  "max_25m": {
   "gradient_pct": 21.559526512741968,
   "start_distance_m": 440.0,
   "end_distance_m": 465.0,
   "midpoint_distance_m": 452.5,
   "start_elevation_m": 454.04203664884875,
   "end_elevation_m": 459.43191827703424,
   "start_xy": [
    2542727.87082168,
    1150810.7866569115
   ],
   "end_xy": [
    2542739.226381996,
    1150832.8404718442
   ]
  },
  "max_50m": {
   "gradient_pct": 20.237645771638995,
   "start_distance_m": 417.0,
   "end_distance_m": 467.0,
   "midpoint_distance_m": 442.0,
   "start_elevation_m": 449.72156196333964,
   "end_elevation_m": 459.84038484915914,
   "start_xy": [
    2542711.940069653,
    1150794.1971757787
   ],
   "end_xy": [
    2542739.806134934,
    1150834.7545999829
   ]
  },
  "max_100m": {
   "gradient_pct": 18.717207407922785,
   "start_distance_m": 368.0,
   "end_distance_m": 468.0,
   "midpoint_distance_m": 418.0,
   "start_elevation_m": 441.2784795495027,
   "end_elevation_m": 459.9956869574255,
   "start_xy": [
    2542686.6329419008,
    1150753.0822681948
   ],
   "end_xy": [
    2542740.096011403,
    1150835.7116640522
   ]
  }
 },
 "window_minima": {
  "min_5m": {
   "gradient_pct": -4.585272198221446,
   "start_distance_m": 494.0,
   "end_distance_m": 499.0,
   "midpoint_distance_m": 496.5,
   "start_elevation_m": 461.10621139489473,
   "end_elevation_m": 460.87694778498366,
   "start_xy": [
    2542746.692273819,
    1150860.7399536548
   ],
   "end_xy": [
    2542746.74752442,
    1150865.7396483826
   ]
  },
  "min_10m": {
   "gradient_pct": -4.005159843351862,
   "start_distance_m": 494.0,
   "end_distance_m": 504.0,
   "midpoint_distance_m": 499.0,
   "start_elevation_m": 461.10621139489473,
   "end_elevation_m": 460.70569541055954,
   "start_xy": [
    2542746.692273819,
    1150860.7399536548
   ],
   "end_xy": [
    2542746.8027750207,
    1150870.7393431105
   ]
  },
  "min_20m": {
   "gradient_pct": -2.1863070333833434,
   "start_distance_m": 486.0,
   "end_distance_m": 506.0,
   "midpoint_distance_m": 496.0,
   "start_elevation_m": 461.107729561372,
   "end_elevation_m": 460.67046815469536,
   "start_xy": [
    2542745.313787843,
    1150852.9388173
   ],
   "end_xy": [
    2542746.824875261,
    1150872.7392210015
   ]
  },
  "min_25m": {
   "gradient_pct": -1.0034347786750004,
   "start_distance_m": 481.0,
   "end_distance_m": 506.0,
   "midpoint_distance_m": 493.5,
   "start_elevation_m": 460.9213268493641,
   "end_elevation_m": 460.67046815469536,
   "start_xy": [
    2542743.8644054984,
    1150848.1534969532
   ],
   "end_xy": [
    2542746.824875261,
    1150872.7392210015
   ]
  },
  "min_50m": {
   "gradient_pct": 6.570699828571264,
   "start_distance_m": 456.0,
   "end_distance_m": 506.0,
   "midpoint_distance_m": 481.0,
   "start_elevation_m": 457.3851182404097,
   "end_elevation_m": 460.67046815469536,
   "start_xy": [
    2542735.8623487875,
    1150824.532225628
   ],
   "end_xy": [
    2542746.824875261,
    1150872.7392210015
   ]
  },
  "min_100m": {
   "gradient_pct": 12.511431121229407,
   "start_distance_m": 193.0,
   "end_distance_m": 293.0,
   "midpoint_distance_m": 243.0,
   "start_elevation_m": 418.38707852314855,
   "end_elevation_m": 430.89850964437795,
   "start_xy": [
    2542643.307691763,
    1150584.5350819507
   ],
   "end_xy": [
    2542666.6012212187,
    1150680.806891046
   ]
  }
 },
 "diagnostic_window_maxima": {
  "max_2m": {
   "gradient_pct": 40.11868905057554,
   "start_distance_m": 163.0,
   "end_distance_m": 165.0,
   "midpoint_distance_m": 164.0,
   "start_elevation_m": 413.6024871134423,
   "end_elevation_m": 414.4048608944538,
   "start_xy": [
    2542640.2841308624,
    1150554.6963348978
   ],
   "end_xy": [
    2542640.5263329674,
    1150556.681615266
   ]
  },
  "max_3m": {
   "gradient_pct": 32.16411096875428,
   "start_distance_m": 117.0,
   "end_distance_m": 120.0,
   "midpoint_distance_m": 118.5,
   "start_elevation_m": 404.97455056811543,
   "end_elevation_m": 405.93947389717806,
   "start_xy": [
    2542622.7471199906,
    1150512.4444251566
   ],
   "end_xy": [
    2542624.2731334916,
    1150515.0273078089
   ]
  }
 },
 "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": {
  "structure_suppression": {
   "masked_fraction": 0.012,
   "windows_resited": [
    2.0,
    3.0,
    5.0,
    10.0
   ],
   "windows_unresolved": []
  },
  "excluded_ranges_m": [
   [
    156.0,
    161.0
   ]
  ],
  "review": [],
  "extent": [
   "may_start_earlier"
  ]
 },
 "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_2542-1150_0.5_2056_5728.tif"
  ],
  "calculated_at": "2026-09-11T01:21:07+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": [
   "2542-1150"
  ],
  "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": "Lutry",
  "county": "Vaud",
  "source": "OpenStreetMap administrative boundaries (\u00a9 OpenStreetMap contributors, ODbL)"
 }
}