{
 "ocl_version": "0.1.0",
 "name": "Weinhaldenweg",
 "slug": "weinhaldenweg",
 "confidence": "A",
 "reported_claims": [],
 "ladder": [
  {
   "window_m": 2.0,
   "max_gradient_pct": 24.60344599916766,
   "diagnostic": true,
   "flags": [],
   "start_distance_m": 48.0,
   "end_distance_m": 50.0,
   "start_elevation_m": 473.85005026504314,
   "end_elevation_m": 474.3421191850265,
   "min_gradient_pct": 1.0835676547827688
  },
  {
   "window_m": 3.0,
   "max_gradient_pct": 23.863857738833378,
   "diagnostic": true,
   "flags": [],
   "start_distance_m": 48.0,
   "end_distance_m": 51.0,
   "start_elevation_m": 473.85005026504314,
   "end_elevation_m": 474.56596599720814,
   "min_gradient_pct": 2.0649874902725665
  },
  {
   "window_m": 5.0,
   "max_gradient_pct": 23.622665590773977,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 48.0,
   "end_distance_m": 53.0,
   "start_elevation_m": 473.85005026504314,
   "end_elevation_m": 475.03118354458184,
   "min_gradient_pct": 6.53515577653593
  },
  {
   "window_m": 10.0,
   "max_gradient_pct": 21.861236782702917,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 46.0,
   "end_distance_m": 56.0,
   "start_elevation_m": 473.4312212340721,
   "end_elevation_m": 475.6173449123424,
   "min_gradient_pct": 8.15194907948353
  },
  {
   "window_m": 20.0,
   "max_gradient_pct": 20.77110779549031,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 46.0,
   "end_distance_m": 66.0,
   "start_elevation_m": 473.4312212340721,
   "end_elevation_m": 477.58544279317016,
   "min_gradient_pct": 10.75584320742081
  },
  {
   "window_m": 25.0,
   "max_gradient_pct": 20.250071953229963,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 40.0,
   "end_distance_m": 65.0,
   "start_elevation_m": 472.35270533439166,
   "end_elevation_m": 477.41522332269915,
   "min_gradient_pct": 10.933455996041403
  },
  {
   "window_m": 50.0,
   "max_gradient_pct": 18.998526820553934,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 18.0,
   "end_distance_m": 68.0,
   "start_elevation_m": 468.45965067917507,
   "end_elevation_m": 477.95891408945204,
   "min_gradient_pct": 11.76610585077924
  },
  {
   "window_m": 100.0,
   "max_gradient_pct": 17.44241145033709,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 10.0,
   "end_distance_m": 110.0,
   "start_elevation_m": 467.0714786725872,
   "end_elevation_m": 484.5138901229243,
   "min_gradient_pct": 13.260105463155469
  }
 ],
 "shape": {
  "ascent_concentration": 0.305,
  "concentration_window_frac": 0.25,
  "longest_pitch_10pct_m": 244.0,
  "shape_class": "sustained"
 },
 "length_m": 247.14495865740622,
 "start_elevation_m": 466.25628376463885,
 "end_elevation_m": 504.50039682897864,
 "endpoint_gain_m": 38.244113064339786,
 "overall_gradient_pct": 15.47436503341911,
 "accumulated_ascent_m": 38.258921406299464,
 "window_maxima": {
  "max_5m": {
   "gradient_pct": 23.622665590773977,
   "start_distance_m": 48.0,
   "end_distance_m": 53.0,
   "midpoint_distance_m": 50.5,
   "start_elevation_m": 473.85005026504314,
   "end_elevation_m": 475.03118354458184,
   "start_xy": [
    2630530.086783419,
    1243097.7806588977
   ],
   "end_xy": [
    2630525.646217364,
    1243100.0787827217
   ]
  },
  "max_10m": {
   "gradient_pct": 21.861236782702917,
   "start_distance_m": 46.0,
   "end_distance_m": 56.0,
   "midpoint_distance_m": 51.0,
   "start_elevation_m": 473.4312212340721,
   "end_elevation_m": 475.6173449123424,
   "start_xy": [
    2630531.8630098407,
    1243096.861409368
   ],
   "end_xy": [
    2630522.9818777307,
    1243101.4576570159
   ]
  },
  "max_20m": {
   "gradient_pct": 20.77110779549031,
   "start_distance_m": 46.0,
   "end_distance_m": 66.0,
   "midpoint_distance_m": 56.0,
   "start_elevation_m": 473.4312212340721,
   "end_elevation_m": 477.58544279317016,
   "start_xy": [
    2630531.8630098407,
    1243096.861409368
   ],
   "end_xy": [
    2630514.013561427,
    1243105.8799267379
   ]
  },
  "max_25m": {
   "gradient_pct": 20.250071953229963,
   "start_distance_m": 40.0,
   "end_distance_m": 65.0,
   "midpoint_distance_m": 52.5,
   "start_elevation_m": 472.35270533439166,
   "end_elevation_m": 477.41522332269915,
   "start_xy": [
    2630537.4281830993,
    1243094.6562348003
   ],
   "end_xy": [
    2630514.913347556,
    1243105.443595531
   ]
  },
  "max_50m": {
   "gradient_pct": 18.998526820553934,
   "start_distance_m": 18.0,
   "end_distance_m": 68.0,
   "midpoint_distance_m": 43.0,
   "start_elevation_m": 468.45965067917507,
   "end_elevation_m": 477.95891408945204,
   "start_xy": [
    2630558.3948961645,
    1243088.0156952548
   ],
   "end_xy": [
    2630512.2139891693,
    1243106.7525891517
   ]
  },
  "max_100m": {
   "gradient_pct": 17.44241145033709,
   "start_distance_m": 10.0,
   "end_distance_m": 110.0,
   "midpoint_distance_m": 60.0,
   "start_elevation_m": 467.0714786725872,
   "end_elevation_m": 484.5138901229243,
   "start_xy": [
    2630566.080232421,
    1243085.7940727335
   ],
   "end_xy": [
    2630479.0948646627,
    1243131.6834326712
   ]
  }
 },
 "window_minima": {
  "min_5m": {
   "gradient_pct": 6.53515577653593,
   "start_distance_m": 2.0,
   "end_distance_m": 7.0,
   "midpoint_distance_m": 4.5,
   "start_elevation_m": 466.4628851538295,
   "end_elevation_m": 466.7896429426563,
   "start_xy": [
    2630573.3476532977,
    1243082.5619922378
   ],
   "end_xy": [
    2630568.962233517,
    1243084.9609642879
   ]
  },
  "min_10m": {
   "gradient_pct": 8.15194907948353,
   "start_distance_m": 0.0,
   "end_distance_m": 10.0,
   "midpoint_distance_m": 5.0,
   "start_elevation_m": 466.25628376463885,
   "end_elevation_m": 467.0714786725872,
   "start_xy": [
    2630575.1,
    1243081.598
   ],
   "end_xy": [
    2630566.080232421,
    1243085.7940727335
   ]
  },
  "min_20m": {
   "gradient_pct": 10.75584320742081,
   "start_distance_m": 142.0,
   "end_distance_m": 162.0,
   "midpoint_distance_m": 152.0,
   "start_elevation_m": 488.9526564158214,
   "end_elevation_m": 491.1038250573056,
   "start_xy": [
    2630458.216824292,
    1243155.6990450716
   ],
   "end_xy": [
    2630441.218971343,
    1243166.2330894594
   ]
  },
  "min_25m": {
   "gradient_pct": 10.933455996041403,
   "start_distance_m": 142.0,
   "end_distance_m": 167.0,
   "midpoint_distance_m": 154.5,
   "start_elevation_m": 488.9526564158214,
   "end_elevation_m": 491.6860204148318,
   "start_xy": [
    2630458.216824292,
    1243155.6990450716
   ],
   "end_xy": [
    2630436.9079779307,
    1243168.7659407782
   ]
  },
  "min_50m": {
   "gradient_pct": 11.76610585077924,
   "start_distance_m": 136.0,
   "end_distance_m": 186.0,
   "midpoint_distance_m": 161.0,
   "start_elevation_m": 488.15038307460907,
   "end_elevation_m": 494.0334359999987,
   "start_xy": [
    2630462.7879408374,
    1243151.9333673154
   ],
   "end_xy": [
    2630420.666190478,
    1243178.6111807204
   ]
  },
  "min_100m": {
   "gradient_pct": 13.260105463155469,
   "start_distance_m": 86.0,
   "end_distance_m": 186.0,
   "midpoint_distance_m": 136.0,
   "start_elevation_m": 480.7733305368432,
   "end_elevation_m": 494.0334359999987,
   "start_xy": [
    2630496.4236535416,
    1243115.376396465
   ],
   "end_xy": [
    2630420.666190478,
    1243178.6111807204
   ]
  }
 },
 "diagnostic_window_maxima": {
  "max_2m": {
   "gradient_pct": 24.60344599916766,
   "start_distance_m": 48.0,
   "end_distance_m": 50.0,
   "midpoint_distance_m": 49.0,
   "start_elevation_m": 473.85005026504314,
   "end_elevation_m": 474.3421191850265,
   "start_xy": [
    2630530.086783419,
    1243097.7806588977
   ],
   "end_xy": [
    2630528.3105569966,
    1243098.6999084272
   ]
  },
  "max_3m": {
   "gradient_pct": 23.863857738833378,
   "start_distance_m": 48.0,
   "end_distance_m": 51.0,
   "midpoint_distance_m": 49.5,
   "start_elevation_m": 473.85005026504314,
   "end_elevation_m": 474.56596599720814,
   "start_xy": [
    2630530.086783419,
    1243097.7806588977
   ],
   "end_xy": [
    2630527.4224437857,
    1243099.159533192
   ]
  }
 },
 "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_2025_2630-1243_0.5_2056_5728.tif"
  ],
  "calculated_at": "2026-09-11T02:51:30+00:00",
  "road_source": "OpenStreetMap (local PBF extract)",
  "road_attribution": "\u00a9 OpenStreetMap contributors, ODbL",
  "osm_pbf_path": "data/cache/pbf/switzerland-2026-09-10-batch.osm.pbf",
  "osm_snapshot": "",
  "run_id": "ch-run7-260911",
  "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": [
   "2630-1243"
  ],
  "climb_origin": "discovered",
  "canopy_check": "unavailable \u2014 no surface model (DSM or point cloud) registered for this coverage",
  "license": "ODbL-1.0",
  "license_url": "https://howsteep.org/licensing"
 },
 "area": {
  "place": "H\u00e4gendorf",
  "county": "Solothurn",
  "source": "OpenStreetMap administrative boundaries (\u00a9 OpenStreetMap contributors, ODbL)"
 }
}