{
 "ocl_version": "0.1.0",
 "name": "Ganton Hill",
 "slug": "ganton-hill",
 "confidence": "A",
 "reported_claims": [],
 "ladder": [
  {
   "window_m": 2.0,
   "max_gradient_pct": 47.816003169592136,
   "diagnostic": true,
   "flags": [],
   "start_distance_m": 1137.0,
   "end_distance_m": 1139.0,
   "start_elevation_m": 148.82019427005858,
   "end_elevation_m": 149.77651433345042,
   "min_gradient_pct": -17.52461492690003
  },
  {
   "window_m": 3.0,
   "max_gradient_pct": 43.06582066066559,
   "diagnostic": true,
   "flags": [],
   "start_distance_m": 1136.0,
   "end_distance_m": 1139.0,
   "start_elevation_m": 148.48453971363045,
   "end_elevation_m": 149.77651433345042,
   "min_gradient_pct": -18.01927333038975
  },
  {
   "window_m": 5.0,
   "max_gradient_pct": 38.16488880155987,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 1136.0,
   "end_distance_m": 1141.0,
   "start_elevation_m": 148.48453971363045,
   "end_elevation_m": 150.39278415370845,
   "min_gradient_pct": -7.1295684787099844
  },
  {
   "window_m": 10.0,
   "max_gradient_pct": 30.969482474539234,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 1133.0,
   "end_distance_m": 1143.0,
   "start_elevation_m": 147.8723881240755,
   "end_elevation_m": 150.96933637152944,
   "min_gradient_pct": -5.980258545162087
  },
  {
   "window_m": 20.0,
   "max_gradient_pct": 25.969794291284103,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 1128.0,
   "end_distance_m": 1148.0,
   "start_elevation_m": 146.90712378671236,
   "end_elevation_m": 152.10108264496918,
   "min_gradient_pct": -5.551452684570393
  },
  {
   "window_m": 25.0,
   "max_gradient_pct": 23.671626702362687,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 1123.0,
   "end_distance_m": 1148.0,
   "start_elevation_m": 146.1831759693785,
   "end_elevation_m": 152.10108264496918,
   "min_gradient_pct": -5.3372688827601
  },
  {
   "window_m": 50.0,
   "max_gradient_pct": 19.159166287263986,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 1098.0,
   "end_distance_m": 1148.0,
   "start_elevation_m": 142.5214995013372,
   "end_elevation_m": 152.10108264496918,
   "min_gradient_pct": -5.075398275207817
  },
  {
   "window_m": 100.0,
   "max_gradient_pct": 16.627014551777478,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 1048.0,
   "end_distance_m": 1148.0,
   "start_elevation_m": 135.4740680931917,
   "end_elevation_m": 152.10108264496918,
   "min_gradient_pct": -4.756256276832232
  }
 ],
 "shape": {
  "ascent_concentration": 0.49,
  "concentration_window_frac": 0.25,
  "longest_pitch_10pct_m": 209.0,
  "shape_class": "stepped"
 },
 "length_m": 1797.9466874092395,
 "start_elevation_m": 49.007075430786095,
 "end_elevation_m": 159.76061158105463,
 "endpoint_gain_m": 110.75353615026853,
 "overall_gradient_pct": 6.160001123829729,
 "accumulated_ascent_m": 123.20045274067431,
 "window_maxima": {
  "max_5m": {
   "gradient_pct": 38.16488880155987,
   "start_distance_m": 1136.0,
   "end_distance_m": 1141.0,
   "midpoint_distance_m": 1138.5,
   "start_elevation_m": 148.48453971363045,
   "end_elevation_m": 150.39278415370845,
   "start_xy": [
    499473.3806303224,
    476665.1646874087
   ],
   "end_xy": [
    499476.93710843887,
    476661.65022252675
   ]
  },
  "max_10m": {
   "gradient_pct": 30.969482474539234,
   "start_distance_m": 1133.0,
   "end_distance_m": 1143.0,
   "midpoint_distance_m": 1138.0,
   "start_elevation_m": 147.8723881240755,
   "end_elevation_m": 150.96933637152944,
   "start_xy": [
    499471.2467434525,
    476667.27336633793
   ],
   "end_xy": [
    499478.0816137543,
    476660.0293607056
   ]
  },
  "max_20m": {
   "gradient_pct": 25.969794291284103,
   "start_distance_m": 1128.0,
   "end_distance_m": 1148.0,
   "midpoint_distance_m": 1138.0,
   "start_elevation_m": 146.90712378671236,
   "end_elevation_m": 152.10108264496918,
   "start_xy": [
    499467.5598398516,
    476670.60464802507
   ],
   "end_xy": [
    499480.5889703487,
    476655.7034893589
   ]
  },
  "max_25m": {
   "gradient_pct": 23.671626702362687,
   "start_distance_m": 1123.0,
   "end_distance_m": 1148.0,
   "midpoint_distance_m": 1135.5,
   "start_elevation_m": 146.1831759693785,
   "end_elevation_m": 152.10108264496918,
   "start_xy": [
    499463.0751584009,
    476672.81544704054
   ],
   "end_xy": [
    499480.5889703487,
    476655.7034893589
   ]
  },
  "max_50m": {
   "gradient_pct": 19.159166287263986,
   "start_distance_m": 1098.0,
   "end_distance_m": 1148.0,
   "midpoint_distance_m": 1123.0,
   "start_elevation_m": 142.5214995013372,
   "end_elevation_m": 152.10108264496918,
   "start_xy": [
    499439.6833330643,
    476681.02474955923
   ],
   "end_xy": [
    499480.5889703487,
    476655.7034893589
   ]
  },
  "max_100m": {
   "gradient_pct": 16.627014551777478,
   "start_distance_m": 1048.0,
   "end_distance_m": 1148.0,
   "midpoint_distance_m": 1098.0,
   "start_elevation_m": 135.4740680931917,
   "end_elevation_m": 152.10108264496918,
   "start_xy": [
    499390.31274892075,
    476688.6941650409
   ],
   "end_xy": [
    499480.5889703487,
    476655.7034893589
   ]
  }
 },
 "window_minima": {
  "min_5m": {
   "gradient_pct": -7.1295684787099844,
   "start_distance_m": 1158.0,
   "end_distance_m": 1163.0,
   "midpoint_distance_m": 1160.5,
   "start_elevation_m": 153.10283979806448,
   "end_elevation_m": 152.74636137412898,
   "start_xy": [
    499485.6036835375,
    476647.0517466654
   ],
   "end_xy": [
    499488.1110401319,
    476642.72587531863
   ]
  },
  "min_10m": {
   "gradient_pct": -5.980258545162087,
   "start_distance_m": 1749.0,
   "end_distance_m": 1759.0,
   "midpoint_distance_m": 1754.0,
   "start_elevation_m": 162.1670876048135,
   "end_elevation_m": 161.5690617502973,
   "start_xy": [
    499599.9155570571,
    476077.14685485105
   ],
   "end_xy": [
    499600.9602534836,
    476067.201574092
   ]
  },
  "min_20m": {
   "gradient_pct": -5.551452684570393,
   "start_distance_m": 1747.0,
   "end_distance_m": 1767.0,
   "midpoint_distance_m": 1757.0,
   "start_elevation_m": 162.2728529496963,
   "end_elevation_m": 161.16256241278222,
   "start_xy": [
    499599.70661777176,
    476079.1359110028
   ],
   "end_xy": [
    499601.7960106249,
    476059.2453494847
   ]
  },
  "min_25m": {
   "gradient_pct": -5.3372688827601,
   "start_distance_m": 1743.0,
   "end_distance_m": 1768.0,
   "midpoint_distance_m": 1755.5,
   "start_elevation_m": 162.45426306042336,
   "end_elevation_m": 161.11994583973333,
   "start_xy": [
    499599.2887392011,
    476083.11402330647
   ],
   "end_xy": [
    499601.90048026753,
    476058.2508214088
   ]
  },
  "min_50m": {
   "gradient_pct": -5.075398275207817,
   "start_distance_m": 1731.0,
   "end_distance_m": 1781.0,
   "midpoint_distance_m": 1756.0,
   "start_elevation_m": 163.0309440335131,
   "end_elevation_m": 160.49324489590919,
   "start_xy": [
    499597.8614862771,
    476095.0284825145
   ],
   "end_xy": [
    499603.2585856221,
    476045.32195642206
   ]
  },
  "min_100m": {
   "gradient_pct": -4.756256276832232,
   "start_distance_m": 1696.0,
   "end_distance_m": 1796.0,
   "midpoint_distance_m": 1746.0,
   "start_elevation_m": 164.59293208881542,
   "end_elevation_m": 159.83667581198318,
   "start_xy": [
    499594.1116250978,
    476129.8245917447
   ],
   "end_xy": [
    499604.82563026197,
    476030.4040352835
   ]
  }
 },
 "diagnostic_window_maxima": {
  "max_2m": {
   "gradient_pct": 47.816003169592136,
   "start_distance_m": 1137.0,
   "end_distance_m": 1139.0,
   "midpoint_distance_m": 1138.0,
   "start_elevation_m": 148.82019427005858,
   "end_elevation_m": 149.77651433345042,
   "start_xy": [
    499474.0919259457,
    476664.4617944323
   ],
   "end_xy": [
    499475.5145171923,
    476663.0560084795
   ]
  },
  "max_3m": {
   "gradient_pct": 43.06582066066559,
   "start_distance_m": 1136.0,
   "end_distance_m": 1139.0,
   "midpoint_distance_m": 1137.5,
   "start_elevation_m": 148.48453971363045,
   "end_elevation_m": 149.77651433345042,
   "start_xy": [
    499473.3806303224,
    476665.1646874087
   ],
   "end_xy": [
    499475.5145171923,
    476663.0560084795
   ]
  }
 },
 "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.003,
   "obstruction_max_height_m": 7.61,
   "flagged_windows_m": []
  },
  "review": [],
  "extent": [
   "descends_at_end"
  ],
  "suggested_summit_cut_m": 1415.0,
  "trailing_descent_m": 11.6
 },
 "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/SE9575.tif"
  ],
  "calculated_at": "2026-08-15T23:16:04+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": [
   "SE9575.tif"
  ],
  "climb_origin": "discovered",
  "notes": "Coarse pass: max 14.7% over 200 m (Terrain 50), gain 97.7 m over 1545 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."
 },
 "area": {
  "place": "Ganton",
  "county": "North Yorkshire"
 }
}