{
 "ocl_version": "0.1.0",
 "name": "Hofstrasse",
 "slug": "hofstrasse-4-2",
 "confidence": "B",
 "reported_claims": [],
 "ladder": [
  {
   "window_m": 2.0,
   "max_gradient_pct": 24.258222163575738,
   "diagnostic": true,
   "flags": [
    "structure_excluded",
    "texture_excluded"
   ],
   "start_distance_m": 134.0,
   "end_distance_m": 136.0,
   "start_elevation_m": 1074.901407767549,
   "end_elevation_m": 1075.3865722108205,
   "min_gradient_pct": -24.80831211790928,
   "suppressed_max_gradient_pct": 98.19191616687704,
   "suppressed_location_m": [
    98.0,
    100.0
   ]
  },
  {
   "window_m": 3.0,
   "max_gradient_pct": 20.891423742637016,
   "diagnostic": true,
   "flags": [
    "structure_excluded",
    "texture_excluded"
   ],
   "start_distance_m": 134.0,
   "end_distance_m": 137.0,
   "start_elevation_m": 1074.901407767549,
   "end_elevation_m": 1075.5281504798281,
   "min_gradient_pct": -21.670507677830148,
   "suppressed_max_gradient_pct": 76.08083871966755,
   "suppressed_location_m": [
    98.0,
    101.0
   ]
  },
  {
   "window_m": 5.0,
   "max_gradient_pct": 18.577628991756683,
   "diagnostic": false,
   "flags": [
    "structure_excluded",
    "texture_excluded"
   ],
   "start_distance_m": 134.0,
   "end_distance_m": 139.0,
   "start_elevation_m": 1074.901407767549,
   "end_elevation_m": 1075.8302892171369,
   "min_gradient_pct": -18.713495358360888,
   "suppressed_max_gradient_pct": 55.13739158474891,
   "suppressed_location_m": [
    97.0,
    102.0
   ]
  },
  {
   "window_m": 10.0,
   "max_gradient_pct": 15.298522549403515,
   "diagnostic": false,
   "flags": [
    "structure_excluded",
    "texture_excluded"
   ],
   "start_distance_m": 270.0,
   "end_distance_m": 280.0,
   "start_elevation_m": 1090.2914771570934,
   "end_elevation_m": 1091.8213294120337,
   "min_gradient_pct": -9.584366401556963,
   "suppressed_max_gradient_pct": 34.30083535143012,
   "suppressed_location_m": [
    97.0,
    107.0
   ]
  },
  {
   "window_m": 20.0,
   "max_gradient_pct": 13.677330640714445,
   "diagnostic": false,
   "flags": [
    "structure_excluded",
    "texture_excluded"
   ],
   "start_distance_m": 267.0,
   "end_distance_m": 287.0,
   "start_elevation_m": 1089.934194898101,
   "end_elevation_m": 1092.6696610262438,
   "min_gradient_pct": -2.1668246974400063,
   "suppressed_max_gradient_pct": 23.150431445420736,
   "suppressed_location_m": [
    97.0,
    117.0
   ]
  },
  {
   "window_m": 25.0,
   "max_gradient_pct": 13.468205031254001,
   "diagnostic": false,
   "flags": [
    "structure_excluded",
    "texture_excluded"
   ],
   "start_distance_m": 258.0,
   "end_distance_m": 283.0,
   "start_elevation_m": 1088.8561682387535,
   "end_elevation_m": 1092.223219496567,
   "min_gradient_pct": -1.3402522032201887,
   "suppressed_max_gradient_pct": 20.590145686665892,
   "suppressed_location_m": [
    97.0,
    122.0
   ]
  },
  {
   "window_m": 50.0,
   "max_gradient_pct": 12.873491047188509,
   "diagnostic": false,
   "flags": [
    "texture_excluded"
   ],
   "start_distance_m": 272.0,
   "end_distance_m": 322.0,
   "start_elevation_m": 1090.5543956479846,
   "end_elevation_m": 1096.9911411715789,
   "min_gradient_pct": 5.48577844162628,
   "suppressed_max_gradient_pct": 13.929205612113947,
   "suppressed_location_m": [
    8.0,
    58.0
   ]
  },
  {
   "window_m": 100.0,
   "max_gradient_pct": 12.51832322469022,
   "diagnostic": false,
   "flags": [
    "structure_excluded"
   ],
   "start_distance_m": 212.0,
   "end_distance_m": 312.0,
   "start_elevation_m": 1083.2679955459514,
   "end_elevation_m": 1095.7863187706416,
   "min_gradient_pct": 8.071700645160263,
   "suppressed_max_gradient_pct": 12.73868525721582,
   "suppressed_location_m": [
    97.0,
    197.0
   ]
  }
 ],
 "shape": {
  "ascent_concentration": 0.279,
  "concentration_window_frac": 0.25,
  "longest_pitch_10pct_m": 138.0,
  "shape_class": "sustained"
 },
 "length_m": 687.6746697967784,
 "start_elevation_m": 1061.71013190624,
 "end_elevation_m": 1135.5472430322448,
 "endpoint_gain_m": 73.83711112600486,
 "overall_gradient_pct": 10.737215484151132,
 "accumulated_ascent_m": 76.79490868128983,
 "window_maxima": {
  "max_5m": {
   "gradient_pct": 18.577628991756683,
   "start_distance_m": 134.0,
   "end_distance_m": 139.0,
   "midpoint_distance_m": 136.5,
   "start_elevation_m": 1074.901407767549,
   "end_elevation_m": 1075.8302892171369,
   "start_xy": [
    2781168.7086332995,
    1198093.4839429376
   ],
   "end_xy": [
    2781171.830898108,
    1198089.5786313242
   ]
  },
  "max_10m": {
   "gradient_pct": 15.298522549403515,
   "start_distance_m": 270.0,
   "end_distance_m": 280.0,
   "midpoint_distance_m": 275.0,
   "start_elevation_m": 1090.2914771570934,
   "end_elevation_m": 1091.8213294120337,
   "start_xy": [
    2781284.186402343,
    1198025.0536307185
   ],
   "end_xy": [
    2781294.167726422,
    1198024.4427715447
   ]
  },
  "max_20m": {
   "gradient_pct": 13.677330640714445,
   "start_distance_m": 267.0,
   "end_distance_m": 287.0,
   "midpoint_distance_m": 277.0,
   "start_elevation_m": 1089.934194898101,
   "end_elevation_m": 1092.6696610262438,
   "start_xy": [
    2781281.1970008393,
    1198025.2923856
   ],
   "end_xy": [
    2781301.1505241552,
    1198024.7897847625
   ]
  },
  "max_25m": {
   "gradient_pct": 13.468205031254001,
   "start_distance_m": 258.0,
   "end_distance_m": 283.0,
   "midpoint_distance_m": 270.5,
   "start_elevation_m": 1088.8561682387535,
   "end_elevation_m": 1092.223219496567,
   "start_xy": [
    2781272.355742108,
    1198026.9748417942
   ],
   "end_xy": [
    2781297.1631018003,
    1198024.4728305337
   ]
  },
  "max_50m": {
   "gradient_pct": 12.873491047188509,
   "start_distance_m": 272.0,
   "end_distance_m": 322.0,
   "midpoint_distance_m": 297.0,
   "start_elevation_m": 1090.5543956479846,
   "end_elevation_m": 1096.9911411715789,
   "start_xy": [
    2781286.1826154576,
    1198024.9306176924
   ],
   "end_xy": [
    2781334.4166271826,
    1198026.7616106344
   ]
  },
  "max_100m": {
   "gradient_pct": 12.51832322469022,
   "start_distance_m": 212.0,
   "end_distance_m": 312.0,
   "midpoint_distance_m": 262.0,
   "start_elevation_m": 1083.2679955459514,
   "end_elevation_m": 1095.7863187706416,
   "start_xy": [
    2781232.580746328,
    1198049.7924601194
   ],
   "end_xy": [
    2781325.347851626,
    1198030.463405755
   ]
  }
 },
 "window_minima": {
  "min_5m": {
   "gradient_pct": -18.713495358360888,
   "start_distance_m": 63.0,
   "end_distance_m": 68.0,
   "midpoint_distance_m": 65.5,
   "start_elevation_m": 1069.6472359611062,
   "end_elevation_m": 1068.7115611931881,
   "start_xy": [
    2781140.1542042196,
    1198156.899949544
   ],
   "end_xy": [
    2781141.3152860883,
    1198152.036629339
   ]
  },
  "min_10m": {
   "gradient_pct": -9.584366401556963,
   "start_distance_m": 59.0,
   "end_distance_m": 69.0,
   "midpoint_distance_m": 64.0,
   "start_elevation_m": 1069.511546309236,
   "end_elevation_m": 1068.5531096690804,
   "start_xy": [
    2781139.2252942594,
    1198160.7905952164
   ],
   "end_xy": [
    2781141.548163973,
    1198151.0641233553
   ]
  },
  "min_20m": {
   "gradient_pct": -2.1668246974400063,
   "start_distance_m": 63.0,
   "end_distance_m": 83.0,
   "midpoint_distance_m": 73.0,
   "start_elevation_m": 1069.6472359611062,
   "end_elevation_m": 1069.2138710216182,
   "start_xy": [
    2781140.1542042196,
    1198156.899949544
   ],
   "end_xy": [
    2781147.8758644247,
    1198138.9339910045
   ]
  },
  "min_25m": {
   "gradient_pct": -1.3402522032201887,
   "start_distance_m": 61.0,
   "end_distance_m": 86.0,
   "midpoint_distance_m": 73.5,
   "start_elevation_m": 1069.5694877162105,
   "end_elevation_m": 1069.2344246654054,
   "start_xy": [
    2781139.690332462,
    1198158.8454116983
   ],
   "end_xy": [
    2781149.7629613043,
    1198136.6018536708
   ]
  },
  "min_50m": {
   "gradient_pct": 5.48577844162628,
   "start_distance_m": 48.0,
   "end_distance_m": 98.0,
   "midpoint_distance_m": 73.0,
   "start_elevation_m": 1066.773705672786,
   "end_elevation_m": 1069.5165948935992,
   "start_xy": [
    2781136.67119978,
    1198171.489968164
   ],
   "end_xy": [
    2781157.30700493,
    1198127.2697916552
   ]
  },
  "min_100m": {
   "gradient_pct": 8.071700645160263,
   "start_distance_m": 58.0,
   "end_distance_m": 158.0,
   "midpoint_distance_m": 108.0,
   "start_elevation_m": 1069.5214490643848,
   "end_elevation_m": 1077.593149709545,
   "start_xy": [
    2781138.993128618,
    1198161.7632714792
   ],
   "end_xy": [
    2781186.418698953,
    1198077.8114593013
   ]
  }
 },
 "diagnostic_window_maxima": {
  "max_2m": {
   "gradient_pct": 24.258222163575738,
   "start_distance_m": 134.0,
   "end_distance_m": 136.0,
   "midpoint_distance_m": 135.0,
   "start_elevation_m": 1074.901407767549,
   "end_elevation_m": 1075.3865722108205,
   "start_xy": [
    2781168.7086332995,
    1198093.4839429376
   ],
   "end_xy": [
    2781169.9576573926,
    1198091.9219127824
   ]
  },
  "max_3m": {
   "gradient_pct": 20.891423742637016,
   "start_distance_m": 134.0,
   "end_distance_m": 137.0,
   "midpoint_distance_m": 135.5,
   "start_elevation_m": 1074.901407767549,
   "end_elevation_m": 1075.5281504798281,
   "start_xy": [
    2781168.7086332995,
    1198093.4839429376
   ],
   "end_xy": [
    2781170.5818739915,
    1198091.1406614603
   ]
  }
 },
 "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": {
  "structure_suppression": {
   "masked_fraction": 0.064,
   "windows_resited": [
    2.0,
    3.0,
    5.0,
    10.0,
    20.0,
    25.0,
    100.0
   ],
   "windows_unresolved": []
  },
  "texture_suppression": {
   "masked_fraction": 0.108,
   "windows_resited": [
    2.0,
    3.0,
    5.0,
    10.0,
    20.0,
    25.0,
    50.0
   ],
   "windows_unresolved": []
  },
  "texture_windows": {
   "rounds": 1,
   "windows_masked": [
    {
     "window_m": 25.0,
     "start_m": 33.0,
     "end_m": 58.0,
     "raw_pct": 20.1,
     "reason": "spike+hump"
    },
    {
     "window_m": 20.0,
     "start_m": 38.0,
     "end_m": 58.0,
     "raw_pct": 23.13,
     "reason": "spike+hump"
    },
    {
     "window_m": 10.0,
     "start_m": 44.0,
     "end_m": 54.0,
     "raw_pct": 32.54,
     "reason": "hump+short-step"
    },
    {
     "window_m": 5.0,
     "start_m": 46.0,
     "end_m": 51.0,
     "raw_pct": 36.89,
     "reason": "hump"
    }
   ],
   "advisory": [],
   "unresolved": []
  },
  "excluded_ranges_m": [
   [
    31.0,
    60.0
   ],
   [
    78.0,
    121.0
   ]
  ],
  "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_2781-1197_0.5_2056_5728.tif",
   "data/cache/ch/swissalti3d_2023_2781-1198_0.5_2056_5728.tif"
  ],
  "calculated_at": "2026-09-12T01:28:32+00:00",
  "road_source": "OpenStreetMap (local PBF extract)",
  "road_attribution": "\u00a9 OpenStreetMap contributors, ODbL",
  "osm_pbf_path": "output/texture-ch-ch/batch-switzerland-rchunk05.pbf",
  "osm_snapshot": "",
  "run_id": "texture-ch-ch-260912",
  "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": [
   "2781-1197",
   "2781-1198"
  ],
  "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": "Klosters",
  "county": "Graub\u00fcnden/Grischun/Grigioni",
  "source": "OpenStreetMap administrative boundaries (\u00a9 OpenStreetMap contributors, ODbL)"
 }
}