{
 "ocl_version": "0.1.0",
 "name": "Via Fraissen",
 "slug": "via-fraissen",
 "confidence": "A",
 "reported_claims": [],
 "ladder": [
  {
   "window_m": 2.0,
   "max_gradient_pct": 18.551340451540455,
   "diagnostic": true,
   "flags": [],
   "start_distance_m": 210.0,
   "end_distance_m": 212.0,
   "start_elevation_m": 1195.010397327622,
   "end_elevation_m": 1195.3814241366529,
   "min_gradient_pct": -2.388235651733339
  },
  {
   "window_m": 3.0,
   "max_gradient_pct": 17.602388319945323,
   "diagnostic": true,
   "flags": [],
   "start_distance_m": 209.0,
   "end_distance_m": 212.0,
   "start_elevation_m": 1194.8533524870545,
   "end_elevation_m": 1195.3814241366529,
   "min_gradient_pct": -1.9866236723980062
  },
  {
   "window_m": 5.0,
   "max_gradient_pct": 16.2879028847874,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 208.0,
   "end_distance_m": 213.0,
   "start_elevation_m": 1194.6972745200958,
   "end_elevation_m": 1195.5116696643352,
   "min_gradient_pct": -1.2928450230901944
  },
  {
   "window_m": 10.0,
   "max_gradient_pct": 14.623573437261257,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 1787.0,
   "end_distance_m": 1797.0,
   "start_elevation_m": 1366.6641666136056,
   "end_elevation_m": 1368.1265239573318,
   "min_gradient_pct": 2.4731414830739595
  },
  {
   "window_m": 20.0,
   "max_gradient_pct": 14.239715362336938,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 1777.0,
   "end_distance_m": 1797.0,
   "start_elevation_m": 1365.2785808848644,
   "end_elevation_m": 1368.1265239573318,
   "min_gradient_pct": 5.442205305830612
  },
  {
   "window_m": 25.0,
   "max_gradient_pct": 14.022256275847212,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 1773.0,
   "end_distance_m": 1798.0,
   "start_elevation_m": 1364.749876589127,
   "end_elevation_m": 1368.255440658089,
   "min_gradient_pct": 5.714891526047722
  },
  {
   "window_m": 50.0,
   "max_gradient_pct": 13.195222769857082,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 2148.0,
   "end_distance_m": 2198.0,
   "start_elevation_m": 1408.0218777509772,
   "end_elevation_m": 1414.6194891359057,
   "min_gradient_pct": 6.315059531841143
  },
  {
   "window_m": 100.0,
   "max_gradient_pct": 12.604935955147766,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 441.0,
   "end_distance_m": 541.0,
   "start_elevation_m": 1219.3253994229256,
   "end_elevation_m": 1231.9303353780733,
   "min_gradient_pct": 6.846584446511542
  }
 ],
 "shape": {
  "ascent_concentration": 0.279,
  "concentration_window_frac": 0.25,
  "longest_pitch_10pct_m": 777.0,
  "shape_class": "sustained"
 },
 "length_m": 2211.070470391309,
 "start_elevation_m": 1178.0195608691463,
 "end_elevation_m": 1416.1382790674115,
 "endpoint_gain_m": 238.11871819826524,
 "overall_gradient_pct": 10.76938620396498,
 "accumulated_ascent_m": 238.20487644039804,
 "window_maxima": {
  "max_5m": {
   "gradient_pct": 16.2879028847874,
   "start_distance_m": 208.0,
   "end_distance_m": 213.0,
   "midpoint_distance_m": 210.5,
   "start_elevation_m": 1194.6972745200958,
   "end_elevation_m": 1195.5116696643352,
   "start_xy": [
    2727933.872039806,
    1182890.4027726667
   ],
   "end_xy": [
    2727931.487753197,
    1182894.7696301672
   ]
  },
  "max_10m": {
   "gradient_pct": 14.623573437261257,
   "start_distance_m": 1787.0,
   "end_distance_m": 1797.0,
   "midpoint_distance_m": 1792.0,
   "start_elevation_m": 1366.6641666136056,
   "end_elevation_m": 1368.1265239573318,
   "start_xy": [
    2727241.804694176,
    1183044.3018060685
   ],
   "end_xy": [
    2727232.6128155957,
    1183048.0797185705
   ]
  },
  "max_20m": {
   "gradient_pct": 14.239715362336938,
   "start_distance_m": 1777.0,
   "end_distance_m": 1797.0,
   "midpoint_distance_m": 1787.0,
   "start_elevation_m": 1365.2785808848644,
   "end_elevation_m": 1368.1265239573318,
   "start_xy": [
    2727251.742788491,
    1183044.1589713907
   ],
   "end_xy": [
    2727232.6128155957,
    1183048.0797185705
   ]
  },
  "max_25m": {
   "gradient_pct": 14.022256275847212,
   "start_distance_m": 1773.0,
   "end_distance_m": 1798.0,
   "midpoint_distance_m": 1785.5,
   "start_elevation_m": 1364.749876589127,
   "end_elevation_m": 1368.255440658089,
   "start_xy": [
    2727255.7048606146,
    1183044.6926922032
   ],
   "end_xy": [
    2727231.7497862116,
    1183048.584872292
   ]
  },
  "max_50m": {
   "gradient_pct": 13.195222769857082,
   "start_distance_m": 2148.0,
   "end_distance_m": 2198.0,
   "midpoint_distance_m": 2173.0,
   "start_elevation_m": 1408.0218777509772,
   "end_elevation_m": 1414.6194891359057,
   "start_xy": [
    2726991.1526926956,
    1183276.437811863
   ],
   "end_xy": [
    2726950.757815663,
    1183249.8238589943
   ]
  },
  "max_100m": {
   "gradient_pct": 12.604935955147766,
   "start_distance_m": 441.0,
   "end_distance_m": 541.0,
   "midpoint_distance_m": 491.0,
   "start_elevation_m": 1219.3253994229256,
   "end_elevation_m": 1231.9303353780733,
   "start_xy": [
    2727722.9760439396,
    1182807.5330219476
   ],
   "end_xy": [
    2727629.2171021733,
    1182776.7360671489
   ]
  }
 },
 "window_minima": {
  "min_5m": {
   "gradient_pct": -1.2928450230901944,
   "start_distance_m": 201.0,
   "end_distance_m": 206.0,
   "midpoint_distance_m": 203.5,
   "start_elevation_m": 1194.5580720470566,
   "end_elevation_m": 1194.493429795902,
   "start_xy": [
    2727939.737967693,
    1182889.0057361017
   ],
   "end_xy": [
    2727934.8184352815,
    1182888.640860182
   ]
  },
  "min_10m": {
   "gradient_pct": 2.4731414830739595,
   "start_distance_m": 196.0,
   "end_distance_m": 206.0,
   "midpoint_distance_m": 201.0,
   "start_elevation_m": 1194.2461156475947,
   "end_elevation_m": 1194.493429795902,
   "start_xy": [
    2727944.6537417877,
    1182889.8536211625
   ],
   "end_xy": [
    2727934.8184352815,
    1182888.640860182
   ]
  },
  "min_20m": {
   "gradient_pct": 5.442205305830612,
   "start_distance_m": 88.0,
   "end_distance_m": 108.0,
   "midpoint_distance_m": 98.0,
   "start_elevation_m": 1184.6719536208961,
   "end_elevation_m": 1185.7603946820623,
   "start_xy": [
    2728029.162482914,
    1182954.5304088914
   ],
   "end_xy": [
    2728015.033180906,
    1182940.4192643613
   ]
  },
  "min_25m": {
   "gradient_pct": 5.714891526047722,
   "start_distance_m": 88.0,
   "end_distance_m": 113.0,
   "midpoint_distance_m": 100.5,
   "start_elevation_m": 1184.6719536208961,
   "end_elevation_m": 1186.100676502408,
   "start_xy": [
    2728029.162482914,
    1182954.5304088914
   ],
   "end_xy": [
    2728011.296634807,
    1182937.0968821964
   ]
  },
  "min_50m": {
   "gradient_pct": 6.315059531841143,
   "start_distance_m": 68.0,
   "end_distance_m": 118.0,
   "midpoint_distance_m": 93.0,
   "start_elevation_m": 1183.2957841845296,
   "end_elevation_m": 1186.4533139504501,
   "start_xy": [
    2728045.94322514,
    1182965.4056502138
   ],
   "end_xy": [
    2728007.560088708,
    1182933.7745000313
   ]
  },
  "min_100m": {
   "gradient_pct": 6.846584446511542,
   "start_distance_m": 35.0,
   "end_distance_m": 135.0,
   "midpoint_distance_m": 85.0,
   "start_elevation_m": 1180.7657881427972,
   "end_elevation_m": 1187.6123725893087,
   "start_xy": [
    2728071.453375028,
    1182985.996213404
   ],
   "end_xy": [
    2727994.8921159324,
    1182922.4383824128
   ]
  }
 },
 "diagnostic_window_maxima": {
  "max_2m": {
   "gradient_pct": 18.551340451540455,
   "start_distance_m": 210.0,
   "end_distance_m": 212.0,
   "midpoint_distance_m": 211.0,
   "start_elevation_m": 1195.010397327622,
   "end_elevation_m": 1195.3814241366529,
   "start_xy": [
    2727932.9256443307,
    1182892.1646851515
   ],
   "end_xy": [
    2727931.9792488553,
    1182893.9265976364
   ]
  },
  "max_3m": {
   "gradient_pct": 17.602388319945323,
   "start_distance_m": 209.0,
   "end_distance_m": 212.0,
   "midpoint_distance_m": 210.5,
   "start_elevation_m": 1194.8533524870545,
   "end_elevation_m": 1195.3814241366529,
   "start_xy": [
    2727933.3988420684,
    1182891.2837289092
   ],
   "end_xy": [
    2727931.9792488553,
    1182893.9265976364
   ]
  }
 },
 "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_2023_2726-1182_0.5_2056_5728.tif",
   "data/cache/ch/swissalti3d_2023_2726-1183_0.5_2056_5728.tif",
   "data/cache/ch/swissalti3d_2023_2727-1182_0.5_2056_5728.tif",
   "data/cache/ch/swissalti3d_2023_2727-1183_0.5_2056_5728.tif",
   "data/cache/ch/swissalti3d_2023_2728-1182_0.5_2056_5728.tif",
   "data/cache/ch/swissalti3d_2023_2728-1183_0.5_2056_5728.tif"
  ],
  "calculated_at": "2026-09-10T19:53:22+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-run6-260910",
  "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": [
   "2726-1182",
   "2726-1183",
   "2727-1182",
   "2727-1183",
   "2728-1182",
   "2728-1183"
  ],
  "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": "Breil/Brigels",
  "county": "Graub\u00fcnden/Grischun/Grigioni",
  "source": "OpenStreetMap administrative boundaries (\u00a9 OpenStreetMap contributors, ODbL)"
 }
}