{
 "ocl_version": "0.1.0",
 "name": "Dorfhalde",
 "slug": "dorfhalde",
 "confidence": "A",
 "reported_claims": [],
 "ladder": [
  {
   "window_m": 2.0,
   "max_gradient_pct": 28.759570294738523,
   "diagnostic": true,
   "flags": [],
   "start_distance_m": 578.0,
   "end_distance_m": 580.0,
   "start_elevation_m": 526.9078760020834,
   "end_elevation_m": 527.4830674079782,
   "min_gradient_pct": -17.500816293863863
  },
  {
   "window_m": 3.0,
   "max_gradient_pct": 25.934185767742218,
   "diagnostic": true,
   "flags": [],
   "start_distance_m": 238.0,
   "end_distance_m": 241.0,
   "start_elevation_m": 489.5663486489596,
   "end_elevation_m": 490.34437422199187,
   "min_gradient_pct": -8.888064242739802
  },
  {
   "window_m": 5.0,
   "max_gradient_pct": 25.178628852004294,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 219.0,
   "end_distance_m": 224.0,
   "start_elevation_m": 484.9962115924278,
   "end_elevation_m": 486.255143035028,
   "min_gradient_pct": -3.7942239958033497
  },
  {
   "window_m": 10.0,
   "max_gradient_pct": 24.967375388661708,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 219.0,
   "end_distance_m": 229.0,
   "start_elevation_m": 484.9962115924278,
   "end_elevation_m": 487.492949131294,
   "min_gradient_pct": -3.0901788196968027
  },
  {
   "window_m": 20.0,
   "max_gradient_pct": 24.207342068514777,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 221.0,
   "end_distance_m": 241.0,
   "start_elevation_m": 485.5029058082889,
   "end_elevation_m": 490.34437422199187,
   "min_gradient_pct": -1.655383346607664
  },
  {
   "window_m": 25.0,
   "max_gradient_pct": 24.16002950829943,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 220.0,
   "end_distance_m": 245.0,
   "start_elevation_m": 485.2431638796482,
   "end_elevation_m": 491.28317125672305,
   "min_gradient_pct": -1.0086939742086543
  },
  {
   "window_m": 50.0,
   "max_gradient_pct": 22.731164333921697,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 202.0,
   "end_distance_m": 252.0,
   "start_elevation_m": 481.49103390471316,
   "end_elevation_m": 492.856616071674,
   "min_gradient_pct": 0.3747613775690297
  },
  {
   "window_m": 100.0,
   "max_gradient_pct": 19.510939364631668,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 193.0,
   "end_distance_m": 293.0,
   "start_elevation_m": 479.9915902741392,
   "end_elevation_m": 499.50252963877085,
   "min_gradient_pct": 1.353929879263319
  }
 ],
 "shape": {
  "ascent_concentration": 0.365,
  "concentration_window_frac": 0.25,
  "longest_pitch_10pct_m": 234.0,
  "shape_class": "sustained"
 },
 "length_m": 612.9433558523845,
 "start_elevation_m": 453.65574100585127,
 "end_elevation_m": 530.1668997851586,
 "endpoint_gain_m": 76.51115877930738,
 "overall_gradient_pct": 12.4825822890123,
 "accumulated_ascent_m": 77.28369363573051,
 "window_maxima": {
  "max_5m": {
   "gradient_pct": 25.178628852004294,
   "start_distance_m": 219.0,
   "end_distance_m": 224.0,
   "midpoint_distance_m": 221.5,
   "start_elevation_m": 484.9962115924278,
   "end_elevation_m": 486.255143035028,
   "start_xy": [
    2760291.2888897923,
    1258983.6909068858
   ],
   "end_xy": [
    2760288.338882184,
    1258979.6538964792
   ]
  },
  "max_10m": {
   "gradient_pct": 24.967375388661708,
   "start_distance_m": 219.0,
   "end_distance_m": 229.0,
   "midpoint_distance_m": 224.0,
   "start_elevation_m": 484.9962115924278,
   "end_elevation_m": 487.492949131294,
   "start_xy": [
    2760291.2888897923,
    1258983.6909068858
   ],
   "end_xy": [
    2760285.8725370425,
    1258975.3139738939
   ]
  },
  "max_20m": {
   "gradient_pct": 24.207342068514777,
   "start_distance_m": 221.0,
   "end_distance_m": 241.0,
   "midpoint_distance_m": 231.0,
   "start_elevation_m": 485.5029058082889,
   "end_elevation_m": 490.34437422199187,
   "start_xy": [
    2760290.1085123704,
    1258982.076376263
   ],
   "end_xy": [
    2760282.748646325,
    1258963.7798348274
   ]
  },
  "max_25m": {
   "gradient_pct": 24.16002950829943,
   "start_distance_m": 220.0,
   "end_distance_m": 245.0,
   "midpoint_distance_m": 232.5,
   "start_elevation_m": 485.2431638796482,
   "end_elevation_m": 491.28317125672305,
   "start_xy": [
    2760290.6986976536,
    1258982.8836440789
   ],
   "end_xy": [
    2760282.6131069553,
    1258959.790174065
   ]
  },
  "max_50m": {
   "gradient_pct": 22.731164333921697,
   "start_distance_m": 202.0,
   "end_distance_m": 252.0,
   "midpoint_distance_m": 227.0,
   "start_elevation_m": 481.49103390471316,
   "end_elevation_m": 492.856616071674,
   "start_xy": [
    2760302.5104161464,
    1258996.431709802
   ],
   "end_xy": [
    2760284.898143844,
    1258953.8154171235
   ]
  },
  "max_100m": {
   "gradient_pct": 19.510939364631668,
   "start_distance_m": 193.0,
   "end_distance_m": 293.0,
   "midpoint_distance_m": 243.0,
   "start_elevation_m": 479.9915902741392,
   "end_elevation_m": 499.50252963877085,
   "start_xy": [
    2760309.148142979,
    1259002.498076472
   ],
   "end_xy": [
    2760320.124936881,
    1258932.9910064146
   ]
  }
 },
 "window_minima": {
  "min_5m": {
   "gradient_pct": -3.7942239958033497,
   "start_distance_m": 538.0,
   "end_distance_m": 543.0,
   "midpoint_distance_m": 540.5,
   "start_elevation_m": 526.4108994593337,
   "end_elevation_m": 526.2211882595435,
   "start_xy": [
    2760518.973341343,
    1258803.1151549416
   ],
   "end_xy": [
    2760520.4572556815,
    1258798.3404303852
   ]
  },
  "min_10m": {
   "gradient_pct": -3.0901788196968027,
   "start_distance_m": 538.0,
   "end_distance_m": 548.0,
   "midpoint_distance_m": 543.0,
   "start_elevation_m": 526.4108994593337,
   "end_elevation_m": 526.101881577364,
   "start_xy": [
    2760518.973341343,
    1258803.1151549416
   ],
   "end_xy": [
    2760521.9414536594,
    1258793.5657937888
   ]
  },
  "min_20m": {
   "gradient_pct": -1.655383346607664,
   "start_distance_m": 535.0,
   "end_distance_m": 555.0,
   "midpoint_distance_m": 545.0,
   "start_elevation_m": 526.459576445529,
   "end_elevation_m": 526.1284997762075,
   "start_xy": [
    2760518.0833575185,
    1258805.9801029284
   ],
   "end_xy": [
    2760524.019298512,
    1258786.8812926633
   ]
  },
  "min_25m": {
   "gradient_pct": -1.0086939742086543,
   "start_distance_m": 532.0,
   "end_distance_m": 557.0,
   "midpoint_distance_m": 544.5,
   "start_elevation_m": 526.4180256840011,
   "end_elevation_m": 526.165852190449,
   "start_xy": [
    2760515.935149026,
    1258807.6525597805
   ],
   "end_xy": [
    2760524.612317079,
    1258784.971232961
   ]
  },
  "min_50m": {
   "gradient_pct": 0.3747613775690297,
   "start_distance_m": 504.0,
   "end_distance_m": 554.0,
   "midpoint_distance_m": 529.0,
   "start_elevation_m": 525.9226288625617,
   "end_elevation_m": 526.1100095513463,
   "start_xy": [
    2760490.8545353957,
    1258819.9680508487
   ],
   "end_xy": [
    2760523.7223332548,
    1258787.836180948
   ]
  },
  "min_100m": {
   "gradient_pct": 1.353929879263319,
   "start_distance_m": 477.0,
   "end_distance_m": 577.0,
   "midpoint_distance_m": 527.0,
   "start_elevation_m": 525.4905546824241,
   "end_elevation_m": 526.8444845616874,
   "start_xy": [
    2760467.28771746,
    1258833.1355335868
   ],
   "end_xy": [
    2760529.130220438,
    1258765.4996038475
   ]
  }
 },
 "diagnostic_window_maxima": {
  "max_2m": {
   "gradient_pct": 28.759570294738523,
   "start_distance_m": 578.0,
   "end_distance_m": 580.0,
   "midpoint_distance_m": 579.0,
   "start_elevation_m": 526.9078760020834,
   "end_elevation_m": 527.4830674079782,
   "start_xy": [
    2760529.1962397285,
    1258764.5273371602
   ],
   "end_xy": [
    2760528.476504615,
    1258762.6651655682
   ]
  },
  "max_3m": {
   "gradient_pct": 25.934185767742218,
   "start_distance_m": 238.0,
   "end_distance_m": 241.0,
   "midpoint_distance_m": 239.5,
   "start_elevation_m": 489.5663486489596,
   "end_elevation_m": 490.34437422199187,
   "start_xy": [
    2760283.179631298,
    1258966.7487151746
   ],
   "end_xy": [
    2760282.748646325,
    1258963.7798348274
   ]
  }
 },
 "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": {
  "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:2056",
  "elevation_resolution_m": 0.5,
  "elevation_tiles": [
   "data/cache/ch/swissalti3d_2020_2760-1258_0.5_2056_5728.tif",
   "data/cache/ch/swissalti3d_2020_2760-1259_0.5_2056_5728.tif"
  ],
  "calculated_at": "2026-09-15T21:47:55+00:00",
  "road_source": "OpenStreetMap (local PBF extract)",
  "road_attribution": "\u00a9 OpenStreetMap contributors, ODbL",
  "osm_pbf_path": "data/cache/pbf/switzerland-2026-09-10.osm.pbf",
  "osm_snapshot": "2026-09-09T20:21:20Z",
  "run_id": "retro-260915-dogleg-all",
  "elevation_provider": "swisstopo swissALTI3D",
  "elevation_licence": "swisstopo open government data (OGD): free use, attribution '\u00a9 swisstopo' \u2014 https://www.swisstopo.admin.ch/en/terms-and-conditions",
  "elevation_dataset": "swissALTI3D 0.5 m DTM (Federal Office of Topography swisstopo)",
  "elevation_tile_ids": [
   "2760-1258",
   "2760-1259"
  ],
  "climb_origin": "discovered",
  "canopy_check": "unavailable \u2014 no surface model (DSM or point cloud) registered for this coverage",
  "structure_own_ways": "none \u2014 the route carried no way list; own decks unmasked",
  "license": "ODbL-1.0",
  "license_url": "https://howsteep.org/licensing"
 },
 "area": {
  "place": "Lutzenberg",
  "county": "Appenzell Ausserrhoden",
  "source": "OpenStreetMap administrative boundaries (\u00a9 OpenStreetMap contributors, ODbL)"
 }
}