{
 "ocl_version": "0.1.0",
 "name": "Gay's Hill",
 "slug": "gay-s-hill",
 "confidence": "A",
 "reported_claims": [],
 "ladder": [
  {
   "window_m": 2.0,
   "max_gradient_pct": 38.8166297240069,
   "diagnostic": true,
   "flags": [
    "canopy_or_structure"
   ],
   "start_distance_m": 485.0,
   "end_distance_m": 487.0,
   "start_elevation_m": 90.08945141333938,
   "end_elevation_m": 90.86578400781951,
   "min_gradient_pct": -2.82644094276705
  },
  {
   "window_m": 3.0,
   "max_gradient_pct": 35.793367977406376,
   "diagnostic": true,
   "flags": [],
   "start_distance_m": 484.0,
   "end_distance_m": 487.0,
   "start_elevation_m": 89.79198296849732,
   "end_elevation_m": 90.86578400781951,
   "min_gradient_pct": -2.2917174006694316
  },
  {
   "window_m": 5.0,
   "max_gradient_pct": 31.891057828336216,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 482.0,
   "end_distance_m": 487.0,
   "start_elevation_m": 89.2712311164027,
   "end_elevation_m": 90.86578400781951,
   "min_gradient_pct": -0.15282477622150736
  },
  {
   "window_m": 10.0,
   "max_gradient_pct": 28.34260101638165,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 477.0,
   "end_distance_m": 487.0,
   "start_elevation_m": 88.03152390618135,
   "end_elevation_m": 90.86578400781951,
   "min_gradient_pct": 0.7404734308728678
  },
  {
   "window_m": 20.0,
   "max_gradient_pct": 25.55566537114025,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 467.0,
   "end_distance_m": 487.0,
   "start_elevation_m": 85.75465093359146,
   "end_elevation_m": 90.86578400781951,
   "min_gradient_pct": 0.8801502755935786
  },
  {
   "window_m": 25.0,
   "max_gradient_pct": 24.242829837560066,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 462.0,
   "end_distance_m": 487.0,
   "start_elevation_m": 84.8050765484295,
   "end_elevation_m": 90.86578400781951,
   "min_gradient_pct": 0.8702573074890267
  },
  {
   "window_m": 50.0,
   "max_gradient_pct": 19.625000801298924,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 275.0,
   "end_distance_m": 325.0,
   "start_elevation_m": 56.1349125436088,
   "end_elevation_m": 65.94741294425826,
   "min_gradient_pct": 3.2726409320250127
  },
  {
   "window_m": 100.0,
   "max_gradient_pct": 19.029501279733566,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 226.0,
   "end_distance_m": 326.0,
   "start_elevation_m": 47.07960475617459,
   "end_elevation_m": 66.10910603590816,
   "min_gradient_pct": 6.980325057484081
  }
 ],
 "shape": {
  "ascent_concentration": 0.345,
  "concentration_window_frac": 0.25,
  "longest_pitch_10pct_m": 241.0,
  "shape_class": "sustained"
 },
 "length_m": 487.5579960962239,
 "start_elevation_m": 26.84959155580127,
 "end_elevation_m": 91.07503346950166,
 "endpoint_gain_m": 64.2254419137004,
 "overall_gradient_pct": 13.172882493557738,
 "accumulated_ascent_m": 64.38719020791575,
 "window_maxima": {
  "max_5m": {
   "gradient_pct": 31.891057828336216,
   "start_distance_m": 482.0,
   "end_distance_m": 487.0,
   "midpoint_distance_m": 484.5,
   "start_elevation_m": 89.2712311164027,
   "end_elevation_m": 90.86578400781951,
   "start_xy": [
    375108.28137332853,
    165986.63402349275
   ],
   "end_xy": [
    375105.9969408779,
    165991.08164851952
   ]
  },
  "max_10m": {
   "gradient_pct": 28.34260101638165,
   "start_distance_m": 477.0,
   "end_distance_m": 487.0,
   "midpoint_distance_m": 482.0,
   "start_elevation_m": 88.03152390618135,
   "end_elevation_m": 90.86578400781951,
   "start_xy": [
    375110.5658057791,
    165982.186398466
   ],
   "end_xy": [
    375105.9969408779,
    165991.08164851952
   ]
  },
  "max_20m": {
   "gradient_pct": 25.55566537114025,
   "start_distance_m": 467.0,
   "end_distance_m": 487.0,
   "midpoint_distance_m": 477.0,
   "start_elevation_m": 85.75465093359146,
   "end_elevation_m": 90.86578400781951,
   "start_xy": [
    375115.1346706803,
    165973.29114841248
   ],
   "end_xy": [
    375105.9969408779,
    165991.08164851952
   ]
  },
  "max_25m": {
   "gradient_pct": 24.242829837560066,
   "start_distance_m": 462.0,
   "end_distance_m": 487.0,
   "midpoint_distance_m": 474.5,
   "start_elevation_m": 84.8050765484295,
   "end_elevation_m": 90.86578400781951,
   "start_xy": [
    375117.4191031309,
    165968.8435233857
   ],
   "end_xy": [
    375105.9969408779,
    165991.08164851952
   ]
  },
  "max_50m": {
   "gradient_pct": 19.625000801298924,
   "start_distance_m": 275.0,
   "end_distance_m": 325.0,
   "midpoint_distance_m": 300.0,
   "start_elevation_m": 56.1349125436088,
   "end_elevation_m": 65.94741294425826,
   "start_xy": [
    375149.4562740517,
    165800.26948200056
   ],
   "end_xy": [
    375112.1417322824,
    165833.07574889244
   ]
  },
  "max_100m": {
   "gradient_pct": 19.029501279733566,
   "start_distance_m": 226.0,
   "end_distance_m": 326.0,
   "midpoint_distance_m": 276.0,
   "start_elevation_m": 47.07960475617459,
   "end_elevation_m": 66.10910603590816,
   "start_xy": [
    375154.4269955608,
    165752.2137113453
   ],
   "end_xy": [
    375111.66005406895,
    165833.93593248748
   ]
  }
 },
 "window_minima": {
  "min_5m": {
   "gradient_pct": -0.15282477622150736,
   "start_distance_m": 0.0,
   "end_distance_m": 5.0,
   "midpoint_distance_m": 2.5,
   "start_elevation_m": 26.84959155580127,
   "end_elevation_m": 26.841950316990193,
   "start_xy": [
    375346.589,
    165787.644
   ],
   "end_xy": [
    375343.78944055625,
    165791.78676078492
   ]
  },
  "min_10m": {
   "gradient_pct": 0.7404734308728678,
   "start_distance_m": 127.0,
   "end_distance_m": 137.0,
   "midpoint_distance_m": 132.0,
   "start_elevation_m": 38.7390804969167,
   "end_elevation_m": 38.813127840003986,
   "start_xy": [
    375239.603708032,
    165784.64796505607
   ],
   "end_xy": [
    375230.77807379287,
    165779.94603138175
   ]
  },
  "min_20m": {
   "gradient_pct": 0.8801502755935786,
   "start_distance_m": 120.0,
   "end_distance_m": 140.0,
   "midpoint_distance_m": 130.0,
   "start_elevation_m": 38.69018579319031,
   "end_elevation_m": 38.866215848309025,
   "start_xy": [
    375245.37251164817,
    165788.60169654255
   ],
   "end_xy": [
    375228.13038352114,
    165778.53545127946
   ]
  },
  "min_25m": {
   "gradient_pct": 0.8702573074890267,
   "start_distance_m": 113.0,
   "end_distance_m": 138.0,
   "midpoint_distance_m": 125.5,
   "start_elevation_m": 38.61898592794604,
   "end_elevation_m": 38.8365502548183,
   "start_xy": [
    375251.0813001904,
    165792.65258945402
   ],
   "end_xy": [
    375229.895510369,
    165779.47583801433
   ]
  },
  "min_50m": {
   "gradient_pct": 3.2726409320250127,
   "start_distance_m": 102.0,
   "end_distance_m": 152.0,
   "midpoint_distance_m": 127.0,
   "start_elevation_m": 38.17333918945181,
   "end_elevation_m": 39.809659655464316,
   "start_xy": [
    375260.17223272764,
    165798.82968313934
   ],
   "end_xy": [
    375217.4235152634,
    165773.11997229903
   ]
  },
  "min_100m": {
   "gradient_pct": 6.980325057484081,
   "start_distance_m": 103.0,
   "end_distance_m": 203.0,
   "midpoint_distance_m": 153.0,
   "start_elevation_m": 38.25586460688257,
   "end_elevation_m": 45.23618966436665,
   "start_xy": [
    375259.3024597119,
    165798.3362311142
   ],
   "end_xy": [
    375170.1275160797,
    165755.95230170235
   ]
  }
 },
 "diagnostic_window_maxima": {
  "max_2m": {
   "gradient_pct": 38.8166297240069,
   "start_distance_m": 485.0,
   "end_distance_m": 487.0,
   "midpoint_distance_m": 486.0,
   "start_elevation_m": 90.08945141333938,
   "end_elevation_m": 90.86578400781951,
   "start_xy": [
    375106.91071385815,
    165989.30259850883
   ],
   "end_xy": [
    375105.9969408779,
    165991.08164851952
   ]
  },
  "max_3m": {
   "gradient_pct": 35.793367977406376,
   "start_distance_m": 484.0,
   "end_distance_m": 487.0,
   "midpoint_distance_m": 485.5,
   "start_elevation_m": 89.79198296849732,
   "end_elevation_m": 90.86578400781951,
   "start_xy": [
    375107.36760034825,
    165988.41307350347
   ],
   "end_xy": [
    375105.9969408779,
    165991.08164851952
   ]
  }
 },
 "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.01,
   "obstruction_max_height_m": 3.17,
   "flagged_windows_m": [
    2
   ]
  },
  "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/england/bulk_dtm_1m/ST7565.tif"
  ],
  "calculated_at": "2026-08-15T09:53:51+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": [
   "ST7565.tif"
  ],
  "climb_origin": "discovered",
  "notes": "Coarse pass: max 15.5% over 200 m (Terrain 50), gain 31.0 m over 190 m way. EXTENDED by graph walk: +4 segment(s) at base, +1 at top (stop: base=no_descending_continuation, top=no_ascending_continuation; min_avg=2.0%). Review before adopting."
 },
 "area": {
  "place": "Bath",
  "county": "Bath and North East Somerset"
 }
}