{
 "ocl_version": "0.1.0",
 "name": "Route du Lein",
 "slug": "route-du-lein",
 "confidence": "A",
 "reported_claims": [],
 "ladder": [
  {
   "window_m": 2.0,
   "max_gradient_pct": 39.360985759026335,
   "diagnostic": true,
   "flags": [],
   "start_distance_m": 1125.0,
   "end_distance_m": 1127.0,
   "start_elevation_m": 1406.926560823102,
   "end_elevation_m": 1407.7137805382824,
   "min_gradient_pct": -5.746050383436341
  },
  {
   "window_m": 3.0,
   "max_gradient_pct": 34.03153271995052,
   "diagnostic": true,
   "flags": [],
   "start_distance_m": 1125.0,
   "end_distance_m": 1128.0,
   "start_elevation_m": 1406.926560823102,
   "end_elevation_m": 1407.9475068047004,
   "min_gradient_pct": -4.279538890978074
  },
  {
   "window_m": 5.0,
   "max_gradient_pct": 31.769902971136617,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 1115.0,
   "end_distance_m": 1120.0,
   "start_elevation_m": 1404.6550334969843,
   "end_elevation_m": 1406.2435286455411,
   "min_gradient_pct": -3.4509637793325965
  },
  {
   "window_m": 10.0,
   "max_gradient_pct": 28.48407336727405,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 1109.0,
   "end_distance_m": 1119.0,
   "start_elevation_m": 1403.1043362610228,
   "end_elevation_m": 1405.9527435977502,
   "min_gradient_pct": -1.8649174920415135
  },
  {
   "window_m": 20.0,
   "max_gradient_pct": 26.7959477794534,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 1100.0,
   "end_distance_m": 1120.0,
   "start_elevation_m": 1400.8843390896504,
   "end_elevation_m": 1406.2435286455411,
   "min_gradient_pct": 0.1860180144365131
  },
  {
   "window_m": 25.0,
   "max_gradient_pct": 25.728965076551503,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 1096.0,
   "end_distance_m": 1121.0,
   "start_elevation_m": 1400.0285574994984,
   "end_elevation_m": 1406.4607987686363,
   "min_gradient_pct": 0.8330504437990385
  },
  {
   "window_m": 50.0,
   "max_gradient_pct": 22.876322975160292,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 1080.0,
   "end_distance_m": 1130.0,
   "start_elevation_m": 1396.852256075283,
   "end_elevation_m": 1408.2904175628632,
   "min_gradient_pct": 2.0636030559899154
  },
  {
   "window_m": 100.0,
   "max_gradient_pct": 20.237486920505035,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 1030.0,
   "end_distance_m": 1130.0,
   "start_elevation_m": 1388.0529306423582,
   "end_elevation_m": 1408.2904175628632,
   "min_gradient_pct": 3.7005544314422423
  }
 ],
 "shape": {
  "ascent_concentration": 0.306,
  "concentration_window_frac": 0.25,
  "longest_pitch_10pct_m": 102.0,
  "shape_class": "sustained"
 },
 "length_m": 1130.0999999998646,
 "start_elevation_m": 1303.8339892236659,
 "end_elevation_m": 1408.3120060167917,
 "endpoint_gain_m": 104.47801679312579,
 "overall_gradient_pct": 9.245024050361765,
 "accumulated_ascent_m": 105.0935462016464,
 "window_maxima": {
  "max_5m": {
   "gradient_pct": 31.769902971136617,
   "start_distance_m": 1115.0,
   "end_distance_m": 1120.0,
   "midpoint_distance_m": 1117.5,
   "start_elevation_m": 1404.6550334969843,
   "end_elevation_m": 1406.2435286455411,
   "start_xy": [
    2578459.7901972863,
    1105452.9883871097
   ],
   "end_xy": [
    2578460.892561474,
    1105457.8653519866
   ]
  },
  "max_10m": {
   "gradient_pct": 28.48407336727405,
   "start_distance_m": 1109.0,
   "end_distance_m": 1119.0,
   "midpoint_distance_m": 1114.0,
   "start_elevation_m": 1403.1043362610228,
   "end_elevation_m": 1405.9527435977502,
   "start_xy": [
    2578458.7106991364,
    1105447.103064738
   ],
   "end_xy": [
    2578460.672274509,
    1105456.8899169515
   ]
  },
  "max_20m": {
   "gradient_pct": 26.7959477794534,
   "start_distance_m": 1100.0,
   "end_distance_m": 1120.0,
   "midpoint_distance_m": 1110.0,
   "start_elevation_m": 1400.8843390896504,
   "end_elevation_m": 1406.2435286455411,
   "start_xy": [
    2578458.412697005,
    1105438.108000144
   ],
   "end_xy": [
    2578460.892561474,
    1105457.8653519866
   ]
  },
  "max_25m": {
   "gradient_pct": 25.728965076551503,
   "start_distance_m": 1096.0,
   "end_distance_m": 1121.0,
   "midpoint_distance_m": 1108.5,
   "start_elevation_m": 1400.0285574994984,
   "end_elevation_m": 1406.4607987686363,
   "start_xy": [
    2578458.279703997,
    1105434.11021204
   ],
   "end_xy": [
    2578461.1132664494,
    1105458.840692556
   ]
  },
  "max_50m": {
   "gradient_pct": 22.876322975160292,
   "start_distance_m": 1080.0,
   "end_distance_m": 1130.0,
   "midpoint_distance_m": 1105.0,
   "start_elevation_m": 1396.852256075283,
   "end_elevation_m": 1408.2904175628632,
   "start_xy": [
    2578457.093031798,
    1105418.2122373232
   ],
   "end_xy": [
    2578457.6449015792,
    1105465.3083500138
   ]
  },
  "max_100m": {
   "gradient_pct": 20.237486920505035,
   "start_distance_m": 1030.0,
   "end_distance_m": 1130.0,
   "midpoint_distance_m": 1080.0,
   "start_elevation_m": 1388.0529306423582,
   "end_elevation_m": 1408.2904175628632,
   "start_xy": [
    2578453.6383109596,
    1105368.9881447093
   ],
   "end_xy": [
    2578457.6449015792,
    1105465.3083500138
   ]
  }
 },
 "window_minima": {
  "min_5m": {
   "gradient_pct": -3.4509637793325965,
   "start_distance_m": 1013.0,
   "end_distance_m": 1018.0,
   "midpoint_distance_m": 1015.5,
   "start_elevation_m": 1387.1525111101932,
   "end_elevation_m": 1386.9799629212266,
   "start_xy": [
    2578453.688922053,
    1105358.887658597
   ],
   "end_xy": [
    2578448.689750554,
    1105358.796662172
   ]
  },
  "min_10m": {
   "gradient_pct": -1.8649174920415135,
   "start_distance_m": 1008.0,
   "end_distance_m": 1018.0,
   "midpoint_distance_m": 1013.0,
   "start_elevation_m": 1387.1664546704308,
   "end_elevation_m": 1386.9799629212266,
   "start_xy": [
    2578458.592855896,
    1105359.7313479946
   ],
   "end_xy": [
    2578448.689750554,
    1105358.796662172
   ]
  },
  "min_20m": {
   "gradient_pct": 0.1860180144365131,
   "start_distance_m": 999.0,
   "end_distance_m": 1019.0,
   "midpoint_distance_m": 1009.0,
   "start_elevation_m": 1386.9779679577932,
   "end_elevation_m": 1387.0151715606805,
   "start_xy": [
    2578465.4101423332,
    1105365.3634573268
   ],
   "end_xy": [
    2578448.6004896336,
    1105359.3543263988
   ]
  },
  "min_25m": {
   "gradient_pct": 0.8330504437990385,
   "start_distance_m": 994.0,
   "end_distance_m": 1019.0,
   "midpoint_distance_m": 1006.5,
   "start_elevation_m": 1386.8069089497308,
   "end_elevation_m": 1387.0151715606805,
   "start_xy": [
    2578468.7206582837,
    1105369.1105197195
   ],
   "end_xy": [
    2578448.6004896336,
    1105359.3543263988
   ]
  },
  "min_50m": {
   "gradient_pct": 2.0636030559899154,
   "start_distance_m": 968.0,
   "end_distance_m": 1018.0,
   "midpoint_distance_m": 993.0,
   "start_elevation_m": 1385.9481613932317,
   "end_elevation_m": 1386.9799629212266,
   "start_xy": [
    2578482.776915026,
    1105390.9432357654
   ],
   "end_xy": [
    2578448.689750554,
    1105358.796662172
   ]
  },
  "min_100m": {
   "gradient_pct": 3.7005544314422423,
   "start_distance_m": 919.0,
   "end_distance_m": 1019.0,
   "midpoint_distance_m": 969.0,
   "start_elevation_m": 1383.3146171292383,
   "end_elevation_m": 1387.0151715606805,
   "start_xy": [
    2578509.7586991224,
    1105431.7799933846
   ],
   "end_xy": [
    2578448.6004896336,
    1105359.3543263988
   ]
  }
 },
 "diagnostic_window_maxima": {
  "max_2m": {
   "gradient_pct": 39.360985759026335,
   "start_distance_m": 1125.0,
   "end_distance_m": 1127.0,
   "midpoint_distance_m": 1126.0,
   "start_elevation_m": 1406.926560823102,
   "end_elevation_m": 1407.7137805382824,
   "start_xy": [
    2578461.880089772,
    1105462.7596153906
   ],
   "end_xy": [
    2578460.2434170847,
    1105463.8091117356
   ]
  },
  "max_3m": {
   "gradient_pct": 34.03153271995052,
   "start_distance_m": 1125.0,
   "end_distance_m": 1128.0,
   "midpoint_distance_m": 1126.5,
   "start_elevation_m": 1406.926560823102,
   "end_elevation_m": 1407.9475068047004,
   "start_xy": [
    2578461.880089772,
    1105462.7596153906
   ],
   "end_xy": [
    2578459.3773284587,
    1105464.3090020446
   ]
  }
 },
 "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_2024_2578-1105_0.5_2056_5728.tif",
   "data/cache/ch/swissalti3d_2024_2578-1106_0.5_2056_5728.tif",
   "data/cache/ch/swissalti3d_2024_2579-1105_0.5_2056_5728.tif"
  ],
  "calculated_at": "2026-09-11T00:59:01+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-run6-extent-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": [
   "2578-1105",
   "2578-1106",
   "2579-1105"
  ],
  "route_base_cut_m": 80.0,
  "route_cut_m": 1130.1,
  "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": "Val de Bagnes",
  "county": "Valais/Wallis",
  "source": "OpenStreetMap administrative boundaries (\u00a9 OpenStreetMap contributors, ODbL)"
 }
}