{
 "ocl_version": "0.1.0",
 "name": "Hillpark Road",
 "slug": "hillpark-road",
 "confidence": "A",
 "reported_claims": [],
 "ladder": [
  {
   "window_m": 2.0,
   "max_gradient_pct": 33.162229588924674,
   "diagnostic": true,
   "flags": [
    "canopy_or_structure"
   ],
   "start_distance_m": 167.0,
   "end_distance_m": 169.0,
   "start_elevation_m": 44.23101417094676,
   "end_elevation_m": 44.89425876272525,
   "min_gradient_pct": -14.971581058722805
  },
  {
   "window_m": 3.0,
   "max_gradient_pct": 21.483730486116315,
   "diagnostic": true,
   "flags": [],
   "start_distance_m": 251.0,
   "end_distance_m": 254.0,
   "start_elevation_m": 54.597677340261995,
   "end_elevation_m": 55.242189254845485,
   "min_gradient_pct": -9.026231927625616
  },
  {
   "window_m": 5.0,
   "max_gradient_pct": 21.45637563508572,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 251.0,
   "end_distance_m": 256.0,
   "start_elevation_m": 54.597677340261995,
   "end_elevation_m": 55.67049612201628,
   "min_gradient_pct": -1.940317532321103
  },
  {
   "window_m": 10.0,
   "max_gradient_pct": 21.1297352392382,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 248.0,
   "end_distance_m": 258.0,
   "start_elevation_m": 53.96924454476242,
   "end_elevation_m": 56.08221806868624,
   "min_gradient_pct": -0.40649981999692386
  },
  {
   "window_m": 20.0,
   "max_gradient_pct": 20.708772154947894,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 240.0,
   "end_distance_m": 260.0,
   "start_elevation_m": 52.35097270272047,
   "end_elevation_m": 56.49272713371005,
   "min_gradient_pct": 2.8688801628474536
  },
  {
   "window_m": 25.0,
   "max_gradient_pct": 20.518202144336243,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 238.0,
   "end_distance_m": 263.0,
   "start_elevation_m": 51.96649998442023,
   "end_elevation_m": 57.09605052050429,
   "min_gradient_pct": 3.376601031713932
  },
  {
   "window_m": 50.0,
   "max_gradient_pct": 19.70981943326632,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 235.0,
   "end_distance_m": 285.0,
   "start_elevation_m": 51.40737010385379,
   "end_elevation_m": 61.26227982048695,
   "min_gradient_pct": 3.758498853314933
  },
  {
   "window_m": 100.0,
   "max_gradient_pct": 16.432784087008358,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 192.0,
   "end_distance_m": 292.0,
   "start_elevation_m": 46.117553125000214,
   "end_elevation_m": 62.55033721200857,
   "min_gradient_pct": 5.4466778485190295
  }
 ],
 "shape": {
  "ascent_concentration": 0.465,
  "concentration_window_frac": 0.25,
  "longest_pitch_10pct_m": 100.0,
  "shape_class": "stepped"
 },
 "length_m": 292.7298222174319,
 "start_elevation_m": 34.447683639525934,
 "end_elevation_m": 62.65899887084565,
 "endpoint_gain_m": 28.211315231319716,
 "overall_gradient_pct": 9.63732188870224,
 "accumulated_ascent_m": 28.63703431246892,
 "window_maxima": {
  "max_5m": {
   "gradient_pct": 21.45637563508572,
   "start_distance_m": 251.0,
   "end_distance_m": 256.0,
   "midpoint_distance_m": 253.5,
   "start_elevation_m": 54.597677340261995,
   "end_elevation_m": 55.67049612201628,
   "start_xy": [
    339946.43715474807,
    726293.2934795206
   ],
   "end_xy": [
    339949.3110572093,
    726289.2019413449
   ]
  },
  "max_10m": {
   "gradient_pct": 21.1297352392382,
   "start_distance_m": 248.0,
   "end_distance_m": 258.0,
   "midpoint_distance_m": 253.0,
   "start_elevation_m": 53.96924454476242,
   "end_elevation_m": 56.08221806868624,
   "start_xy": [
    339944.7128132713,
    726295.748402426
   ],
   "end_xy": [
    339950.4606181938,
    726287.5653260746
   ]
  },
  "max_20m": {
   "gradient_pct": 20.708772154947894,
   "start_distance_m": 240.0,
   "end_distance_m": 260.0,
   "midpoint_distance_m": 250.0,
   "start_elevation_m": 52.35097270272047,
   "end_elevation_m": 56.49272713371005,
   "start_xy": [
    339940.1145693334,
    726302.2948635072
   ],
   "end_xy": [
    339951.6101791783,
    726285.9287108043
   ]
  },
  "max_25m": {
   "gradient_pct": 20.518202144336243,
   "start_distance_m": 238.0,
   "end_distance_m": 263.0,
   "midpoint_distance_m": 250.5,
   "start_elevation_m": 51.96649998442023,
   "end_elevation_m": 57.09605052050429,
   "start_xy": [
    339938.96500834887,
    726303.9314787774
   ],
   "end_xy": [
    339953.33452065504,
    726283.4737878989
   ]
  },
  "max_50m": {
   "gradient_pct": 19.70981943326632,
   "start_distance_m": 235.0,
   "end_distance_m": 285.0,
   "midpoint_distance_m": 260.0,
   "start_elevation_m": 51.40737010385379,
   "end_elevation_m": 61.26227982048695,
   "start_xy": [
    339937.2406668721,
    726306.3864016829
   ],
   "end_xy": [
    339966.87058210874,
    726266.145117393
   ]
  },
  "max_100m": {
   "gradient_pct": 16.432784087008358,
   "start_distance_m": 192.0,
   "end_distance_m": 292.0,
   "midpoint_distance_m": 242.0,
   "start_elevation_m": 46.117553125000214,
   "end_elevation_m": 62.55033721200857,
   "start_xy": [
    339913.2185589222,
    726339.8107885078
   ],
   "end_xy": [
    339971.2893027828,
    726260.716037581
   ]
  }
 },
 "window_minima": {
  "min_5m": {
   "gradient_pct": -1.940317532321103,
   "start_distance_m": 169.0,
   "end_distance_m": 174.0,
   "midpoint_distance_m": 171.5,
   "start_elevation_m": 44.89425876272525,
   "end_elevation_m": 44.797242886109196,
   "start_xy": [
    339891.7473685943,
    726337.8278927339
   ],
   "end_xy": [
    339896.51134542597,
    726339.3459588548
   ]
  },
  "min_10m": {
   "gradient_pct": -0.40649981999692386,
   "start_distance_m": 0.0,
   "end_distance_m": 10.0,
   "midpoint_distance_m": 5.0,
   "start_elevation_m": 34.447683639525934,
   "end_elevation_m": 34.40703365752624,
   "start_xy": [
    339735.698,
    726284.199
   ],
   "end_xy": [
    339745.2194717167,
    726287.2553992455
   ]
  },
  "min_20m": {
   "gradient_pct": 2.8688801628474536,
   "start_distance_m": 0.0,
   "end_distance_m": 20.0,
   "midpoint_distance_m": 10.0,
   "start_elevation_m": 34.447683639525934,
   "end_elevation_m": 35.021459672095425,
   "start_xy": [
    339735.698,
    726284.199
   ],
   "end_xy": [
    339754.74094343337,
    726290.3117984912
   ]
  },
  "min_25m": {
   "gradient_pct": 3.376601031713932,
   "start_distance_m": 97.0,
   "end_distance_m": 122.0,
   "midpoint_distance_m": 109.5,
   "start_elevation_m": 40.515011117471225,
   "end_elevation_m": 41.35916137539971,
   "start_xy": [
    339829.64809553407,
    726305.2570627728
   ],
   "end_xy": [
    339849.1949155154,
    726319.7429869191
   ]
  },
  "min_50m": {
   "gradient_pct": 3.758498853314933,
   "start_distance_m": 91.0,
   "end_distance_m": 141.0,
   "midpoint_distance_m": 116.0,
   "start_elevation_m": 40.24206735430853,
   "end_elevation_m": 42.121316780966,
   "start_xy": [
    339823.6901734633,
    726304.5477218122
   ],
   "end_xy": [
    339865.069098337,
    726329.326722457
   ]
  },
  "min_100m": {
   "gradient_pct": 5.4466778485190295,
   "start_distance_m": 46.0,
   "end_distance_m": 146.0,
   "midpoint_distance_m": 96.0,
   "start_elevation_m": 36.976148046791536,
   "end_elevation_m": 42.42282589531057,
   "start_xy": [
    339779.49676989677,
    726298.2584365295
   ],
   "end_xy": [
    339869.8330751686,
    726330.8447885779
   ]
  }
 },
 "diagnostic_window_maxima": {
  "max_2m": {
   "gradient_pct": 33.162229588924674,
   "start_distance_m": 167.0,
   "end_distance_m": 169.0,
   "midpoint_distance_m": 168.0,
   "start_elevation_m": 44.23101417094676,
   "end_elevation_m": 44.89425876272525,
   "start_xy": [
    339889.84177786164,
    726337.2206662855
   ],
   "end_xy": [
    339891.7473685943,
    726337.8278927339
   ]
  },
  "max_3m": {
   "gradient_pct": 21.483730486116315,
   "start_distance_m": 251.0,
   "end_distance_m": 254.0,
   "midpoint_distance_m": 252.5,
   "start_elevation_m": 54.597677340261995,
   "end_elevation_m": 55.242189254845485,
   "start_xy": [
    339946.43715474807,
    726293.2934795206
   ],
   "end_xy": [
    339948.1614962248,
    726290.8385566152
   ]
  }
 },
 "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.146,
   "obstruction_max_height_m": 8.72,
   "flagged_windows_m": [
    2
   ]
  },
  "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": 0.5,
  "elevation_tiles": [
   "data/cache/scotland/phase-5/dtm/NO32NE.tif"
  ],
  "calculated_at": "2026-08-27T23:30:29+00:00",
  "road_source": "OpenStreetMap (local PBF extract)",
  "road_attribution": "\u00a9 OpenStreetMap contributors, ODbL",
  "osm_pbf_path": "data/cache/pbf/scotland-2026-08-27.osm.pbf",
  "osm_snapshot": "2026-08-26T20:22:15Z",
  "run_id": "chains-scot-260827",
  "elevation_provider": "Scottish Remote Sensing Portal (AWS Open Data, srsp-open-data)",
  "elevation_licence": "Open Government Licence v3 \u2014 \u00a9 Scottish Government, SEPA and partners; Crown copyright",
  "elevation_dataset": "Scottish Public Sector LiDAR Phase 5 50cm",
  "elevation_tile_ids": [
   "NO32NE"
  ],
  "climb_origin": "discovered",
  "license": "ODbL-1.0",
  "license_url": "https://howsteep.org/licensing"
 },
 "area": {
  "place": "Wormit",
  "county": "Fife"
 }
}