{
 "ocl_version": "0.1.0",
 "name": "Hill Road",
 "slug": "hill-road",
 "ladder": [
  {
   "window_m": 2.0,
   "max_gradient_pct": 24.855222432415758,
   "diagnostic": true,
   "flags": [],
   "start_distance_m": 470.0,
   "end_distance_m": 472.0,
   "start_elevation_m": 291.5477179907991,
   "end_elevation_m": 292.0448224394474,
   "min_gradient_pct": -7.00253433990099
  },
  {
   "window_m": 3.0,
   "max_gradient_pct": 23.25802329020803,
   "diagnostic": true,
   "flags": [],
   "start_distance_m": 386.0,
   "end_distance_m": 389.0,
   "start_elevation_m": 275.5492424345326,
   "end_elevation_m": 276.2469831332388,
   "min_gradient_pct": -5.522780863401522
  },
  {
   "window_m": 5.0,
   "max_gradient_pct": 22.411885238276454,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 384.0,
   "end_distance_m": 389.0,
   "start_elevation_m": 275.126388871325,
   "end_elevation_m": 276.2469831332388,
   "min_gradient_pct": -2.778313759708908
  },
  {
   "window_m": 10.0,
   "max_gradient_pct": 21.91420595793886,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 379.0,
   "end_distance_m": 389.0,
   "start_elevation_m": 274.0555625374449,
   "end_elevation_m": 276.2469831332388,
   "min_gradient_pct": -0.6279534746198578
  },
  {
   "window_m": 20.0,
   "max_gradient_pct": 21.42624881597669,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 369.0,
   "end_distance_m": 389.0,
   "start_elevation_m": 271.9617333700435,
   "end_elevation_m": 276.2469831332388,
   "min_gradient_pct": -0.19679368269834185
  },
  {
   "window_m": 25.0,
   "max_gradient_pct": 21.556070267547284,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 364.0,
   "end_distance_m": 389.0,
   "start_elevation_m": 270.857965566352,
   "end_elevation_m": 276.2469831332388,
   "min_gradient_pct": -0.11493434038902706
  },
  {
   "window_m": 50.0,
   "max_gradient_pct": 20.925705189424093,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 354.0,
   "end_distance_m": 404.0,
   "start_elevation_m": 268.807420024257,
   "end_elevation_m": 279.27027261896905,
   "min_gradient_pct": 0.5316749410504826
  },
  {
   "window_m": 100.0,
   "max_gradient_pct": 19.903520860314018,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 348.0,
   "end_distance_m": 448.0,
   "start_elevation_m": 267.7085745616785,
   "end_elevation_m": 287.61209542199254,
   "min_gradient_pct": 0.8685948329986672
  }
 ],
 "length_m": 1187.0961286586637,
 "start_elevation_m": 243.90315872802702,
 "end_elevation_m": 358.143424224854,
 "endpoint_gain_m": 114.24026549682699,
 "overall_gradient_pct": 9.623505859286272,
 "accumulated_ascent_m": 114.74913782835193,
 "window_maxima": {
  "max_5m": {
   "gradient_pct": 22.411885238276454,
   "start_distance_m": 384.0,
   "end_distance_m": 389.0,
   "midpoint_distance_m": 386.5,
   "start_elevation_m": 275.126388871325,
   "end_elevation_m": 276.2469831332388,
   "start_xy": [
    311419.20183716714,
    206275.43525969912
   ],
   "end_xy": [
    311414.24120856763,
    206274.81500362616
   ]
  },
  "max_10m": {
   "gradient_pct": 21.91420595793886,
   "start_distance_m": 379.0,
   "end_distance_m": 389.0,
   "midpoint_distance_m": 384.0,
   "start_elevation_m": 274.0555625374449,
   "end_elevation_m": 276.2469831332388,
   "start_xy": [
    311424.1560292226,
    206276.11052340874
   ],
   "end_xy": [
    311414.24120856763,
    206274.81500362616
   ]
  },
  "max_20m": {
   "gradient_pct": 21.42624881597669,
   "start_distance_m": 369.0,
   "end_distance_m": 389.0,
   "midpoint_distance_m": 379.0,
   "start_elevation_m": 271.9617333700435,
   "end_elevation_m": 276.2469831332388,
   "start_xy": [
    311434.06441333354,
    206277.461050828
   ],
   "end_xy": [
    311414.24120856763,
    206274.81500362616
   ]
  },
  "max_25m": {
   "gradient_pct": 21.556070267547284,
   "start_distance_m": 364.0,
   "end_distance_m": 389.0,
   "midpoint_distance_m": 376.5,
   "start_elevation_m": 270.857965566352,
   "end_elevation_m": 276.2469831332388,
   "start_xy": [
    311439.01860538905,
    206278.1363145376
   ],
   "end_xy": [
    311414.24120856763,
    206274.81500362616
   ]
  },
  "max_50m": {
   "gradient_pct": 20.925705189424093,
   "start_distance_m": 354.0,
   "end_distance_m": 404.0,
   "midpoint_distance_m": 379.0,
   "start_elevation_m": 268.807420024257,
   "end_elevation_m": 279.27027261896905,
   "start_xy": [
    311448.730503322,
    206280.47956229007
   ],
   "end_xy": [
    311399.3124454548,
    206273.35485571486
   ]
  },
  "max_100m": {
   "gradient_pct": 19.903520860314018,
   "start_distance_m": 348.0,
   "end_distance_m": 448.0,
   "midpoint_distance_m": 398.0,
   "start_elevation_m": 267.7085745616785,
   "end_elevation_m": 287.61209542199254,
   "start_xy": [
    311454.53597371926,
    206281.99498746675
   ],
   "end_xy": [
    311355.4982141434,
    206269.3183929594
   ]
  }
 },
 "window_minima": {
  "min_5m": {
   "gradient_pct": -2.778313759708908,
   "start_distance_m": 1170.0,
   "end_distance_m": 1175.0,
   "midpoint_distance_m": 1172.5,
   "start_elevation_m": 357.9645859475827,
   "end_elevation_m": 357.82567025959725,
   "start_xy": [
    310851.22076513345,
    206011.48336642483
   ],
   "end_xy": [
    310846.3322708047,
    206010.44496885306
   ]
  },
  "min_10m": {
   "gradient_pct": -0.6279534746198578,
   "start_distance_m": 1166.0,
   "end_distance_m": 1176.0,
   "midpoint_distance_m": 1171.0,
   "start_elevation_m": 357.9014865327227,
   "end_elevation_m": 357.8386911852607,
   "start_xy": [
    310855.12685380946,
    206012.34503414223
   ],
   "end_xy": [
    310845.3358579048,
    206010.36034419388
   ]
  },
  "min_20m": {
   "gradient_pct": -0.19679368269834185,
   "start_distance_m": 1036.0,
   "end_distance_m": 1056.0,
   "midpoint_distance_m": 1046.0,
   "start_elevation_m": 356.5689531417789,
   "end_elevation_m": 356.5295944052392,
   "start_xy": [
    310980.8014546199,
    206016.20667929322
   ],
   "end_xy": [
    310962.20163289993,
    206023.55832074163
   ]
  },
  "min_25m": {
   "gradient_pct": -0.11493434038902706,
   "start_distance_m": 1039.0,
   "end_distance_m": 1064.0,
   "midpoint_distance_m": 1051.5,
   "start_elevation_m": 356.5818941782397,
   "end_elevation_m": 356.5531605931424,
   "start_xy": [
    310978.0114813619,
    206017.3094255105
   ],
   "end_xy": [
    310954.5826300401,
    206025.91789113413
   ]
  },
  "min_50m": {
   "gradient_pct": 0.5316749410504826,
   "start_distance_m": 1032.0,
   "end_distance_m": 1082.0,
   "midpoint_distance_m": 1057.0,
   "start_elevation_m": 356.5200866329566,
   "end_elevation_m": 356.7859241034818,
   "start_xy": [
    310984.42704889074,
    206014.52108766543
   ],
   "end_xy": [
    310936.9405180024,
    206029.11367693622
   ]
  },
  "min_100m": {
   "gradient_pct": 0.8685948329986672,
   "start_distance_m": 1036.0,
   "end_distance_m": 1136.0,
   "midpoint_distance_m": 1086.0,
   "start_elevation_m": 356.5689531417789,
   "end_elevation_m": 357.43754797477754,
   "start_xy": [
    310980.8014546199,
    206016.20667929322
   ],
   "end_xy": [
    310884.02765875484,
    206020.32894349482
   ]
  }
 },
 "diagnostic_window_maxima": {
  "max_2m": {
   "gradient_pct": 24.855222432415758,
   "start_distance_m": 470.0,
   "end_distance_m": 472.0,
   "midpoint_distance_m": 471.0,
   "start_elevation_m": 291.5477179907991,
   "end_elevation_m": 292.0448224394474,
   "start_xy": [
    311333.5872997224,
    206267.34055847742
   ],
   "end_xy": [
    311331.59539841145,
    206267.1607553427
   ]
  },
  "max_3m": {
   "gradient_pct": 23.25802329020803,
   "start_distance_m": 386.0,
   "end_distance_m": 389.0,
   "midpoint_distance_m": 387.5,
   "start_elevation_m": 275.5492424345326,
   "end_elevation_m": 276.2469831332388,
   "start_xy": [
    311417.22016034496,
    206275.1651542153
   ],
   "end_xy": [
    311414.24120856763,
    206274.81500362616
   ]
  }
 },
 "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.036,
   "obstruction_max_height_m": 8.79,
   "flagged_windows_m": []
  },
  "review": [],
  "extent": []
 },
 "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_10_310205_20210227dtm.tif",
   "data/cache/wales/dtm_1m/wg_del_10_310206_20210227dtm.tif",
   "data/cache/wales/dtm_1m/wg_del_10_311205_20210227dtm.tif",
   "data/cache/wales/dtm_1m/wg_del_10_311206_20210227dtm.tif"
  ],
  "calculated_at": "2026-08-12T09:10:40+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_10_310205_20210227dtm.tif",
   "wg_del_10_310206_20210227dtm.tif",
   "wg_del_10_311205_20210227dtm.tif",
   "wg_del_10_311206_20210227dtm.tif"
  ],
  "elevation_capture_dates": [
   "27-02-2021"
  ],
  "climb_origin": "discovered",
  "notes": "Coarse pass: max 17.6% over 200 m (Terrain 50), gain 50.7 m over 294 m way. EXTENDED by graph walk: +6 segment(s) at base, +6 at top (stop: base=no_descending_continuation, top=no_ascending_continuation; min_avg=2.0%). Review before adopting. DEDUPE: absorbed 2 overlapping proposal(s): discovered-lane-51-7473-3-2885, discovered-lane-51-7482-3-2895 ADOPTED (notable slice 2026-08-11): clean-steep."
 },
 "area": {
  "place": "Pontlottyn",
  "county": "Caerffili - Caerphilly"
 },
 "reported_claims": [],
 "confidence": "A",
 "shape": {
  "ascent_concentration": 0.453,
  "concentration_window_frac": 0.25,
  "longest_pitch_10pct_m": 366.0,
  "shape_class": "stepped"
 }
}