{
 "ocl_version": "0.1.0",
 "name": "Schafmattstrasse",
 "slug": "schafmattstrasse-3",
 "confidence": "B",
 "reported_claims": [],
 "ladder": [
  {
   "window_m": 2.0,
   "max_gradient_pct": 26.80082659103391,
   "diagnostic": true,
   "flags": [
    "texture_excluded"
   ],
   "start_distance_m": 2101.0,
   "end_distance_m": 2103.0,
   "start_elevation_m": 768.5587709861861,
   "end_elevation_m": 769.0947875180068,
   "min_gradient_pct": -7.724355311853515,
   "suppressed_max_gradient_pct": 45.529828580782805,
   "suppressed_location_m": [
    2129.0,
    2131.0
   ]
  },
  {
   "window_m": 3.0,
   "max_gradient_pct": 25.55412179799153,
   "diagnostic": true,
   "flags": [
    "texture_excluded"
   ],
   "start_distance_m": 2101.0,
   "end_distance_m": 2104.0,
   "start_elevation_m": 768.5587709861861,
   "end_elevation_m": 769.3253946401259,
   "min_gradient_pct": -7.51014960971285,
   "suppressed_max_gradient_pct": 42.39828604899003,
   "suppressed_location_m": [
    2129.0,
    2132.0
   ]
  },
  {
   "window_m": 5.0,
   "max_gradient_pct": 24.20217074864013,
   "diagnostic": false,
   "flags": [
    "texture_excluded"
   ],
   "start_distance_m": 2099.0,
   "end_distance_m": 2104.0,
   "start_elevation_m": 768.1152861026939,
   "end_elevation_m": 769.3253946401259,
   "min_gradient_pct": -6.737477896313067,
   "suppressed_max_gradient_pct": 36.244870329119294,
   "suppressed_location_m": [
    2127.0,
    2132.0
   ]
  },
  {
   "window_m": 10.0,
   "max_gradient_pct": 21.4258805746465,
   "diagnostic": false,
   "flags": [
    "texture_excluded"
   ],
   "start_distance_m": 2094.0,
   "end_distance_m": 2104.0,
   "start_elevation_m": 767.1828065826612,
   "end_elevation_m": 769.3253946401259,
   "min_gradient_pct": -5.09107169758181,
   "suppressed_max_gradient_pct": 32.57090834039218,
   "suppressed_location_m": [
    2122.0,
    2132.0
   ]
  },
  {
   "window_m": 20.0,
   "max_gradient_pct": 17.33710134175908,
   "diagnostic": false,
   "flags": [
    "texture_excluded"
   ],
   "start_distance_m": 2084.0,
   "end_distance_m": 2104.0,
   "start_elevation_m": 765.857974371774,
   "end_elevation_m": 769.3253946401259,
   "min_gradient_pct": -2.9247107392546923,
   "suppressed_max_gradient_pct": 24.170957270052895,
   "suppressed_location_m": [
    2113.0,
    2133.0
   ]
  },
  {
   "window_m": 25.0,
   "max_gradient_pct": 16.825713728687788,
   "diagnostic": false,
   "flags": [
    "texture_excluded"
   ],
   "start_distance_m": 2079.0,
   "end_distance_m": 2104.0,
   "start_elevation_m": 765.1189662079539,
   "end_elevation_m": 769.3253946401259,
   "min_gradient_pct": -2.3512915304445414,
   "suppressed_max_gradient_pct": 23.57300523896356,
   "suppressed_location_m": [
    2107.0,
    2132.0
   ]
  },
  {
   "window_m": 50.0,
   "max_gradient_pct": 15.22922602705603,
   "diagnostic": false,
   "flags": [
    "texture_excluded"
   ],
   "start_distance_m": 1902.0,
   "end_distance_m": 1952.0,
   "start_elevation_m": 751.2845061956405,
   "end_elevation_m": 758.8991192091685,
   "min_gradient_pct": 0.8610224404758355,
   "suppressed_max_gradient_pct": 20.763348880759395,
   "suppressed_location_m": [
    2083.0,
    2133.0
   ]
  },
  {
   "window_m": 100.0,
   "max_gradient_pct": 11.550486218416154,
   "diagnostic": false,
   "flags": [
    "texture_excluded"
   ],
   "start_distance_m": 1574.0,
   "end_distance_m": 1674.0,
   "start_elevation_m": 719.4794564862423,
   "end_elevation_m": 731.0299427046584,
   "min_gradient_pct": 2.1610463520970598,
   "suppressed_max_gradient_pct": 14.670337992023633,
   "suppressed_location_m": [
    2033.0,
    2133.0
   ]
  }
 ],
 "shape": {
  "ascent_concentration": 0.306,
  "concentration_window_frac": 0.25,
  "longest_pitch_10pct_m": 99.0,
  "shape_class": "sustained"
 },
 "length_m": 2744.853218408289,
 "start_elevation_m": 591.0369627148694,
 "end_elevation_m": 806.9378945312474,
 "endpoint_gain_m": 215.90093181637792,
 "overall_gradient_pct": 7.865664013231882,
 "accumulated_ascent_m": 217.3712857495094,
 "window_maxima": {
  "max_5m": {
   "gradient_pct": 24.20217074864013,
   "start_distance_m": 2099.0,
   "end_distance_m": 2104.0,
   "midpoint_distance_m": 2101.5,
   "start_elevation_m": 768.1152861026939,
   "end_elevation_m": 769.3253946401259,
   "start_xy": [
    2637805.1210788838,
    1252260.4187053398
   ],
   "end_xy": [
    2637801.918976935,
    1252264.258827678
   ]
  },
  "max_10m": {
   "gradient_pct": 21.4258805746465,
   "start_distance_m": 2094.0,
   "end_distance_m": 2104.0,
   "midpoint_distance_m": 2099.0,
   "start_elevation_m": 767.1828065826612,
   "end_elevation_m": 769.3253946401259,
   "start_xy": [
    2637807.5019991053,
    1252256.0394812902
   ],
   "end_xy": [
    2637801.918976935,
    1252264.258827678
   ]
  },
  "max_20m": {
   "gradient_pct": 17.33710134175908,
   "start_distance_m": 2084.0,
   "end_distance_m": 2104.0,
   "midpoint_distance_m": 2094.0,
   "start_elevation_m": 765.857974371774,
   "end_elevation_m": 769.3253946401259,
   "start_xy": [
    2637810.511262141,
    1252246.5950552353
   ],
   "end_xy": [
    2637801.918976935,
    1252264.258827678
   ]
  },
  "max_25m": {
   "gradient_pct": 16.825713728687788,
   "start_distance_m": 2079.0,
   "end_distance_m": 2104.0,
   "midpoint_distance_m": 2091.5,
   "start_elevation_m": 765.1189662079539,
   "end_elevation_m": 769.3253946401259,
   "start_xy": [
    2637811.3411134356,
    1252241.671377361
   ],
   "end_xy": [
    2637801.918976935,
    1252264.258827678
   ]
  },
  "max_50m": {
   "gradient_pct": 15.22922602705603,
   "start_distance_m": 1902.0,
   "end_distance_m": 1952.0,
   "midpoint_distance_m": 1927.0,
   "start_elevation_m": 751.2845061956405,
   "end_elevation_m": 758.8991192091685,
   "start_xy": [
    2637694.941431213,
    1252137.4198034965
   ],
   "end_xy": [
    2637711.0517572905,
    1252174.9987995941
   ]
  },
  "max_100m": {
   "gradient_pct": 11.550486218416154,
   "start_distance_m": 1574.0,
   "end_distance_m": 1674.0,
   "midpoint_distance_m": 1624.0,
   "start_elevation_m": 719.4794564862423,
   "end_elevation_m": 731.0299427046584,
   "start_xy": [
    2637438.1414669673,
    1252192.24996677
   ],
   "end_xy": [
    2637523.019636569,
    1252146.4349469491
   ]
  }
 },
 "window_minima": {
  "min_5m": {
   "gradient_pct": -6.737477896313067,
   "start_distance_m": 1974.0,
   "end_distance_m": 1979.0,
   "midpoint_distance_m": 1976.5,
   "start_elevation_m": 759.4482556692997,
   "end_elevation_m": 759.111381774484,
   "start_xy": [
    2637731.285217596,
    1252183.545228588
   ],
   "end_xy": [
    2637735.9891432095,
    1252185.2402399448
   ]
  },
  "min_10m": {
   "gradient_pct": -5.09107169758181,
   "start_distance_m": 1971.0,
   "end_distance_m": 1981.0,
   "midpoint_distance_m": 1976.0,
   "start_elevation_m": 759.5159561624936,
   "end_elevation_m": 759.0068489927354,
   "start_xy": [
    2637728.4589620926,
    1252182.5391096615
   ],
   "end_xy": [
    2637737.8705451144,
    1252185.9187134313
   ]
  },
  "min_20m": {
   "gradient_pct": -2.9247107392546923,
   "start_distance_m": 1967.0,
   "end_distance_m": 1987.0,
   "midpoint_distance_m": 1977.0,
   "start_elevation_m": 759.6128082869249,
   "end_elevation_m": 759.0278661390739,
   "start_xy": [
    2637724.690075312,
    1252181.199149925
   ],
   "end_xy": [
    2637743.514705948,
    1252187.9542575094
   ]
  },
  "min_25m": {
   "gradient_pct": -2.3512915304445414,
   "start_distance_m": 1965.0,
   "end_distance_m": 1990.0,
   "midpoint_distance_m": 1977.5,
   "start_elevation_m": 759.5945023028474,
   "end_elevation_m": 759.0066794202363,
   "start_xy": [
    2637722.80568803,
    1252180.5290121976
   ],
   "end_xy": [
    2637746.3370796326,
    1252188.9712170162
   ]
  },
  "min_50m": {
   "gradient_pct": 0.8610224404758355,
   "start_distance_m": 1958.0,
   "end_distance_m": 2008.0,
   "midpoint_distance_m": 1983.0,
   "start_elevation_m": 759.3685605507129,
   "end_elevation_m": 759.7990717709508,
   "start_xy": [
    2637716.386553815,
    1252177.7446947664
   ],
   "end_xy": [
    2637763.0789546254,
    1252195.5695975907
   ]
  },
  "min_100m": {
   "gradient_pct": 2.1610463520970598,
   "start_distance_m": 2207.0,
   "end_distance_m": 2307.0,
   "midpoint_distance_m": 2257.0,
   "start_elevation_m": 777.8692395366271,
   "end_elevation_m": 780.0302858887242,
   "start_xy": [
    2637837.847238517,
    1252323.6707764142
   ],
   "end_xy": [
    2637921.4151487276,
    1252377.7559579215
   ]
  }
 },
 "diagnostic_window_maxima": {
  "max_2m": {
   "gradient_pct": 26.80082659103391,
   "start_distance_m": 2101.0,
   "end_distance_m": 2103.0,
   "midpoint_distance_m": 2102.0,
   "start_elevation_m": 768.5587709861861,
   "end_elevation_m": 769.0947875180068,
   "start_xy": [
    2637803.8403744837,
    1252261.9548680133
   ],
   "end_xy": [
    2637802.5594157474,
    1252263.490818574
   ]
  },
  "max_3m": {
   "gradient_pct": 25.55412179799153,
   "start_distance_m": 2101.0,
   "end_distance_m": 2104.0,
   "midpoint_distance_m": 2102.5,
   "start_elevation_m": 768.5587709861861,
   "end_elevation_m": 769.3253946401259,
   "start_xy": [
    2637803.8403744837,
    1252261.9548680133
   ],
   "end_xy": [
    2637801.918976935,
    1252264.258827678
   ]
  }
 },
 "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.002,
   "windows_resited": [],
   "windows_unresolved": []
  },
  "texture_suppression": {
   "masked_fraction": 0.013,
   "windows_resited": [
    2.0,
    3.0,
    5.0,
    10.0,
    20.0,
    25.0,
    50.0,
    100.0
   ],
   "windows_unresolved": []
  },
  "texture_windows": {
   "rounds": 1,
   "windows_masked": [
    {
     "window_m": 25.0,
     "start_m": 2107.0,
     "end_m": 2132.0,
     "raw_pct": 23.57,
     "reason": "hump"
    },
    {
     "window_m": 20.0,
     "start_m": 2113.0,
     "end_m": 2133.0,
     "raw_pct": 24.17,
     "reason": "hump"
    },
    {
     "window_m": 10.0,
     "start_m": 2122.0,
     "end_m": 2132.0,
     "raw_pct": 32.57,
     "reason": "hump"
    },
    {
     "window_m": 5.0,
     "start_m": 2127.0,
     "end_m": 2132.0,
     "raw_pct": 36.24,
     "reason": "hump+short-step"
    }
   ],
   "advisory": [],
   "unresolved": []
  },
  "excluded_ranges_m": [
   [
    1896.0,
    1901.0
   ],
   [
    2105.0,
    2135.0
   ]
  ],
  "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:2056",
  "elevation_resolution_m": 0.5,
  "elevation_tiles": [
   "data/cache/ch/swissalti3d_2025_2636-1251_0.5_2056_5728.tif",
   "data/cache/ch/swissalti3d_2025_2636-1252_0.5_2056_5728.tif",
   "data/cache/ch/swissalti3d_2025_2637-1251_0.5_2056_5728.tif",
   "data/cache/ch/swissalti3d_2025_2637-1252_0.5_2056_5728.tif"
  ],
  "calculated_at": "2026-09-11T23:52:54+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-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": [
   "2636-1251",
   "2636-1252",
   "2637-1251",
   "2637-1252"
  ],
  "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": "Zeglingen",
  "county": "Basel-Landschaft",
  "source": "OpenStreetMap administrative boundaries (\u00a9 OpenStreetMap contributors, ODbL)"
 }
}