{
 "ocl_version": "0.1.0",
 "name": "Route des Fenils",
 "slug": "route-des-fenils",
 "confidence": "B",
 "reported_claims": [],
 "ladder": [
  {
   "window_m": 2.0,
   "max_gradient_pct": 20.62796508317888,
   "diagnostic": true,
   "flags": [
    "structure_excluded"
   ],
   "start_distance_m": 174.0,
   "end_distance_m": 176.0,
   "start_elevation_m": 1346.3913440208182,
   "end_elevation_m": 1346.8039033224818,
   "min_gradient_pct": -96.94113410649834,
   "suppressed_max_gradient_pct": 141.55992295197848,
   "suppressed_location_m": [
    700.0,
    702.0
   ]
  },
  {
   "window_m": 3.0,
   "max_gradient_pct": 18.211162988139524,
   "diagnostic": true,
   "flags": [
    "structure_excluded"
   ],
   "start_distance_m": 174.0,
   "end_distance_m": 177.0,
   "start_elevation_m": 1346.3913440208182,
   "end_elevation_m": 1346.9376789104624,
   "min_gradient_pct": -95.28711217150583,
   "suppressed_max_gradient_pct": 124.71833119301816,
   "suppressed_location_m": [
    699.0,
    702.0
   ]
  },
  {
   "window_m": 5.0,
   "max_gradient_pct": 16.20128142955764,
   "diagnostic": false,
   "flags": [
    "structure_excluded"
   ],
   "start_distance_m": 174.0,
   "end_distance_m": 179.0,
   "start_elevation_m": 1346.3913440208182,
   "end_elevation_m": 1347.201408092296,
   "min_gradient_pct": -77.15820477207672,
   "suppressed_max_gradient_pct": 101.25720151349014,
   "suppressed_location_m": [
    698.0,
    703.0
   ]
  },
  {
   "window_m": 10.0,
   "max_gradient_pct": 15.9174278335081,
   "diagnostic": false,
   "flags": [
    "structure_excluded"
   ],
   "start_distance_m": 174.0,
   "end_distance_m": 184.0,
   "start_elevation_m": 1346.3913440208182,
   "end_elevation_m": 1347.983086804169,
   "min_gradient_pct": -43.8334504712725,
   "suppressed_max_gradient_pct": 66.28804781345707,
   "suppressed_location_m": [
    2566.0,
    2576.0
   ]
  },
  {
   "window_m": 20.0,
   "max_gradient_pct": 15.258196106301511,
   "diagnostic": false,
   "flags": [
    "structure_excluded"
   ],
   "start_distance_m": 202.0,
   "end_distance_m": 222.0,
   "start_elevation_m": 1350.4885317617916,
   "end_elevation_m": 1353.540170983052,
   "min_gradient_pct": -18.810739273250192,
   "suppressed_max_gradient_pct": 38.16307661059227,
   "suppressed_location_m": [
    2565.0,
    2585.0
   ]
  },
  {
   "window_m": 25.0,
   "max_gradient_pct": 14.972531349257224,
   "diagnostic": false,
   "flags": [
    "structure_excluded"
   ],
   "start_distance_m": 202.0,
   "end_distance_m": 227.0,
   "start_elevation_m": 1350.4885317617916,
   "end_elevation_m": 1354.231664599106,
   "min_gradient_pct": -13.119067427235677,
   "suppressed_max_gradient_pct": 33.122143456917,
   "suppressed_location_m": [
    2565.0,
    2590.0
   ]
  },
  {
   "window_m": 50.0,
   "max_gradient_pct": 14.792836422157507,
   "diagnostic": false,
   "flags": [
    "structure_excluded"
   ],
   "start_distance_m": 174.0,
   "end_distance_m": 224.0,
   "start_elevation_m": 1346.3913440208182,
   "end_elevation_m": 1353.787762231897,
   "min_gradient_pct": -1.1463874732339718,
   "suppressed_max_gradient_pct": 22.376314017821187,
   "suppressed_location_m": [
    2566.0,
    2616.0
   ]
  },
  {
   "window_m": 100.0,
   "max_gradient_pct": 14.600988341409447,
   "diagnostic": false,
   "flags": [
    "structure_excluded"
   ],
   "start_distance_m": 174.0,
   "end_distance_m": 274.0,
   "start_elevation_m": 1346.3913440208182,
   "end_elevation_m": 1360.9923323622277,
   "min_gradient_pct": 1.3261360457483988,
   "suppressed_max_gradient_pct": 16.7709710424283,
   "suppressed_location_m": [
    2565.0,
    2665.0
   ]
  }
 ],
 "shape": {
  "ascent_concentration": 0.287,
  "concentration_window_frac": 0.25,
  "longest_pitch_10pct_m": 307.0,
  "shape_class": "sustained"
 },
 "length_m": 2986.0118645162634,
 "start_elevation_m": 1323.7663005369948,
 "end_elevation_m": 1633.7175013261678,
 "endpoint_gain_m": 309.9512007891731,
 "overall_gradient_pct": 10.380106136630689,
 "accumulated_ascent_m": 319.05769720449325,
 "window_maxima": {
  "max_5m": {
   "gradient_pct": 16.20128142955764,
   "start_distance_m": 174.0,
   "end_distance_m": 179.0,
   "midpoint_distance_m": 176.5,
   "start_elevation_m": 1346.3913440208182,
   "end_elevation_m": 1347.201408092296,
   "start_xy": [
    2585114.043746984,
    1153657.7044898525
   ],
   "end_xy": [
    2585115.4482369986,
    1153662.460448683
   ]
  },
  "max_10m": {
   "gradient_pct": 15.9174278335081,
   "start_distance_m": 174.0,
   "end_distance_m": 184.0,
   "midpoint_distance_m": 179.0,
   "start_elevation_m": 1346.3913440208182,
   "end_elevation_m": 1347.983086804169,
   "start_xy": [
    2585114.043746984,
    1153657.7044898525
   ],
   "end_xy": [
    2585117.6022585933,
    1153666.9726755135
   ]
  },
  "max_20m": {
   "gradient_pct": 15.258196106301511,
   "start_distance_m": 202.0,
   "end_distance_m": 222.0,
   "midpoint_distance_m": 212.0,
   "start_elevation_m": 1350.4885317617916,
   "end_elevation_m": 1353.540170983052,
   "start_xy": [
    2585125.356736333,
    1153683.2166921035
   ],
   "end_xy": [
    2585132.052955156,
    1153702.022297267
   ]
  },
  "max_25m": {
   "gradient_pct": 14.972531349257224,
   "start_distance_m": 202.0,
   "end_distance_m": 227.0,
   "midpoint_distance_m": 214.5,
   "start_elevation_m": 1350.4885317617916,
   "end_elevation_m": 1354.231664599106,
   "start_xy": [
    2585125.356736333,
    1153683.2166921035
   ],
   "end_xy": [
    2585133.556835038,
    1153706.7907713733
   ]
  },
  "max_50m": {
   "gradient_pct": 14.792836422157507,
   "start_distance_m": 174.0,
   "end_distance_m": 224.0,
   "midpoint_distance_m": 199.0,
   "start_elevation_m": 1346.3913440208182,
   "end_elevation_m": 1353.787762231897,
   "start_xy": [
    2585114.043746984,
    1153657.7044898525
   ],
   "end_xy": [
    2585132.654507109,
    1153703.9296869095
   ]
  },
  "max_100m": {
   "gradient_pct": 14.600988341409447,
   "start_distance_m": 174.0,
   "end_distance_m": 274.0,
   "midpoint_distance_m": 224.0,
   "start_elevation_m": 1346.3913440208182,
   "end_elevation_m": 1360.9923323622277,
   "start_xy": [
    2585114.043746984,
    1153657.7044898525
   ],
   "end_xy": [
    2585152.995415825,
    1153749.460680606
   ]
  }
 },
 "window_minima": {
  "min_5m": {
   "gradient_pct": -77.15820477207672,
   "start_distance_m": 690.0,
   "end_distance_m": 695.0,
   "midpoint_distance_m": 692.5,
   "start_elevation_m": 1403.231194943595,
   "end_elevation_m": 1399.3732847049912,
   "start_xy": [
    2585167.369666097,
    1154151.9644218055
   ],
   "end_xy": [
    2585168.538427516,
    1154156.8259027265
   ]
  },
  "min_10m": {
   "gradient_pct": -43.8334504712725,
   "start_distance_m": 2554.0,
   "end_distance_m": 2564.0,
   "midpoint_distance_m": 2559.0,
   "start_elevation_m": 1608.6564682985686,
   "end_elevation_m": 1604.2731232514413,
   "start_xy": [
    2585709.1891342266,
    1154872.8341839444
   ],
   "end_xy": [
    2585711.8941109907,
    1154882.43524274
   ]
  },
  "min_20m": {
   "gradient_pct": -18.810739273250192,
   "start_distance_m": 2545.0,
   "end_distance_m": 2565.0,
   "midpoint_distance_m": 2555.0,
   "start_elevation_m": 1607.947032178259,
   "end_elevation_m": 1604.184884323609,
   "start_xy": [
    2585707.2135113752,
    1154864.058966236
   ],
   "end_xy": [
    2585712.5248326347,
    1154883.2109465315
   ]
  },
  "min_25m": {
   "gradient_pct": -13.119067427235677,
   "start_distance_m": 2540.0,
   "end_distance_m": 2565.0,
   "midpoint_distance_m": 2552.5,
   "start_elevation_m": 1607.4646511804178,
   "end_elevation_m": 1604.184884323609,
   "start_xy": [
    2585705.74565998,
    1154859.2792787692
   ],
   "end_xy": [
    2585712.5248326347,
    1154883.2109465315
   ]
  },
  "min_50m": {
   "gradient_pct": -1.1463874732339718,
   "start_distance_m": 2515.0,
   "end_distance_m": 2565.0,
   "midpoint_distance_m": 2540.0,
   "start_elevation_m": 1604.758078060226,
   "end_elevation_m": 1604.184884323609,
   "start_xy": [
    2585696.4871390164,
    1154836.069878593
   ],
   "end_xy": [
    2585712.5248326347,
    1154883.2109465315
   ]
  },
  "min_100m": {
   "gradient_pct": 1.3261360457483988,
   "start_distance_m": 2750.0,
   "end_distance_m": 2850.0,
   "midpoint_distance_m": 2800.0,
   "start_elevation_m": 1626.6015754164932,
   "end_elevation_m": 1627.9277114622416,
   "start_xy": [
    2585865.3130180766,
    1154978.3902360576
   ],
   "end_xy": [
    2585951.8476772825,
    1155028.2310528103
   ]
  }
 },
 "diagnostic_window_maxima": {
  "max_2m": {
   "gradient_pct": 20.62796508317888,
   "start_distance_m": 174.0,
   "end_distance_m": 176.0,
   "midpoint_distance_m": 175.0,
   "start_elevation_m": 1346.3913440208182,
   "end_elevation_m": 1346.8039033224818,
   "start_xy": [
    2585114.043746984,
    1153657.7044898525
   ],
   "end_xy": [
    2585114.4085018467,
    1153659.670947045
   ]
  },
  "max_3m": {
   "gradient_pct": 18.211162988139524,
   "start_distance_m": 174.0,
   "end_distance_m": 177.0,
   "midpoint_distance_m": 175.5,
   "start_elevation_m": 1346.3913440208182,
   "end_elevation_m": 1346.9376789104624,
   "start_xy": [
    2585114.043746984,
    1153657.7044898525
   ],
   "end_xy": [
    2585114.590879278,
    1153660.6541756415
   ]
  }
 },
 "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.034,
   "windows_resited": [
    2.0,
    3.0,
    5.0,
    10.0,
    20.0,
    25.0,
    50.0,
    100.0
   ],
   "windows_unresolved": []
  },
  "excluded_ranges_m": [
   [
    0.0,
    5.0
   ],
   [
    684.0,
    737.0
   ],
   [
    2549.0,
    2590.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_2025_2585-1153_0.5_2056_5728.tif",
   "data/cache/ch/swissalti3d_2025_2585-1154_0.5_2056_5728.tif",
   "data/cache/ch/swissalti3d_2025_2585-1155_0.5_2056_5728.tif",
   "data/cache/ch/swissalti3d_2025_2586-1154_0.5_2056_5728.tif",
   "data/cache/ch/swissalti3d_2025_2586-1155_0.5_2056_5728.tif"
  ],
  "calculated_at": "2026-09-11T02:23:57+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": [
   "2585-1153",
   "2585-1154",
   "2585-1155",
   "2586-1154",
   "2586-1155"
  ],
  "climb_origin": "discovered",
  "canopy_check": "unavailable \u2014 no surface model (DSM or point cloud) registered for this coverage",
  "mask_basin_extension_m": 35.0,
  "license": "ODbL-1.0",
  "license_url": "https://howsteep.org/licensing"
 },
 "area": {
  "place": "Rougemont",
  "county": "Vaud",
  "source": "OpenStreetMap administrative boundaries (\u00a9 OpenStreetMap contributors, ODbL)"
 }
}