{
 "ocl_version": "0.1.0",
 "name": "Penglais Hill",
 "slug": "penglais-hill",
 "ladder": [
  {
   "window_m": 2.0,
   "max_gradient_pct": 14.604296991362986,
   "diagnostic": true,
   "flags": [
    "canopy_or_structure"
   ],
   "start_distance_m": 442.0,
   "end_distance_m": 444.0,
   "start_elevation_m": 31.834301312139978,
   "end_elevation_m": 32.12638725196724,
   "min_gradient_pct": 0.5085213390154664
  },
  {
   "window_m": 3.0,
   "max_gradient_pct": 13.632142010598614,
   "diagnostic": true,
   "flags": [],
   "start_distance_m": 949.0,
   "end_distance_m": 952.0,
   "start_elevation_m": 78.6887595393895,
   "end_elevation_m": 79.09772379970745,
   "min_gradient_pct": 1.067292658129304
  },
  {
   "window_m": 5.0,
   "max_gradient_pct": 12.788382337078872,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 951.0,
   "end_distance_m": 956.0,
   "start_elevation_m": 78.9070137677026,
   "end_elevation_m": 79.54643288455654,
   "min_gradient_pct": 1.6099565991999043
  },
  {
   "window_m": 10.0,
   "max_gradient_pct": 11.787072926695146,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 946.0,
   "end_distance_m": 956.0,
   "start_elevation_m": 78.36772559188702,
   "end_elevation_m": 79.54643288455654,
   "min_gradient_pct": 1.705983598139369
  },
  {
   "window_m": 20.0,
   "max_gradient_pct": 11.176393717201876,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 1039.0,
   "end_distance_m": 1059.0,
   "start_elevation_m": 88.28827976789263,
   "end_elevation_m": 90.52355851133301,
   "min_gradient_pct": 2.1111344412727817
  },
  {
   "window_m": 25.0,
   "max_gradient_pct": 11.17231063427738,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 931.0,
   "end_distance_m": 956.0,
   "start_elevation_m": 76.75335522598719,
   "end_elevation_m": 79.54643288455654,
   "min_gradient_pct": 2.2228679936574736
  },
  {
   "window_m": 50.0,
   "max_gradient_pct": 10.919706863448395,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 921.0,
   "end_distance_m": 971.0,
   "start_elevation_m": 75.67300175036807,
   "end_elevation_m": 81.13285518209227,
   "min_gradient_pct": 2.733443122612215
  },
  {
   "window_m": 100.0,
   "max_gradient_pct": 10.782996508414257,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 920.0,
   "end_distance_m": 1020.0,
   "start_elevation_m": 75.53707287629994,
   "end_elevation_m": 86.3200693847142,
   "min_gradient_pct": 3.036545573793335
  }
 ],
 "shape": {
  "ascent_concentration": 0.332,
  "concentration_window_frac": 0.25,
  "longest_pitch_10pct_m": 153.0,
  "shape_class": "sustained"
 },
 "length_m": 1309.7882705682684,
 "start_elevation_m": 7.590575141046044,
 "end_elevation_m": 104.84573810648392,
 "endpoint_gain_m": 97.25516296543788,
 "overall_gradient_pct": 7.425258352881912,
 "accumulated_ascent_m": 97.35706034534482,
 "window_maxima": {
  "max_5m": {
   "gradient_pct": 12.788382337078872,
   "start_distance_m": 951.0,
   "end_distance_m": 956.0,
   "midpoint_distance_m": 953.5,
   "start_elevation_m": 78.9070137677026,
   "end_elevation_m": 79.54643288455654,
   "start_xy": [
    259702.53434491358,
    282073.4717734714
   ],
   "end_xy": [
    259707.20062557992,
    282075.26783158374
   ]
  },
  "max_10m": {
   "gradient_pct": 11.787072926695146,
   "start_distance_m": 946.0,
   "end_distance_m": 956.0,
   "midpoint_distance_m": 951.0,
   "start_elevation_m": 78.36772559188702,
   "end_elevation_m": 79.54643288455654,
   "start_xy": [
    259697.86806424725,
    282071.67571535904
   ],
   "end_xy": [
    259707.20062557992,
    282075.26783158374
   ]
  },
  "max_20m": {
   "gradient_pct": 11.176393717201876,
   "start_distance_m": 1039.0,
   "end_distance_m": 1059.0,
   "midpoint_distance_m": 1049.0,
   "start_elevation_m": 88.28827976789263,
   "end_elevation_m": 90.52355851133301,
   "start_xy": [
    259785.15373578804,
    282103.743569423
   ],
   "end_xy": [
    259804.0219286,
    282110.3761631848
   ]
  },
  "max_25m": {
   "gradient_pct": 11.17231063427738,
   "start_distance_m": 931.0,
   "end_distance_m": 956.0,
   "midpoint_distance_m": 943.5,
   "start_elevation_m": 76.75335522598719,
   "end_elevation_m": 79.54643288455654,
   "start_xy": [
    259683.8692222482,
    282066.287541022
   ],
   "end_xy": [
    259707.20062557992,
    282075.26783158374
   ]
  },
  "max_50m": {
   "gradient_pct": 10.919706863448395,
   "start_distance_m": 921.0,
   "end_distance_m": 971.0,
   "midpoint_distance_m": 946.0,
   "start_elevation_m": 75.67300175036807,
   "end_elevation_m": 81.13285518209227,
   "start_xy": [
    259674.53666091553,
    282062.6954247973
   ],
   "end_xy": [
    259721.19946757896,
    282080.6560059208
   ]
  },
  "max_100m": {
   "gradient_pct": 10.782996508414257,
   "start_distance_m": 920.0,
   "end_distance_m": 1020.0,
   "midpoint_distance_m": 970.0,
   "start_elevation_m": 75.53707287629994,
   "end_elevation_m": 86.3200693847142,
   "start_xy": [
    259673.60340478225,
    282062.33621317486
   ],
   "end_xy": [
    259767.22895261666,
    282097.4426053492
   ]
  }
 },
 "window_minima": {
  "min_5m": {
   "gradient_pct": 1.6099565991999043,
   "start_distance_m": 1269.0,
   "end_distance_m": 1274.0,
   "midpoint_distance_m": 1271.5,
   "start_elevation_m": 103.60306906441855,
   "end_elevation_m": 103.68356689437854,
   "start_xy": [
    260002.72741533117,
    282178.2990513219
   ],
   "end_xy": [
    260007.48194617135,
    282179.8464480033
   ]
  },
  "min_10m": {
   "gradient_pct": 1.705983598139369,
   "start_distance_m": 1269.0,
   "end_distance_m": 1279.0,
   "midpoint_distance_m": 1274.0,
   "start_elevation_m": 103.60306906441855,
   "end_elevation_m": 103.77366742423249,
   "start_xy": [
    260002.72741533117,
    282178.2990513219
   ],
   "end_xy": [
    260012.23647701155,
    282181.39384468476
   ]
  },
  "min_20m": {
   "gradient_pct": 2.1111344412727817,
   "start_distance_m": 1262.0,
   "end_distance_m": 1282.0,
   "midpoint_distance_m": 1272.0,
   "start_elevation_m": 103.42149946435342,
   "end_elevation_m": 103.84372635260797,
   "start_xy": [
    259996.0710943816,
    282176.13262779836
   ],
   "end_xy": [
    260015.09147192453,
    282182.31517846184
   ]
  },
  "min_25m": {
   "gradient_pct": 2.2228679936574736,
   "start_distance_m": 1253.0,
   "end_distance_m": 1278.0,
   "midpoint_distance_m": 1265.5,
   "start_elevation_m": 103.19834571883845,
   "end_elevation_m": 103.75406271725282,
   "start_xy": [
    259987.51593012805,
    282173.33813954564
   ],
   "end_xy": [
    260011.28557084352,
    282181.08436534845
   ]
  },
  "min_50m": {
   "gradient_pct": 2.733443122612215,
   "start_distance_m": 1234.0,
   "end_distance_m": 1284.0,
   "midpoint_distance_m": 1259.0,
   "start_elevation_m": 102.54113687018058,
   "end_elevation_m": 103.90785843148669,
   "start_xy": [
    259969.4619550536,
    282167.4178179579
   ],
   "end_xy": [
    260016.99884096894,
    282182.9167957227
   ]
  },
  "min_100m": {
   "gradient_pct": 3.036545573793335,
   "start_distance_m": 49.0,
   "end_distance_m": 149.0,
   "midpoint_distance_m": 99.0,
   "start_elevation_m": 9.23000035314855,
   "end_elevation_m": 12.266545926941886,
   "start_xy": [
    258839.9843022275,
    281831.984273591
   ],
   "end_xy": [
    258936.85086809628,
    281856.17867866263
   ]
  }
 },
 "diagnostic_window_maxima": {
  "max_2m": {
   "gradient_pct": 14.604296991362986,
   "start_distance_m": 442.0,
   "end_distance_m": 444.0,
   "midpoint_distance_m": 443.0,
   "start_elevation_m": 31.834301312139978,
   "end_elevation_m": 32.12638725196724,
   "start_xy": [
    259226.43322561236,
    281893.54241458245
   ],
   "end_xy": [
    259228.34002551262,
    281894.1458332931
   ]
  },
  "max_3m": {
   "gradient_pct": 13.632142010598614,
   "start_distance_m": 949.0,
   "end_distance_m": 952.0,
   "midpoint_distance_m": 950.5,
   "start_elevation_m": 78.6887595393895,
   "end_elevation_m": 79.09772379970745,
   "start_xy": [
    259700.66783264704,
    282072.75335022644
   ],
   "end_xy": [
    259703.46760104684,
    282073.83098509384
   ]
  }
 },
 "diagnostic_note": "Windows <=3 m are at raster-noise scale (roughly +/-2 pp 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.071,
   "obstruction_max_height_m": 12.96,
   "flagged_windows_m": [
    2
   ]
  },
  "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/wales/dtm_1m/wg_del_23_259282_20220117dtm.tif",
   "data/cache/wales/dtm_1m/wg_del_23_260281_20220117dtm.tif",
   "data/cache/wales/dtm_1m/wg_del_23_260282_20220117dtm.tif",
   "data/cache/wales/dtm_1m/wg_del_29_258281_20220319dtm.tif",
   "data/cache/wales/dtm_1m/wg_del_29_258282_20220319dtm.tif",
   "data/cache/wales/dtm_1m/wg_del_29_259281_20220319dtm.tif"
  ],
  "calculated_at": "2026-08-12T14:32:38+00:00",
  "road_source": "OpenStreetMap (local PBF extract)",
  "road_attribution": "\u00a9 OpenStreetMap contributors, ODbL",
  "osm_ids": [
   4372117,
   1482220365,
   1482220364,
   1482220363,
   1482220362,
   1482220361,
   1482220360,
   1482220359,
   1482220356,
   217282207,
   1482220354,
   1482220355,
   1482226159,
   162780795,
   379924480,
   261063475,
   1482226160,
   215493458,
   380895373
  ],
  "osm_versions": {
   "4372117": 68,
   "1482220365": 3,
   "1482220364": 3,
   "1482220363": 3,
   "1482220362": 3,
   "1482220361": 3,
   "1482220360": 3,
   "1482220359": 3,
   "1482220356": 3,
   "217282207": 15,
   "1482220354": 2,
   "1482220355": 2,
   "1482226159": 1,
   "162780795": 20,
   "379924480": 6,
   "261063475": 6,
   "1482226160": 1,
   "215493458": 8,
   "380895373": 4
  },
  "osm_timestamps": {
   "4372117": "2026-03-06 07:55:31+00:00",
   "1482220365": "2026-03-06 07:53:56+00:00",
   "1482220364": "2026-03-06 07:53:32+00:00",
   "1482220363": "2026-03-06 07:53:29+00:00",
   "1482220362": "2026-03-06 07:53:09+00:00",
   "1482220361": "2026-03-06 07:52:49+00:00",
   "1482220360": "2026-03-06 07:52:48+00:00",
   "1482220359": "2026-02-24 19:35:14+00:00",
   "1482220356": "2026-02-24 19:35:14+00:00",
   "217282207": "2026-02-24 19:35:14+00:00",
   "1482220354": "2026-02-23 13:51:02+00:00",
   "1482220355": "2026-02-23 13:51:02+00:00",
   "1482226159": "2026-02-23 13:51:02+00:00",
   "162780795": "2026-02-23 13:51:02+00:00",
   "379924480": "2026-02-23 13:51:02+00:00",
   "261063475": "2026-02-23 13:51:02+00:00",
   "1482226160": "2026-02-23 13:51:02+00:00",
   "215493458": "2026-02-23 13:51:02+00:00",
   "380895373": "2026-02-23 13:51:02+00:00"
  },
  "osm_retrieved_at": "2026-08-12T14:32:38+00:00",
  "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_23_259282_20220117dtm.tif",
   "wg_del_23_260281_20220117dtm.tif",
   "wg_del_23_260282_20220117dtm.tif",
   "wg_del_29_258281_20220319dtm.tif",
   "wg_del_29_258282_20220319dtm.tif",
   "wg_del_29_259281_20220319dtm.tif"
  ],
  "elevation_capture_dates": [
   "17-01-2022",
   "19-03-2022"
  ],
  "climb_origin": "named",
  "signed_gradient_pct": 11,
  "signed_source": "Road sign / OSM incline tag (11%) carried by the whole Penglais Road way chain"
 },
 "area": {
  "place": "Buarth Mawr",
  "county": "Sir Ceredigion - Ceredigion"
 }
}