{
 "ocl_version": "0.1.0",
 "name": "Hillside",
 "slug": "hillside-2",
 "confidence": "B",
 "reported_claims": [],
 "ladder": [
  {
   "window_m": 2.0,
   "max_gradient_pct": 23.914350045960475,
   "diagnostic": true,
   "flags": [
    "canopy_or_structure",
    "structure_excluded"
   ],
   "start_distance_m": 583.0,
   "end_distance_m": 585.0,
   "start_elevation_m": 177.58642405661737,
   "end_elevation_m": 178.06471105753658,
   "min_gradient_pct": -199.27563815116898,
   "suppressed_max_gradient_pct": 159.85466972949354,
   "suppressed_location_m": [
    197.0,
    199.0
   ]
  },
  {
   "window_m": 3.0,
   "max_gradient_pct": 22.967208865217497,
   "diagnostic": true,
   "flags": [
    "structure_excluded"
   ],
   "start_distance_m": 583.0,
   "end_distance_m": 586.0,
   "start_elevation_m": 177.58642405661737,
   "end_elevation_m": 178.2754403225739,
   "min_gradient_pct": -144.00693311657733,
   "suppressed_max_gradient_pct": 152.45438764285572,
   "suppressed_location_m": [
    197.0,
    200.0
   ]
  },
  {
   "window_m": 5.0,
   "max_gradient_pct": 21.89926831853768,
   "diagnostic": false,
   "flags": [
    "structure_excluded"
   ],
   "start_distance_m": 581.0,
   "end_distance_m": 586.0,
   "start_elevation_m": 177.18047690664702,
   "end_elevation_m": 178.2754403225739,
   "min_gradient_pct": -90.43840209935297,
   "suppressed_max_gradient_pct": 96.1750107540621,
   "suppressed_location_m": [
    197.0,
    202.0
   ]
  },
  {
   "window_m": 10.0,
   "max_gradient_pct": 21.33602132041233,
   "diagnostic": false,
   "flags": [
    "structure_excluded"
   ],
   "start_distance_m": 576.0,
   "end_distance_m": 586.0,
   "start_elevation_m": 176.14183819053267,
   "end_elevation_m": 178.2754403225739,
   "min_gradient_pct": -46.736817063379306,
   "suppressed_max_gradient_pct": 51.75531205518737,
   "suppressed_location_m": [
    193.0,
    203.0
   ]
  },
  {
   "window_m": 20.0,
   "max_gradient_pct": 20.306321384967276,
   "diagnostic": false,
   "flags": [
    "structure_excluded"
   ],
   "start_distance_m": 576.0,
   "end_distance_m": 596.0,
   "start_elevation_m": 176.14183819053267,
   "end_elevation_m": 180.20310246752612,
   "min_gradient_pct": -20.14541169812091,
   "suppressed_max_gradient_pct": 28.567661410494196,
   "suppressed_location_m": [
    196.0,
    216.0
   ]
  },
  {
   "window_m": 25.0,
   "max_gradient_pct": 20.21481322837792,
   "diagnostic": false,
   "flags": [
    "structure_excluded"
   ],
   "start_distance_m": 577.0,
   "end_distance_m": 602.0,
   "start_elevation_m": 176.3372813336447,
   "end_elevation_m": 181.3909846407392,
   "min_gradient_pct": -14.614128056693062,
   "suppressed_max_gradient_pct": 24.52367198131435,
   "suppressed_location_m": [
    197.0,
    222.0
   ]
  },
  {
   "window_m": 50.0,
   "max_gradient_pct": 19.88437149638969,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 576.0,
   "end_distance_m": 626.0,
   "start_elevation_m": 176.14183819053267,
   "end_elevation_m": 186.0840239387275,
   "min_gradient_pct": -1.17380980201105
  },
  {
   "window_m": 100.0,
   "max_gradient_pct": 19.600665130445293,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 522.0,
   "end_distance_m": 622.0,
   "start_elevation_m": 165.73170495830652,
   "end_elevation_m": 185.33237008875182,
   "min_gradient_pct": 0.5779979899810854
  }
 ],
 "shape": {
  "ascent_concentration": 0.354,
  "concentration_window_frac": 0.25,
  "longest_pitch_10pct_m": 448.0,
  "shape_class": "sustained"
 },
 "length_m": 728.5346207955195,
 "start_elevation_m": 112.72534246837328,
 "end_elevation_m": 201.94936371170274,
 "endpoint_gain_m": 89.22402124332946,
 "overall_gradient_pct": 12.24705301525709,
 "accumulated_ascent_m": 95.49521628256133,
 "window_maxima": {
  "max_5m": {
   "gradient_pct": 21.89926831853768,
   "start_distance_m": 581.0,
   "end_distance_m": 586.0,
   "midpoint_distance_m": 583.5,
   "start_elevation_m": 177.18047690664702,
   "end_elevation_m": 178.2754403225739,
   "start_xy": [
    320951.51518712065,
    198381.79063286388
   ],
   "end_xy": [
    320946.9180824342,
    198383.7570073201
   ]
  },
  "max_10m": {
   "gradient_pct": 21.33602132041233,
   "start_distance_m": 576.0,
   "end_distance_m": 586.0,
   "midpoint_distance_m": 581.0,
   "start_elevation_m": 176.14183819053267,
   "end_elevation_m": 178.2754403225739,
   "start_xy": [
    320956.1122918071,
    198379.8242584077
   ],
   "end_xy": [
    320946.9180824342,
    198383.7570073201
   ]
  },
  "max_20m": {
   "gradient_pct": 20.306321384967276,
   "start_distance_m": 576.0,
   "end_distance_m": 596.0,
   "midpoint_distance_m": 586.0,
   "start_elevation_m": 176.14183819053267,
   "end_elevation_m": 180.20310246752612,
   "start_xy": [
    320956.1122918071,
    198379.8242584077
   ],
   "end_xy": [
    320936.96625832067,
    198384.29725868427
   ]
  },
  "max_25m": {
   "gradient_pct": 20.21481322837792,
   "start_distance_m": 577.0,
   "end_distance_m": 602.0,
   "midpoint_distance_m": 589.5,
   "start_elevation_m": 176.3372813336447,
   "end_elevation_m": 181.3909846407392,
   "start_xy": [
    320955.19287086977,
    198380.21753329894
   ],
   "end_xy": [
    320930.9699835231,
    198384.50865535284
   ]
  },
  "max_50m": {
   "gradient_pct": 19.88437149638969,
   "start_distance_m": 576.0,
   "end_distance_m": 626.0,
   "midpoint_distance_m": 601.0,
   "start_elevation_m": 176.14183819053267,
   "end_elevation_m": 186.0840239387275,
   "start_xy": [
    320956.1122918071,
    198379.8242584077
   ],
   "end_xy": [
    320907.8463651183,
    198389.1610026965
   ]
  },
  "max_100m": {
   "gradient_pct": 19.600665130445293,
   "start_distance_m": 522.0,
   "end_distance_m": 622.0,
   "midpoint_distance_m": 572.0,
   "start_elevation_m": 165.73170495830652,
   "end_elevation_m": 185.33237008875182,
   "start_xy": [
    321008.11964642466,
    198367.89388096778
   ],
   "end_xy": [
    320911.48779408535,
    198387.5057096476
   ]
  }
 },
 "window_minima": {
  "min_5m": {
   "gradient_pct": -90.43840209935297,
   "start_distance_m": 185.0,
   "end_distance_m": 190.0,
   "midpoint_distance_m": 187.5,
   "start_elevation_m": 122.26113381491933,
   "end_elevation_m": 117.73921370995168,
   "start_xy": [
    321281.688014277,
    198319.6794291857
   ],
   "end_xy": [
    321281.76110964286,
    198314.6799635075
   ]
  },
  "min_10m": {
   "gradient_pct": -46.736817063379306,
   "start_distance_m": 183.0,
   "end_distance_m": 193.0,
   "midpoint_distance_m": 188.0,
   "start_elevation_m": 122.15411780157824,
   "end_elevation_m": 117.48043609524031,
   "start_xy": [
    321281.6587761307,
    198321.67921545697
   ],
   "end_xy": [
    321281.4805454462,
    198312.13567346343
   ]
  },
  "min_20m": {
   "gradient_pct": -20.14541169812091,
   "start_distance_m": 174.0,
   "end_distance_m": 194.0,
   "midpoint_distance_m": 184.0,
   "start_elevation_m": 121.57502257134924,
   "end_elevation_m": 117.54594023172506,
   "start_xy": [
    321282.1574287493,
    198330.62792727555
   ],
   "end_xy": [
    321280.54028796643,
    198312.4761376638
   ]
  },
  "min_25m": {
   "gradient_pct": -14.614128056693062,
   "start_distance_m": 172.0,
   "end_distance_m": 197.0,
   "midpoint_distance_m": 184.5,
   "start_elevation_m": 121.44009372937198,
   "end_elevation_m": 117.78656171519872,
   "start_xy": [
    321282.79886226385,
    198332.24385733178
   ],
   "end_xy": [
    321277.7195155271,
    198313.4975302648
   ]
  },
  "min_50m": {
   "gradient_pct": -1.17380980201105,
   "start_distance_m": 146.0,
   "end_distance_m": 196.0,
   "midpoint_distance_m": 171.0,
   "start_elevation_m": 118.29595881250953,
   "end_elevation_m": 117.709053911504,
   "start_xy": [
    321308.5108513801,
    198330.35759007637
   ],
   "end_xy": [
    321278.65977300686,
    198313.15706606445
   ]
  },
  "min_100m": {
   "gradient_pct": 0.5779979899810854,
   "start_distance_m": 93.0,
   "end_distance_m": 193.0,
   "midpoint_distance_m": 143.0,
   "start_elevation_m": 116.90243810525922,
   "end_elevation_m": 117.48043609524031,
   "start_xy": [
    321283.77250164014,
    198305.04792329256
   ],
   "end_xy": [
    321281.4805454462,
    198312.13567346343
   ]
  }
 },
 "diagnostic_window_maxima": {
  "max_2m": {
   "gradient_pct": 23.914350045960475,
   "start_distance_m": 583.0,
   "end_distance_m": 585.0,
   "midpoint_distance_m": 584.0,
   "start_elevation_m": 177.58642405661737,
   "end_elevation_m": 178.06471105753658,
   "start_xy": [
    320949.676345246,
    198382.57718264638
   ],
   "end_xy": [
    320947.83750337147,
    198383.36373242884
   ]
  },
  "max_3m": {
   "gradient_pct": 22.967208865217497,
   "start_distance_m": 583.0,
   "end_distance_m": 586.0,
   "midpoint_distance_m": 584.5,
   "start_elevation_m": 177.58642405661737,
   "end_elevation_m": 178.2754403225739,
   "start_xy": [
    320949.676345246,
    198382.57718264638
   ],
   "end_xy": [
    320946.9180824342,
    198383.7570073201
   ]
  }
 },
 "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.078,
   "obstruction_max_height_m": 11.9,
   "flagged_windows_m": [
    2
   ]
  },
  "structure_suppression": {
   "masked_fraction": 0.066,
   "windows_resited": [
    2.0,
    3.0,
    5.0,
    10.0,
    20.0,
    25.0
   ],
   "windows_unresolved": []
  },
  "excluded_ranges_m": [
   [
    157.0,
    204.0
   ]
  ],
  "review": [],
  "extent": [
   "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/wales/dtm_1m/wg_del_5_320198_20201224dtm.tif",
   "data/cache/wales/dtm_1m/wg_del_5_321198_20201224dtm.tif"
  ],
  "calculated_at": "2026-08-20T23:06:35+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_5_320198_20201224dtm.tif",
   "wg_del_5_321198_20201224dtm.tif"
  ],
  "elevation_capture_dates": [
   "24-12-2020"
  ],
  "climb_origin": "discovered",
  "notes": "Coarse pass: max 17.3% over 200 m (Terrain 50), gain 25.5 m over 147 m way. EXTENDED by graph walk: +10 segment(s) at base, +0 at top (stop: base=no_descending_continuation, top=no_ascending_continuation; min_avg=2.0%). Review before adopting. DEDUPE: absorbed 1 overlapping proposal(s): hillside-3 ROAD-REVIEW: way 245695975: unnamed service way; way 245695975: service way, surface untagged ADOPTED (notable slice 2026-08-11): clean-steep.",
  "license": "ODbL-1.0",
  "license_url": "https://howsteep.org/licensing.html"
 }
}