{
 "ocl_version": "0.1.0",
 "name": "Bryn Road",
 "slug": "bryn-road",
 "ladder": [
  {
   "window_m": 2.0,
   "max_gradient_pct": 32.980466155832744,
   "diagnostic": true,
   "flags": [],
   "start_distance_m": 238.0,
   "end_distance_m": 240.0,
   "start_elevation_m": 239.6251732460658,
   "end_elevation_m": 240.28478256918245,
   "min_gradient_pct": -8.175434932000769
  },
  {
   "window_m": 3.0,
   "max_gradient_pct": 30.50255719291594,
   "diagnostic": true,
   "flags": [],
   "start_distance_m": 236.0,
   "end_distance_m": 239.0,
   "start_elevation_m": 239.07581301697064,
   "end_elevation_m": 239.99088973275812,
   "min_gradient_pct": -4.301075791674218
  },
  {
   "window_m": 5.0,
   "max_gradient_pct": 29.186458795350063,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 236.0,
   "end_distance_m": 241.0,
   "start_elevation_m": 239.07581301697064,
   "end_elevation_m": 240.53513595673815,
   "min_gradient_pct": -0.5214660029639617
  },
  {
   "window_m": 10.0,
   "max_gradient_pct": 24.06675408129189,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 232.0,
   "end_distance_m": 242.0,
   "start_elevation_m": 238.3188533373331,
   "end_elevation_m": 240.7255287454623,
   "min_gradient_pct": 1.213854122965472
  },
  {
   "window_m": 20.0,
   "max_gradient_pct": 22.74711427806068,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 230.0,
   "end_distance_m": 250.0,
   "start_elevation_m": 237.9029818961632,
   "end_elevation_m": 242.45240475177533,
   "min_gradient_pct": 1.7557571270889127
  },
  {
   "window_m": 25.0,
   "max_gradient_pct": 21.823291082868877,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 226.0,
   "end_distance_m": 251.0,
   "start_elevation_m": 237.22116995146297,
   "end_elevation_m": 242.6769927221802,
   "min_gradient_pct": 2.376308812849402
  },
  {
   "window_m": 50.0,
   "max_gradient_pct": 19.82711346119362,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 213.0,
   "end_distance_m": 263.0,
   "start_elevation_m": 235.06925314491727,
   "end_elevation_m": 244.98280987551408,
   "min_gradient_pct": 6.989608645441763
  },
  {
   "window_m": 100.0,
   "max_gradient_pct": 17.938003478432194,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 164.0,
   "end_distance_m": 264.0,
   "start_elevation_m": 227.21938549308413,
   "end_elevation_m": 245.15738897151633,
   "min_gradient_pct": 8.656810620564443
  }
 ],
 "length_m": 394.9707894147564,
 "start_elevation_m": 208.1253676176618,
 "end_elevation_m": 257.1903071559949,
 "endpoint_gain_m": 49.06493953833311,
 "overall_gradient_pct": 12.422422329265043,
 "accumulated_ascent_m": 49.48463137932188,
 "window_maxima": {
  "max_5m": {
   "gradient_pct": 29.186458795350063,
   "start_distance_m": 236.0,
   "end_distance_m": 241.0,
   "midpoint_distance_m": 238.5,
   "start_elevation_m": 239.07581301697064,
   "end_elevation_m": 240.53513595673815,
   "start_xy": [
    274544.48957060004,
    211158.9208159921
   ],
   "end_xy": [
    274542.03379301564,
    211154.56545648273
   ]
  },
  "max_10m": {
   "gradient_pct": 24.06675408129189,
   "start_distance_m": 232.0,
   "end_distance_m": 242.0,
   "midpoint_distance_m": 237.0,
   "start_elevation_m": 238.3188533373331,
   "end_elevation_m": 240.7255287454623,
   "start_xy": [
    274544.81477791234,
    211162.70554294565
   ],
   "end_xy": [
    274541.54263749876,
    211153.69438458086
   ]
  },
  "max_20m": {
   "gradient_pct": 22.74711427806068,
   "start_distance_m": 230.0,
   "end_distance_m": 250.0,
   "midpoint_distance_m": 240.0,
   "start_elevation_m": 237.9029818961632,
   "end_elevation_m": 242.45240475177533,
   "start_xy": [
    274544.5140865476,
    211164.68280992386
   ],
   "end_xy": [
    274537.6133933638,
    211146.7258093658
   ]
  },
  "max_25m": {
   "gradient_pct": 21.823291082868877,
   "start_distance_m": 226.0,
   "end_distance_m": 251.0,
   "midpoint_distance_m": 238.5,
   "start_elevation_m": 237.22116995146297,
   "end_elevation_m": 242.6769927221802,
   "start_xy": [
    274543.9127038182,
    211168.6373438803
   ],
   "end_xy": [
    274537.1222378469,
    211145.85473746393
   ]
  },
  "max_50m": {
   "gradient_pct": 19.82711346119362,
   "start_distance_m": 213.0,
   "end_distance_m": 263.0,
   "midpoint_distance_m": 238.0,
   "start_elevation_m": 235.06925314491727,
   "end_elevation_m": 244.98280987551408,
   "start_xy": [
    274536.88193982,
    211179.49322545252
   ],
   "end_xy": [
    274530.8661658848,
    211135.63617660594
   ]
  },
  "max_100m": {
   "gradient_pct": 17.938003478432194,
   "start_distance_m": 164.0,
   "end_distance_m": 264.0,
   "midpoint_distance_m": 214.0,
   "start_elevation_m": 227.21938549308413,
   "end_elevation_m": 245.15738897151633,
   "start_xy": [
    274515.3827373504,
    211223.0064479123
   ],
   "end_xy": [
    274530.2730405951,
    211134.8310664329
   ]
  }
 },
 "window_minima": {
  "min_5m": {
   "gradient_pct": -0.5214660029639617,
   "start_distance_m": 387.0,
   "end_distance_m": 392.0,
   "midpoint_distance_m": 389.5,
   "start_elevation_m": 256.95857285024186,
   "end_elevation_m": 256.93249955009367,
   "start_xy": [
    274467.2860980519,
    211032.49103264345
   ],
   "end_xy": [
    274466.017655275,
    211027.65460287328
   ]
  },
  "min_10m": {
   "gradient_pct": 1.213854122965472,
   "start_distance_m": 122.0,
   "end_distance_m": 132.0,
   "midpoint_distance_m": 127.0,
   "start_elevation_m": 224.4746573012568,
   "end_elevation_m": 224.59604271355335,
   "start_xy": [
    274502.69227749197,
    211250.4975175332
   ],
   "end_xy": [
    274499.1257127604,
    211250.3297935726
   ]
  },
  "min_20m": {
   "gradient_pct": 1.7557571270889127,
   "start_distance_m": 122.0,
   "end_distance_m": 142.0,
   "midpoint_distance_m": 132.0,
   "start_elevation_m": 224.4746573012568,
   "end_elevation_m": 224.82580872667458,
   "start_xy": [
    274502.69227749197,
    211250.4975175332
   ],
   "end_xy": [
    274503.19162271224,
    211241.31777639117
   ]
  },
  "min_25m": {
   "gradient_pct": 2.376308812849402,
   "start_distance_m": 119.0,
   "end_distance_m": 144.0,
   "midpoint_distance_m": 131.5,
   "start_elevation_m": 224.36073455907518,
   "end_elevation_m": 224.95481176228753,
   "start_xy": [
    274505.05287354847,
    211248.6461433792
   ],
   "end_xy": [
    274504.30340779485,
    211239.65526806636
   ]
  },
  "min_50m": {
   "gradient_pct": 6.989608645441763,
   "start_distance_m": 113.0,
   "end_distance_m": 163.0,
   "midpoint_distance_m": 138.0,
   "start_elevation_m": 223.58265041467658,
   "end_elevation_m": 227.07745473739746,
   "start_xy": [
    274510.6784889973,
    211246.66186209477
   ],
   "end_xy": [
    274514.86536607984,
    211223.86143898068
   ]
  },
  "min_100m": {
   "gradient_pct": 8.656810620564443,
   "start_distance_m": 294.0,
   "end_distance_m": 394.0,
   "midpoint_distance_m": 344.0,
   "start_elevation_m": 248.40595674130094,
   "end_elevation_m": 257.0627673618654,
   "start_xy": [
    274513.8677781121,
    211109.91061474584
   ],
   "end_xy": [
    274465.51027816423,
    211025.7200309652
   ]
  }
 },
 "diagnostic_window_maxima": {
  "max_2m": {
   "gradient_pct": 32.980466155832744,
   "start_distance_m": 238.0,
   "end_distance_m": 240.0,
   "midpoint_distance_m": 239.0,
   "start_elevation_m": 239.6251732460658,
   "end_elevation_m": 240.28478256918245,
   "start_xy": [
    274543.5072595663,
    211157.17867218837
   ],
   "end_xy": [
    274542.5249485325,
    211155.4365283846
   ]
  },
  "max_3m": {
   "gradient_pct": 30.50255719291594,
   "start_distance_m": 236.0,
   "end_distance_m": 239.0,
   "midpoint_distance_m": 237.5,
   "start_elevation_m": 239.07581301697064,
   "end_elevation_m": 239.99088973275812,
   "start_xy": [
    274544.48957060004,
    211158.9208159921
   ],
   "end_xy": [
    274543.0161040494,
    211156.30760028647
   ]
  }
 },
 "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.076,
   "obstruction_max_height_m": 11.01,
   "flagged_windows_m": []
  },
  "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_21_274211_20220112dtm.tif"
  ],
  "calculated_at": "2026-08-12T09:06:13+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_21_274211_20220112dtm.tif"
  ],
  "elevation_capture_dates": [
   "13-01-2022"
  ],
  "climb_origin": "discovered",
  "notes": "Coarse pass: max 13.6% over 200 m (Terrain 50), gain 32.6 m over 267 m way. EXTENDED by graph walk: +2 segment(s) at base, +0 at top (stop: base=no_descending_continuation, top=no_ascending_continuation; min_avg=2.0%). Review before adopting. ROAD-REVIEW: way 821870056: unnamed service way; way 821870056: service way, surface untagged ADOPTED (notable slice 2026-08-11): clean-steep."
 },
 "area": {
  "place": "Pen-Rhiw-fawr",
  "county": "Castell-nedd Port Talbot - Neath Port Talbot"
 },
 "reported_claims": [],
 "confidence": "A",
 "shape": {
  "ascent_concentration": 0.359,
  "concentration_window_frac": 0.25,
  "longest_pitch_10pct_m": 136.0,
  "shape_class": "sustained"
 }
}