{
 "ocl_version": "0.1.0",
 "name": "Hawkley Road",
 "slug": "hawkley-road",
 "confidence": "B",
 "reported_claims": [],
 "ladder": [
  {
   "window_m": 2.0,
   "max_gradient_pct": 41.36070944810655,
   "diagnostic": true,
   "flags": [
    "canopy_or_structure",
    "structure_excluded"
   ],
   "start_distance_m": 1260.0,
   "end_distance_m": 1262.0,
   "start_elevation_m": 142.67806231461194,
   "end_elevation_m": 143.50527650357407,
   "min_gradient_pct": -24.825404735534562,
   "suppressed_max_gradient_pct": 59.76648549999055,
   "suppressed_location_m": [
    1163.0,
    1165.0
   ]
  },
  {
   "window_m": 3.0,
   "max_gradient_pct": 40.49829654754831,
   "diagnostic": true,
   "flags": [
    "structure_excluded"
   ],
   "start_distance_m": 1260.0,
   "end_distance_m": 1263.0,
   "start_elevation_m": 142.67806231461194,
   "end_elevation_m": 143.89301121103838,
   "min_gradient_pct": -22.195659078929946,
   "suppressed_max_gradient_pct": 55.641506764411965,
   "suppressed_location_m": [
    1164.0,
    1167.0
   ]
  },
  {
   "window_m": 5.0,
   "max_gradient_pct": 37.30838811174635,
   "diagnostic": false,
   "flags": [
    "canopy_or_structure",
    "structure_excluded"
   ],
   "start_distance_m": 1260.0,
   "end_distance_m": 1265.0,
   "start_elevation_m": 142.67806231461194,
   "end_elevation_m": 144.54348172019925,
   "min_gradient_pct": -17.095905681496788,
   "suppressed_max_gradient_pct": 53.494364223470825,
   "suppressed_location_m": [
    1163.0,
    1168.0
   ]
  },
  {
   "window_m": 10.0,
   "max_gradient_pct": 31.169387206173838,
   "diagnostic": false,
   "flags": [
    "canopy_or_structure",
    "structure_excluded"
   ],
   "start_distance_m": 1257.0,
   "end_distance_m": 1267.0,
   "start_elevation_m": 141.97741772792523,
   "end_elevation_m": 145.0943564485426,
   "min_gradient_pct": -11.604610985737338,
   "suppressed_max_gradient_pct": 43.02376181187839,
   "suppressed_location_m": [
    1160.0,
    1170.0
   ]
  },
  {
   "window_m": 20.0,
   "max_gradient_pct": 23.460586281664888,
   "diagnostic": false,
   "flags": [
    "structure_excluded"
   ],
   "start_distance_m": 1254.0,
   "end_distance_m": 1274.0,
   "start_elevation_m": 141.4722128884736,
   "end_elevation_m": 146.16433014480657,
   "min_gradient_pct": -5.109847206992129,
   "suppressed_max_gradient_pct": 35.216400043041034,
   "suppressed_location_m": [
    1154.0,
    1174.0
   ]
  },
  {
   "window_m": 25.0,
   "max_gradient_pct": 21.107858833671685,
   "diagnostic": false,
   "flags": [
    "structure_excluded"
   ],
   "start_distance_m": 1246.0,
   "end_distance_m": 1271.0,
   "start_elevation_m": 140.60005793015284,
   "end_elevation_m": 145.87702263857076,
   "min_gradient_pct": -4.873474287475858,
   "suppressed_max_gradient_pct": 31.892979433887035,
   "suppressed_location_m": [
    1152.0,
    1177.0
   ]
  },
  {
   "window_m": 50.0,
   "max_gradient_pct": 17.6893583678567,
   "diagnostic": false,
   "flags": [
    "structure_excluded"
   ],
   "start_distance_m": 1222.0,
   "end_distance_m": 1272.0,
   "start_elevation_m": 137.11119046185468,
   "end_elevation_m": 145.95586964578303,
   "min_gradient_pct": -4.053622489755043,
   "suppressed_max_gradient_pct": 23.537263462968696,
   "suppressed_location_m": [
    1130.0,
    1180.0
   ]
  },
  {
   "window_m": 100.0,
   "max_gradient_pct": 13.116086283894246,
   "diagnostic": false,
   "flags": [
    "canopy_or_structure",
    "structure_excluded"
   ],
   "start_distance_m": 1216.0,
   "end_distance_m": 1316.0,
   "start_elevation_m": 136.75890743119132,
   "end_elevation_m": 149.87499371508557,
   "min_gradient_pct": -3.2847033982174594,
   "suppressed_max_gradient_pct": 16.014351951941748,
   "suppressed_location_m": [
    1089.0,
    1189.0
   ]
  }
 ],
 "shape": {
  "ascent_concentration": 0.494,
  "concentration_window_frac": 0.25,
  "longest_pitch_10pct_m": 63.0,
  "shape_class": "stepped"
 },
 "length_m": 1534.6203647841094,
 "start_elevation_m": 87.64900997161843,
 "end_elevation_m": 155.48741306304908,
 "endpoint_gain_m": 67.83840309143065,
 "overall_gradient_pct": 4.420533224252773,
 "accumulated_ascent_m": 81.0454172439144,
 "window_maxima": {
  "max_5m": {
   "gradient_pct": 37.30838811174635,
   "start_distance_m": 1260.0,
   "end_distance_m": 1265.0,
   "midpoint_distance_m": 1262.5,
   "start_elevation_m": 142.67806231461194,
   "end_elevation_m": 144.54348172019925,
   "start_xy": [
    475038.5286850717,
    128841.68973500852
   ],
   "end_xy": [
    475036.7633557453,
    128846.3677270569
   ]
  },
  "max_10m": {
   "gradient_pct": 31.169387206173838,
   "start_distance_m": 1257.0,
   "end_distance_m": 1267.0,
   "midpoint_distance_m": 1262.0,
   "start_elevation_m": 141.97741772792523,
   "end_elevation_m": 145.0943564485426,
   "start_xy": [
    475039.5886271712,
    128838.88322087185
   ],
   "end_xy": [
    475036.05668997596,
    128848.23872201833
   ]
  },
  "max_20m": {
   "gradient_pct": 23.460586281664888,
   "start_distance_m": 1254.0,
   "end_distance_m": 1274.0,
   "midpoint_distance_m": 1264.0,
   "start_elevation_m": 141.4722128884736,
   "end_elevation_m": 146.16433014480657,
   "start_xy": [
    475040.6478047673,
    128836.07641796768
   ],
   "end_xy": [
    475033.5846947635,
    128854.78770933747
   ]
  },
  "max_25m": {
   "gradient_pct": 21.107858833671685,
   "start_distance_m": 1246.0,
   "end_distance_m": 1271.0,
   "midpoint_distance_m": 1258.5,
   "start_elevation_m": 140.60005793015284,
   "end_elevation_m": 145.87702263857076,
   "start_xy": [
    475043.47366055206,
    128828.59213236051
   ],
   "end_xy": [
    475034.6437615295,
    128851.98086461287
   ]
  },
  "max_50m": {
   "gradient_pct": 17.6893583678567,
   "start_distance_m": 1222.0,
   "end_distance_m": 1272.0,
   "midpoint_distance_m": 1247.0,
   "start_elevation_m": 137.11119046185468,
   "end_elevation_m": 145.95586964578303,
   "start_xy": [
    475051.7069962806,
    128806.05104158407
   ],
   "end_xy": [
    475034.29077625944,
    128852.91649347704
   ]
  },
  "max_100m": {
   "gradient_pct": 13.116086283894246,
   "start_distance_m": 1216.0,
   "end_distance_m": 1316.0,
   "midpoint_distance_m": 1266.0,
   "start_elevation_m": 136.75890743119132,
   "end_elevation_m": 149.87499371508557,
   "start_xy": [
    475053.66156443156,
    128800.37833009874
   ],
   "end_xy": [
    475018.75133722293,
    128894.08110835971
   ]
  }
 },
 "window_minima": {
  "min_5m": {
   "gradient_pct": -17.095905681496788,
   "start_distance_m": 1201.0,
   "end_distance_m": 1206.0,
   "midpoint_distance_m": 1203.5,
   "start_elevation_m": 137.4473102430825,
   "end_elevation_m": 136.59251495900767,
   "start_xy": [
    475058.5466469848,
    128786.19609079567
   ],
   "end_xy": [
    475056.9179869502,
    128790.92340106185
   ]
  },
  "min_10m": {
   "gradient_pct": -11.604610985737338,
   "start_distance_m": 1198.0,
   "end_distance_m": 1208.0,
   "midpoint_distance_m": 1203.0,
   "start_elevation_m": 137.62219235025034,
   "end_elevation_m": 136.4617312516766,
   "start_xy": [
    475059.523581007,
    128783.35961462397
   ],
   "end_xy": [
    475056.26666406204,
    128792.81437361137
   ]
  },
  "min_20m": {
   "gradient_pct": -5.109847206992129,
   "start_distance_m": 225.0,
   "end_distance_m": 245.0,
   "midpoint_distance_m": 235.0,
   "start_elevation_m": 81.33304050162296,
   "end_elevation_m": 80.31107106022453,
   "start_xy": [
    475726.3996870347,
    128473.48116301012
   ],
   "end_xy": [
    475708.65828393045,
    128482.71385211291
   ]
  },
  "min_25m": {
   "gradient_pct": -4.873474287475858,
   "start_distance_m": 220.0,
   "end_distance_m": 245.0,
   "midpoint_distance_m": 232.5,
   "start_elevation_m": 81.5294396320935,
   "end_elevation_m": 80.31107106022453,
   "start_xy": [
    475730.83503349824,
    128471.17298255222
   ],
   "end_xy": [
    475708.65828393045,
    128482.71385211291
   ]
  },
  "min_50m": {
   "gradient_pct": -4.053622489755043,
   "start_distance_m": 200.0,
   "end_distance_m": 250.0,
   "midpoint_distance_m": 225.0,
   "start_elevation_m": 82.17642044685992,
   "end_elevation_m": 80.1496092019824,
   "start_xy": [
    475748.576223092,
    128461.93988418313
   ],
   "end_xy": [
    475704.2229374669,
    128485.02203257078
   ]
  },
  "min_100m": {
   "gradient_pct": -3.2847033982174594,
   "start_distance_m": 145.0,
   "end_distance_m": 245.0,
   "midpoint_distance_m": 195.0,
   "start_elevation_m": 83.595774458442,
   "end_elevation_m": 80.31107106022453,
   "start_xy": [
    475797.36506784026,
    128436.54996474143
   ],
   "end_xy": [
    475708.65828393045,
    128482.71385211291
   ]
  }
 },
 "diagnostic_window_maxima": {
  "max_2m": {
   "gradient_pct": 41.36070944810655,
   "start_distance_m": 1260.0,
   "end_distance_m": 1262.0,
   "midpoint_distance_m": 1261.0,
   "start_elevation_m": 142.67806231461194,
   "end_elevation_m": 143.50527650357407,
   "start_xy": [
    475038.5286850717,
    128841.68973500852
   ],
   "end_xy": [
    475037.822713374,
    128843.5609923001
   ]
  },
  "max_3m": {
   "gradient_pct": 40.49829654754831,
   "start_distance_m": 1260.0,
   "end_distance_m": 1263.0,
   "midpoint_distance_m": 1261.5,
   "start_elevation_m": 142.67806231461194,
   "end_elevation_m": 143.89301121103838,
   "start_xy": [
    475038.5286850717,
    128841.68973500852
   ],
   "end_xy": [
    475037.46972805884,
    128844.49662114725
   ]
  }
 },
 "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.116,
   "obstruction_max_height_m": 16.3,
   "flagged_windows_m": [
    2,
    5,
    10,
    100
   ]
  },
  "structure_suppression": {
   "masked_fraction": 0.006,
   "windows_resited": [
    2.0,
    3.0,
    5.0,
    10.0,
    20.0,
    25.0,
    50.0,
    100.0
   ],
   "windows_unresolved": []
  },
  "excluded_ranges_m": [
   [
    1161.0,
    1169.0
   ]
  ],
  "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/england/bulk_dtm_1m/SU7025.tif",
   "data/cache/england/bulk_dtm_1m/SU7525.tif"
  ],
  "calculated_at": "2026-08-19T18:36:00+00:00",
  "road_source": "OpenStreetMap (local PBF extract)",
  "road_attribution": "\u00a9 OpenStreetMap contributors, ODbL",
  "osm_pbf_path": "data/cache/pbf/england-2026-08-12.osm.pbf",
  "osm_snapshot": "2026-08-12T20:21:46Z",
  "elevation_provider": "Environment Agency",
  "elevation_dataset": "EA LIDAR Composite DTM 1m (2022)",
  "elevation_licence": "Open Government Licence v3 \u2014 \u00a9 Environment Agency",
  "elevation_coverage_id": "13787b9a-26a4-4775-8523-806d13af58fc__Lidar_Composite_Elevation_DTM_1m",
  "elevation_tile_ids": [
   "SU7025.tif",
   "SU7525.tif"
  ],
  "climb_origin": "discovered",
  "notes": "Coarse pass: max 8.3% over 200 m (Terrain 50), gain 20.5 m over 806 m way. EXTENDED by graph walk: +0 segment(s) at base, +3 at top (stop: base=no_descending_continuation, top=no_ascending_continuation; min_avg=2.0%). Review before adopting. DEDUPE: absorbed 1 overlapping proposal(s): hawkley-road-2 ADOPTED (England launch slice 2026-08-16): clean-steep."
 },
 "area": {
  "place": "West Liss",
  "county": "Hampshire"
 }
}