{
 "ocl_version": "0.1.0",
 "name": "Saintbury Hill",
 "slug": "saintbury-hill",
 "confidence": "U",
 "reported_claims": [],
 "ladder": [
  {
   "window_m": 2.0,
   "max_gradient_pct": 52.19626194831193,
   "diagnostic": true,
   "flags": [
    "canopy_or_structure"
   ],
   "start_distance_m": 950.0,
   "end_distance_m": 952.0,
   "start_elevation_m": 155.55883359124243,
   "end_elevation_m": 156.60275883020867,
   "min_gradient_pct": -7.353547443582897
  },
  {
   "window_m": 3.0,
   "max_gradient_pct": 47.28770483412935,
   "diagnostic": true,
   "flags": [
    "canopy_or_structure"
   ],
   "start_distance_m": 949.0,
   "end_distance_m": 952.0,
   "start_elevation_m": 155.1841276851848,
   "end_elevation_m": 156.60275883020867,
   "min_gradient_pct": -4.082917303787781
  },
  {
   "window_m": 5.0,
   "max_gradient_pct": 49.0902077133353,
   "diagnostic": false,
   "flags": [
    "canopy_or_structure"
   ],
   "start_distance_m": 950.0,
   "end_distance_m": 955.0,
   "start_elevation_m": 155.55883359124243,
   "end_elevation_m": 158.0133439769092,
   "min_gradient_pct": -2.29224973840644
  },
  {
   "window_m": 10.0,
   "max_gradient_pct": 39.59678962338927,
   "diagnostic": false,
   "flags": [
    "canopy_or_structure"
   ],
   "start_distance_m": 945.0,
   "end_distance_m": 955.0,
   "start_elevation_m": 154.05366501457027,
   "end_elevation_m": 158.0133439769092,
   "min_gradient_pct": -0.856305324149389
  },
  {
   "window_m": 20.0,
   "max_gradient_pct": 27.901247533924618,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 935.0,
   "end_distance_m": 955.0,
   "start_elevation_m": 152.43309447012427,
   "end_elevation_m": 158.0133439769092,
   "min_gradient_pct": 0.07659073836052244
  },
  {
   "window_m": 25.0,
   "max_gradient_pct": 25.47562817463927,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 930.0,
   "end_distance_m": 955.0,
   "start_elevation_m": 151.64443693324938,
   "end_elevation_m": 158.0133439769092,
   "min_gradient_pct": 0.3694145448512245
  },
  {
   "window_m": 50.0,
   "max_gradient_pct": 18.767240231841072,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 905.0,
   "end_distance_m": 955.0,
   "start_elevation_m": 148.62972386098866,
   "end_elevation_m": 158.0133439769092,
   "min_gradient_pct": 1.3161021531673214
  },
  {
   "window_m": 100.0,
   "max_gradient_pct": 17.11576627857852,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 855.0,
   "end_distance_m": 955.0,
   "start_elevation_m": 140.89757769833068,
   "end_elevation_m": 158.0133439769092,
   "min_gradient_pct": 1.7870047037819603
  }
 ],
 "shape": {
  "ascent_concentration": 0.36,
  "concentration_window_frac": 0.25,
  "longest_pitch_10pct_m": 124.0,
  "shape_class": "sustained"
 },
 "length_m": 2353.096336973167,
 "start_elevation_m": 72.72424497363353,
 "end_elevation_m": 262.9636928613281,
 "endpoint_gain_m": 190.2394478876946,
 "overall_gradient_pct": 8.084643407859929,
 "accumulated_ascent_m": 191.47915403726492,
 "window_maxima": {
  "max_5m": {
   "gradient_pct": 49.0902077133353,
   "start_distance_m": 950.0,
   "end_distance_m": 955.0,
   "midpoint_distance_m": 952.5,
   "start_elevation_m": 155.55883359124243,
   "end_elevation_m": 158.0133439769092,
   "start_xy": [
    412003.02064811945,
    239508.8326228288
   ],
   "end_xy": [
    412007.63392893574,
    239506.91880243082
   ]
  },
  "max_10m": {
   "gradient_pct": 39.59678962338927,
   "start_distance_m": 945.0,
   "end_distance_m": 955.0,
   "midpoint_distance_m": 950.0,
   "start_elevation_m": 154.05366501457027,
   "end_elevation_m": 158.0133439769092,
   "start_xy": [
    411998.3943208297,
    239510.72922394882
   ],
   "end_xy": [
    412007.63392893574,
    239506.91880243082
   ]
  },
  "max_20m": {
   "gradient_pct": 27.901247533924618,
   "start_distance_m": 935.0,
   "end_distance_m": 955.0,
   "midpoint_distance_m": 945.0,
   "start_elevation_m": 152.43309447012427,
   "end_elevation_m": 158.0133439769092,
   "start_xy": [
    411989.1416662503,
    239514.52242618884
   ],
   "end_xy": [
    412007.63392893574,
    239506.91880243082
   ]
  },
  "max_25m": {
   "gradient_pct": 25.47562817463927,
   "start_distance_m": 930.0,
   "end_distance_m": 955.0,
   "midpoint_distance_m": 942.5,
   "start_elevation_m": 151.64443693324938,
   "end_elevation_m": 158.0133439769092,
   "start_xy": [
    411984.51533896057,
    239516.41902730885
   ],
   "end_xy": [
    412007.63392893574,
    239506.91880243082
   ]
  },
  "max_50m": {
   "gradient_pct": 18.767240231841072,
   "start_distance_m": 905.0,
   "end_distance_m": 955.0,
   "midpoint_distance_m": 930.0,
   "start_elevation_m": 148.62972386098866,
   "end_elevation_m": 158.0133439769092,
   "start_xy": [
    411960.45654413645,
    239521.16651331604
   ],
   "end_xy": [
    412007.63392893574,
    239506.91880243082
   ]
  },
  "max_100m": {
   "gradient_pct": 17.11576627857852,
   "start_distance_m": 855.0,
   "end_distance_m": 955.0,
   "midpoint_distance_m": 905.0,
   "start_elevation_m": 140.89757769833068,
   "end_elevation_m": 158.0133439769092,
   "start_xy": [
    411910.4566849272,
    239521.04785842166
   ],
   "end_xy": [
    412007.63392893574,
    239506.91880243082
   ]
  }
 },
 "window_minima": {
  "min_5m": {
   "gradient_pct": -2.29224973840644,
   "start_distance_m": 1.0,
   "end_distance_m": 6.0,
   "midpoint_distance_m": 3.5,
   "start_elevation_m": 72.72916716015322,
   "end_elevation_m": 72.6145546732329,
   "start_xy": [
    411668.41840945237,
    240237.0298596237
   ],
   "end_xy": [
    411671.07943819085,
    240232.85321643352
   ]
  },
  "min_10m": {
   "gradient_pct": -0.856305324149389,
   "start_distance_m": 0.0,
   "end_distance_m": 10.0,
   "midpoint_distance_m": 5.0,
   "start_elevation_m": 72.72424497363353,
   "end_elevation_m": 72.63861444121859,
   "start_xy": [
    411667.764,
    240237.786
   ],
   "end_xy": [
    411672.3840804975,
    240229.11954456771
   ]
  },
  "min_20m": {
   "gradient_pct": 0.07659073836052244,
   "start_distance_m": 1.0,
   "end_distance_m": 21.0,
   "midpoint_distance_m": 11.0,
   "start_elevation_m": 72.72916716015322,
   "end_elevation_m": 72.74448530782533,
   "start_xy": [
    411668.41840945237,
    240237.0298596237
   ],
   "end_xy": [
    411673.6146247294,
    240218.18859031415
   ]
  },
  "min_25m": {
   "gradient_pct": 0.3694145448512245,
   "start_distance_m": 1.0,
   "end_distance_m": 26.0,
   "midpoint_distance_m": 13.5,
   "start_elevation_m": 72.72916716015322,
   "end_elevation_m": 72.82152079636603,
   "start_xy": [
    411668.41840945237,
    240237.0298596237
   ],
   "end_xy": [
    411674.1739630166,
    240213.21997474434
   ]
  },
  "min_50m": {
   "gradient_pct": 1.3161021531673214,
   "start_distance_m": 0.0,
   "end_distance_m": 50.0,
   "midpoint_distance_m": 25.0,
   "start_elevation_m": 72.72424497363353,
   "end_elevation_m": 73.38229605021719,
   "start_xy": [
    411667.764,
    240237.786
   ],
   "end_xy": [
    411676.8587867952,
    240189.37062000931
   ]
  },
  "min_100m": {
   "gradient_pct": 1.7870047037819603,
   "start_distance_m": 0.0,
   "end_distance_m": 100.0,
   "midpoint_distance_m": 50.0,
   "start_elevation_m": 72.72424497363353,
   "end_elevation_m": 74.51124967741549,
   "start_xy": [
    411667.764,
    240237.786
   ],
   "end_xy": [
    411679.92969029146,
    240139.47324675584
   ]
  }
 },
 "diagnostic_window_maxima": {
  "max_2m": {
   "gradient_pct": 52.19626194831193,
   "start_distance_m": 950.0,
   "end_distance_m": 952.0,
   "midpoint_distance_m": 951.0,
   "start_elevation_m": 155.55883359124243,
   "end_elevation_m": 156.60275883020867,
   "start_xy": [
    412003.02064811945,
    239508.8326228288
   ],
   "end_xy": [
    412004.87117903534,
    239508.0739823808
   ]
  },
  "max_3m": {
   "gradient_pct": 47.28770483412935,
   "start_distance_m": 949.0,
   "end_distance_m": 952.0,
   "midpoint_distance_m": 950.5,
   "start_elevation_m": 155.1841276851848,
   "end_elevation_m": 156.60275883020867,
   "start_xy": [
    412002.0953826615,
    239509.2119430528
   ],
   "end_xy": [
    412004.87117903534,
    239508.0739823808
   ]
  }
 },
 "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.098,
   "obstruction_max_height_m": 17.05,
   "flagged_windows_m": [
    2,
    3,
    5,
    10
   ]
  },
  "review": [
   "max5_over_45",
   "short_window_divergence"
  ],
  "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/SP1035.tif",
   "data/cache/england/bulk_dtm_1m/SP1040.tif"
  ],
  "calculated_at": "2026-08-15T13:36:06+00:00",
  "road_source": "OpenStreetMap (local PBF extract)",
  "road_attribution": "\u00a9 OpenStreetMap contributors, ODbL",
  "osm_pbf_path": "data/cache/pbf/england-2026-08-12-roads.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": [
   "SP1035.tif",
   "SP1040.tif"
  ],
  "climb_origin": "discovered",
  "notes": "Coarse pass: max 7.7% over 200 m (Terrain 50), gain 25.4 m over 375 m way. EXTENDED by graph walk: +8 segment(s) at base, +2 at top (stop: base=no_descending_continuation, top=no_ascending_continuation; min_avg=2.0%). Review before adopting. DEDUPE: absorbed 2 overlapping proposal(s): saintbury-hill-2, saintbury-hill-3"
 },
 "area": {
  "place": "Saintbury",
  "county": "Gloucestershire"
 }
}