{
 "ocl_version": "0.1.0",
 "name": "Fforest Road",
 "slug": "fforest-road",
 "ladder": [
  {
   "window_m": 2.0,
   "max_gradient_pct": 49.21557295316603,
   "diagnostic": true,
   "flags": [
    "structure_excluded"
   ],
   "start_distance_m": 455.0,
   "end_distance_m": 457.0,
   "start_elevation_m": 157.23353874890879,
   "end_elevation_m": 158.2178502079721,
   "min_gradient_pct": -26.050883531111424,
   "suppressed_max_gradient_pct": 51.47893649963038,
   "suppressed_location_m": [
    401.0,
    403.0
   ]
  },
  {
   "window_m": 3.0,
   "max_gradient_pct": 46.01392790089184,
   "diagnostic": true,
   "flags": [
    "structure_excluded"
   ],
   "start_distance_m": 454.0,
   "end_distance_m": 457.0,
   "start_elevation_m": 156.83743237094535,
   "end_elevation_m": 158.2178502079721,
   "min_gradient_pct": -15.62810408469204,
   "suppressed_max_gradient_pct": 53.006181690985464,
   "suppressed_location_m": [
    400.0,
    403.0
   ]
  },
  {
   "window_m": 5.0,
   "max_gradient_pct": 42.71470957718009,
   "diagnostic": false,
   "flags": [
    "structure_excluded"
   ],
   "start_distance_m": 453.0,
   "end_distance_m": 458.0,
   "start_elevation_m": 156.45079076316176,
   "end_elevation_m": 158.58652624202077,
   "min_gradient_pct": -0.010635458705792189,
   "suppressed_max_gradient_pct": 44.031710400328166,
   "suppressed_location_m": [
    398.0,
    403.0
   ]
  },
  {
   "window_m": 10.0,
   "max_gradient_pct": 37.350787967511394,
   "diagnostic": false,
   "flags": [
    "canopy_or_structure"
   ],
   "start_distance_m": 448.0,
   "end_distance_m": 458.0,
   "start_elevation_m": 154.85144744526963,
   "end_elevation_m": 158.58652624202077,
   "min_gradient_pct": 0.8950220469249359
  },
  {
   "window_m": 20.0,
   "max_gradient_pct": 28.91645028787636,
   "diagnostic": false,
   "flags": [
    "structure_excluded"
   ],
   "start_distance_m": 439.0,
   "end_distance_m": 459.0,
   "start_elevation_m": 152.9725218678485,
   "end_elevation_m": 158.75581192542379,
   "min_gradient_pct": 1.8084023761307577,
   "suppressed_max_gradient_pct": 29.678090889603368,
   "suppressed_location_m": [
    396.0,
    416.0
   ]
  },
  {
   "window_m": 25.0,
   "max_gradient_pct": 26.81358365246399,
   "diagnostic": false,
   "flags": [
    "canopy_or_structure",
    "structure_excluded"
   ],
   "start_distance_m": 433.0,
   "end_distance_m": 458.0,
   "start_elevation_m": 151.88313032890477,
   "end_elevation_m": 158.58652624202077,
   "min_gradient_pct": 1.9785465753995481,
   "suppressed_max_gradient_pct": 27.710279194847317,
   "suppressed_location_m": [
    391.0,
    416.0
   ]
  },
  {
   "window_m": 50.0,
   "max_gradient_pct": 22.74555347795001,
   "diagnostic": false,
   "flags": [
    "canopy_or_structure",
    "structure_excluded"
   ],
   "start_distance_m": 448.0,
   "end_distance_m": 498.0,
   "start_elevation_m": 154.85144744526963,
   "end_elevation_m": 166.22422418424463,
   "min_gradient_pct": 2.2016228695237317,
   "suppressed_max_gradient_pct": 23.567434370504998,
   "suppressed_location_m": [
    366.0,
    416.0
   ]
  },
  {
   "window_m": 100.0,
   "max_gradient_pct": 20.803480887945426,
   "diagnostic": false,
   "flags": [
    "canopy_or_structure",
    "structure_excluded"
   ],
   "start_distance_m": 428.0,
   "end_distance_m": 528.0,
   "start_elevation_m": 151.01583977211007,
   "end_elevation_m": 171.8193206600555,
   "min_gradient_pct": 3.1590613565734316,
   "suppressed_max_gradient_pct": 21.43211197749153,
   "suppressed_location_m": [
    393.0,
    493.0
   ]
  }
 ],
 "length_m": 924.9135521334568,
 "start_elevation_m": 107.72756326654023,
 "end_elevation_m": 223.1288809972831,
 "endpoint_gain_m": 115.40131773074286,
 "overall_gradient_pct": 12.476984196474556,
 "accumulated_ascent_m": 116.82179295882183,
 "window_maxima": {
  "max_5m": {
   "gradient_pct": 42.71470957718009,
   "start_distance_m": 453.0,
   "end_distance_m": 458.0,
   "midpoint_distance_m": 455.5,
   "start_elevation_m": 156.45079076316176,
   "end_elevation_m": 158.58652624202077,
   "start_xy": [
    305216.8889495655,
    199405.80297659175
   ],
   "end_xy": [
    305219.27184395184,
    199410.1986351708
   ]
  },
  "max_10m": {
   "gradient_pct": 37.350787967511394,
   "start_distance_m": 448.0,
   "end_distance_m": 458.0,
   "midpoint_distance_m": 453.0,
   "start_elevation_m": 154.85144744526963,
   "end_elevation_m": 158.58652624202077,
   "start_xy": [
    305214.5060551791,
    199401.4073180127
   ],
   "end_xy": [
    305219.27184395184,
    199410.1986351708
   ]
  },
  "max_20m": {
   "gradient_pct": 28.91645028787636,
   "start_distance_m": 439.0,
   "end_distance_m": 459.0,
   "midpoint_distance_m": 449.0,
   "start_elevation_m": 152.9725218678485,
   "end_elevation_m": 158.75581192542379,
   "start_xy": [
    305210.2168452837,
    199393.49513257042
   ],
   "end_xy": [
    305219.7484228291,
    199411.0777668866
   ]
  },
  "max_25m": {
   "gradient_pct": 26.81358365246399,
   "start_distance_m": 433.0,
   "end_distance_m": 458.0,
   "midpoint_distance_m": 445.5,
   "start_elevation_m": 151.88313032890477,
   "end_elevation_m": 158.58652624202077,
   "start_xy": [
    305207.3573720201,
    199388.22034227554
   ],
   "end_xy": [
    305219.27184395184,
    199410.1986351708
   ]
  },
  "max_50m": {
   "gradient_pct": 22.74555347795001,
   "start_distance_m": 448.0,
   "end_distance_m": 498.0,
   "midpoint_distance_m": 473.0,
   "start_elevation_m": 154.85144744526963,
   "end_elevation_m": 166.22422418424463,
   "start_xy": [
    305214.5060551791,
    199401.4073180127
   ],
   "end_xy": [
    305253.3721666908,
    199410.06447356893
   ]
  },
  "max_100m": {
   "gradient_pct": 20.803480887945426,
   "start_distance_m": 428.0,
   "end_distance_m": 528.0,
   "midpoint_distance_m": 478.0,
   "start_elevation_m": 151.01583977211007,
   "end_elevation_m": 171.8193206600555,
   "start_xy": [
    305204.9744776338,
    199383.8246836965
   ],
   "end_xy": [
    305280.6983194567,
    199397.68378800567
   ]
  }
 },
 "window_minima": {
  "min_5m": {
   "gradient_pct": -0.010635458705792189,
   "start_distance_m": 461.0,
   "end_distance_m": 466.0,
   "midpoint_distance_m": 463.5,
   "start_elevation_m": 158.9150236310945,
   "end_elevation_m": 158.9144918581592,
   "start_xy": [
    305220.70158058364,
    199412.8360303182
   ],
   "end_xy": [
    305223.08447496995,
    199417.23168889724
   ]
  },
  "min_10m": {
   "gradient_pct": 0.8950220469249359,
   "start_distance_m": 88.0,
   "end_distance_m": 98.0,
   "midpoint_distance_m": 93.0,
   "start_elevation_m": 113.28488099305038,
   "end_elevation_m": 113.37438319774287,
   "start_xy": [
    305107.6448954139,
    199080.31524127646
   ],
   "end_xy": [
    305109.3361985194,
    199090.15056231845
   ]
  },
  "min_20m": {
   "gradient_pct": 1.8084023761307577,
   "start_distance_m": 80.0,
   "end_distance_m": 100.0,
   "midpoint_distance_m": 90.0,
   "start_elevation_m": 113.05840478652638,
   "end_elevation_m": 113.42008526175253,
   "start_xy": [
    305104.48301043414,
    199072.9666030778
   ],
   "end_xy": [
    305109.51981309376,
    199092.14120041352
   ]
  },
  "min_25m": {
   "gradient_pct": 1.9785465753995481,
   "start_distance_m": 88.0,
   "end_distance_m": 113.0,
   "midpoint_distance_m": 100.5,
   "start_elevation_m": 113.28488099305038,
   "end_elevation_m": 113.77951763690027,
   "start_xy": [
    305107.6448954139,
    199080.31524127646
   ],
   "end_xy": [
    305109.34928130015,
    199105.08766076886
   ]
  },
  "min_50m": {
   "gradient_pct": 2.2016228695237317,
   "start_distance_m": 52.0,
   "end_distance_m": 102.0,
   "midpoint_distance_m": 77.0,
   "start_elevation_m": 112.38316060837114,
   "end_elevation_m": 113.48397204313301,
   "start_xy": [
    305094.6934733014,
    199046.88192927415
   ],
   "end_xy": [
    305109.6738119434,
    199094.13526268795
   ]
  },
  "min_100m": {
   "gradient_pct": 3.1590613565734316,
   "start_distance_m": 51.0,
   "end_distance_m": 151.0,
   "midpoint_distance_m": 101.0,
   "start_elevation_m": 112.3053017158928,
   "end_elevation_m": 115.46436307246623,
   "start_xy": [
    305094.7281608801,
    199045.8825310693
   ],
   "end_xy": [
    305102.0868381348,
    199142.29720253384
   ]
  }
 },
 "diagnostic_window_maxima": {
  "max_2m": {
   "gradient_pct": 49.21557295316603,
   "start_distance_m": 455.0,
   "end_distance_m": 457.0,
   "midpoint_distance_m": 456.0,
   "start_elevation_m": 157.23353874890879,
   "end_elevation_m": 158.2178502079721,
   "start_xy": [
    305217.84210732003,
    199407.56124002335
   ],
   "end_xy": [
    305218.7952650745,
    199409.31950345496
   ]
  },
  "max_3m": {
   "gradient_pct": 46.01392790089184,
   "start_distance_m": 454.0,
   "end_distance_m": 457.0,
   "midpoint_distance_m": 455.5,
   "start_elevation_m": 156.83743237094535,
   "end_elevation_m": 158.2178502079721,
   "start_xy": [
    305217.3655284427,
    199406.68210830755
   ],
   "end_xy": [
    305218.7952650745,
    199409.31950345496
   ]
  }
 },
 "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": {
  "overhead_obstruction": {
   "obstruction_threshold_m": 2.0,
   "obstructed_fraction": 0.404,
   "obstruction_max_height_m": 28.37,
   "flagged_windows_m": [
    10,
    25,
    50,
    100
   ]
  },
  "structure_suppression": {
   "masked_fraction": 0.006,
   "windows_resited": [
    2.0,
    3.0,
    5.0,
    20.0,
    25.0,
    50.0,
    100.0
   ],
   "windows_unresolved": []
  },
  "excluded_ranges_m": [
   [
    400.0,
    405.0
   ]
  ],
  "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:27700",
  "elevation_resolution_m": 1.0,
  "elevation_tiles": [
   "data/cache/wales/dtm_1m/wg_del_5_305198_20201224dtm.tif",
   "data/cache/wales/dtm_1m/wg_del_5_305199_20201224dtm.tif"
  ],
  "calculated_at": "2026-08-12T09:10:25+00:00",
  "road_source": "OpenStreetMap (local PBF extract)",
  "road_attribution": "\u00a9 OpenStreetMap contributors, ODbL",
  "osm_pbf_path": "data/cache/pbf/wales-2026-08-11.osm.pbf",
  "osm_snapshot": "2026-08-10T20:21:40Z",
  "elevation_provider": "Welsh Government",
  "elevation_dataset": "Welsh Government LiDAR 1m DTM (2020-2023)",
  "elevation_licence": "Open Government Licence v3 \u2014 \u00a9 Crown copyright Welsh Government",
  "elevation_catalogue_layer": "geonode:welsh_government_lidar_tile_catalogue_2020_2023",
  "elevation_tile_ids": [
   "wg_del_5_305198_20201224dtm.tif",
   "wg_del_5_305199_20201224dtm.tif"
  ],
  "elevation_capture_dates": [
   "24-12-2020",
   "25-12-2020"
  ],
  "climb_origin": "discovered",
  "notes": "Coarse pass: max 17.7% over 200 m (Terrain 50), gain 101.9 m over 704 m way. EXTENDED by graph walk: +4 segment(s) at base, +0 at top (stop: base=no_descending_continuation, top=no_ascending_continuation; min_avg=2.0%). Review before adopting. ADOPTED (notable slice 2026-08-11): qualified-steep."
 },
 "area": {
  "place": "Caegarw",
  "county": "Rhondda Cynon Taf - Rhondda Cynon Taf"
 },
 "reported_claims": [],
 "confidence": "B",
 "shape": {
  "ascent_concentration": 0.384,
  "concentration_window_frac": 0.25,
  "longest_pitch_10pct_m": 165.0,
  "shape_class": "sustained"
 }
}