{
 "ocl_version": "0.1.0",
 "name": "Route de Zinal",
 "slug": "route-de-zinal-2",
 "confidence": "B",
 "reported_claims": [],
 "ladder": [
  {
   "window_m": 2.0,
   "max_gradient_pct": 16.19764104943897,
   "diagnostic": true,
   "flags": [
    "texture_excluded"
   ],
   "start_distance_m": 353.0,
   "end_distance_m": 355.0,
   "start_elevation_m": 1322.0651261183011,
   "end_elevation_m": 1322.38907893929,
   "min_gradient_pct": -6.967292259491842,
   "suppressed_max_gradient_pct": 24.376690726194283,
   "suppressed_location_m": [
    159.0,
    161.0
   ]
  },
  {
   "window_m": 3.0,
   "max_gradient_pct": 15.917330069078162,
   "diagnostic": true,
   "flags": [
    "texture_excluded"
   ],
   "start_distance_m": 490.0,
   "end_distance_m": 493.0,
   "start_elevation_m": 1338.6056367201468,
   "end_elevation_m": 1339.0831566222191,
   "min_gradient_pct": -6.6964596839094765,
   "suppressed_max_gradient_pct": 24.28753888717286,
   "suppressed_location_m": [
    158.0,
    161.0
   ]
  },
  {
   "window_m": 5.0,
   "max_gradient_pct": 15.723179668966623,
   "diagnostic": false,
   "flags": [
    "texture_excluded"
   ],
   "start_distance_m": 489.0,
   "end_distance_m": 494.0,
   "start_elevation_m": 1338.457940851085,
   "end_elevation_m": 1339.2440998345332,
   "min_gradient_pct": -5.708989286817996,
   "suppressed_max_gradient_pct": 23.30105151526368,
   "suppressed_location_m": [
    156.0,
    161.0
   ]
  },
  {
   "window_m": 10.0,
   "max_gradient_pct": 15.321343223790791,
   "diagnostic": false,
   "flags": [
    "texture_excluded"
   ],
   "start_distance_m": 489.0,
   "end_distance_m": 499.0,
   "start_elevation_m": 1338.457940851085,
   "end_elevation_m": 1339.990075173464,
   "min_gradient_pct": -3.9478796422736195,
   "suppressed_max_gradient_pct": 21.728200731886318,
   "suppressed_location_m": [
    141.0,
    151.0
   ]
  },
  {
   "window_m": 20.0,
   "max_gradient_pct": 15.227614353261743,
   "diagnostic": false,
   "flags": [
    "texture_excluded"
   ],
   "start_distance_m": 485.0,
   "end_distance_m": 505.0,
   "start_elevation_m": 1337.854840597622,
   "end_elevation_m": 1340.9003634682742,
   "min_gradient_pct": 0.5023901953370569,
   "suppressed_max_gradient_pct": 21.675992973995335,
   "suppressed_location_m": [
    141.0,
    161.0
   ]
  },
  {
   "window_m": 25.0,
   "max_gradient_pct": 15.122653962417644,
   "diagnostic": false,
   "flags": [
    "texture_excluded"
   ],
   "start_distance_m": 483.0,
   "end_distance_m": 508.0,
   "start_elevation_m": 1337.5718727490043,
   "end_elevation_m": 1341.3525362396088,
   "min_gradient_pct": 0.7713675791401329,
   "suppressed_max_gradient_pct": 20.238375819900284,
   "suppressed_location_m": [
    137.0,
    162.0
   ]
  },
  {
   "window_m": 50.0,
   "max_gradient_pct": 14.56204932494029,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 474.0,
   "end_distance_m": 524.0,
   "start_elevation_m": 1336.3059426853144,
   "end_elevation_m": 1343.5869673477846,
   "min_gradient_pct": 1.5124116835527275
  },
  {
   "window_m": 100.0,
   "max_gradient_pct": 13.699714950196494,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 434.0,
   "end_distance_m": 534.0,
   "start_elevation_m": 1331.1863776764724,
   "end_elevation_m": 1344.8860926266689,
   "min_gradient_pct": 1.941240710779084
  }
 ],
 "shape": {
  "ascent_concentration": 0.375,
  "concentration_window_frac": 0.25,
  "longest_pitch_10pct_m": 302.0,
  "shape_class": "sustained"
 },
 "length_m": 2761.6412366848194,
 "start_elevation_m": 1292.407464599617,
 "end_elevation_m": 1471.3808832324219,
 "endpoint_gain_m": 178.97341863280485,
 "overall_gradient_pct": 6.480690404509293,
 "accumulated_ascent_m": 179.7594613409433,
 "window_maxima": {
  "max_5m": {
   "gradient_pct": 15.723179668966623,
   "start_distance_m": 489.0,
   "end_distance_m": 494.0,
   "midpoint_distance_m": 491.5,
   "start_elevation_m": 1338.457940851085,
   "end_elevation_m": 1339.2440998345332,
   "start_xy": [
    2611978.414342044,
    1115191.6138658233
   ],
   "end_xy": [
    2611979.46243405,
    1115186.724949994
   ]
  },
  "max_10m": {
   "gradient_pct": 15.321343223790791,
   "start_distance_m": 489.0,
   "end_distance_m": 499.0,
   "midpoint_distance_m": 494.0,
   "start_elevation_m": 1338.457940851085,
   "end_elevation_m": 1339.990075173464,
   "start_xy": [
    2611978.414342044,
    1115191.6138658233
   ],
   "end_xy": [
    2611980.510910645,
    1115181.8361166925
   ]
  },
  "max_20m": {
   "gradient_pct": 15.227614353261743,
   "start_distance_m": 485.0,
   "end_distance_m": 505.0,
   "midpoint_distance_m": 495.0,
   "start_elevation_m": 1337.854840597622,
   "end_elevation_m": 1340.9003634682742,
   "start_xy": [
    2611977.4505795296,
    1115195.4950982977
   ],
   "end_xy": [
    2611981.9291343545,
    1115176.0084598402
   ]
  },
  "max_25m": {
   "gradient_pct": 15.122653962417644,
   "start_distance_m": 483.0,
   "end_distance_m": 508.0,
   "midpoint_distance_m": 495.5,
   "start_elevation_m": 1337.5718727490043,
   "end_elevation_m": 1341.3525362396088,
   "start_xy": [
    2611976.9256139793,
    1115197.4249714126
   ],
   "end_xy": [
    2611982.7421932356,
    1115173.1207384043
   ]
  },
  "max_50m": {
   "gradient_pct": 14.56204932494029,
   "start_distance_m": 474.0,
   "end_distance_m": 524.0,
   "midpoint_distance_m": 499.0,
   "start_elevation_m": 1336.3059426853144,
   "end_elevation_m": 1343.5869673477846,
   "start_xy": [
    2611974.4602057072,
    1115206.0783216187
   ],
   "end_xy": [
    2611987.32546518,
    1115157.7929949712
   ]
  },
  "max_100m": {
   "gradient_pct": 13.699714950196494,
   "start_distance_m": 434.0,
   "end_distance_m": 534.0,
   "midpoint_distance_m": 484.0,
   "start_elevation_m": 1331.1863776764724,
   "end_elevation_m": 1344.8860926266689,
   "start_xy": [
    2611959.4312427696,
    1115243.08594884
   ],
   "end_xy": [
    2611990.9600640326,
    1115148.4772410074
   ]
  }
 },
 "window_minima": {
  "min_5m": {
   "gradient_pct": -5.708989286817996,
   "start_distance_m": 108.0,
   "end_distance_m": 113.0,
   "midpoint_distance_m": 110.5,
   "start_elevation_m": 1301.0900914983995,
   "end_elevation_m": 1300.8046420340586,
   "start_xy": [
    2611861.9669203106,
    1115479.55629129
   ],
   "end_xy": [
    2611863.3444581474,
    1115475.0423324895
   ]
  },
  "min_10m": {
   "gradient_pct": -3.9478796422736195,
   "start_distance_m": 103.0,
   "end_distance_m": 113.0,
   "midpoint_distance_m": 108.0,
   "start_elevation_m": 1301.199429998286,
   "end_elevation_m": 1300.8046420340586,
   "start_xy": [
    2611861.571997807,
    1115484.5161827577
   ],
   "end_xy": [
    2611863.3444581474,
    1115475.0423324895
   ]
  },
  "min_20m": {
   "gradient_pct": 0.5023901953370569,
   "start_distance_m": 2571.0,
   "end_distance_m": 2591.0,
   "midpoint_distance_m": 2581.0,
   "start_elevation_m": 1462.4549798564651,
   "end_elevation_m": 1462.5554578955325,
   "start_xy": [
    2612873.8664242835,
    1113874.1175000868
   ],
   "end_xy": [
    2612889.044361872,
    1113881.222888941
   ]
  },
  "min_25m": {
   "gradient_pct": 0.7713675791401329,
   "start_distance_m": 2572.0,
   "end_distance_m": 2597.0,
   "midpoint_distance_m": 2584.5,
   "start_elevation_m": 1462.4733063526876,
   "end_elevation_m": 1462.6661482474726,
   "start_xy": [
    2612874.1861471543,
    1113873.1710792875
   ],
   "end_xy": [
    2612887.3716527605,
    1113886.9380613433
   ]
  },
  "min_50m": {
   "gradient_pct": 1.5124116835527275,
   "start_distance_m": 2556.0,
   "end_distance_m": 2606.0,
   "midpoint_distance_m": 2581.0,
   "start_elevation_m": 1462.0995193811814,
   "end_elevation_m": 1462.8557252229577,
   "start_xy": [
    2612870.2939510583,
    1113888.6858666954
   ],
   "end_xy": [
    2612883.1632633563,
    1113894.8879812649
   ]
  },
  "min_100m": {
   "gradient_pct": 1.941240710779084,
   "start_distance_m": 2080.0,
   "end_distance_m": 2180.0,
   "midpoint_distance_m": 2130.0,
   "start_elevation_m": 1449.7470337188859,
   "end_elevation_m": 1451.688274429665,
   "start_xy": [
    2612559.1915815813,
    1114240.39631547
   ],
   "end_xy": [
    2612617.4421328027,
    1114159.1694402937
   ]
  }
 },
 "diagnostic_window_maxima": {
  "max_2m": {
   "gradient_pct": 16.19764104943897,
   "start_distance_m": 353.0,
   "end_distance_m": 355.0,
   "midpoint_distance_m": 354.0,
   "start_elevation_m": 1322.0651261183011,
   "end_elevation_m": 1322.38907893929,
   "start_xy": [
    2611925.4591851598,
    1115316.4547945717
   ],
   "end_xy": [
    2611926.096138447,
    1115314.5589333922
   ]
  },
  "max_3m": {
   "gradient_pct": 15.917330069078162,
   "start_distance_m": 490.0,
   "end_distance_m": 493.0,
   "midpoint_distance_m": 491.5,
   "start_elevation_m": 1338.6056367201468,
   "end_elevation_m": 1339.0831566222191,
   "start_xy": [
    2611978.6239197664,
    1115190.6360740121
   ],
   "end_xy": [
    2611979.252880118,
    1115187.7027470085
   ]
  }
 },
 "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": {
  "texture_suppression": {
   "masked_fraction": 0.011,
   "windows_resited": [
    2.0,
    3.0,
    5.0,
    10.0,
    20.0,
    25.0
   ],
   "windows_unresolved": []
  },
  "texture_windows": {
   "rounds": 1,
   "windows_masked": [
    {
     "window_m": 25.0,
     "start_m": 137.0,
     "end_m": 162.0,
     "raw_pct": 20.24,
     "reason": "hump"
    },
    {
     "window_m": 20.0,
     "start_m": 141.0,
     "end_m": 161.0,
     "raw_pct": 21.68,
     "reason": "hump"
    },
    {
     "window_m": 10.0,
     "start_m": 141.0,
     "end_m": 151.0,
     "raw_pct": 21.73,
     "reason": "hump"
    }
   ],
   "advisory": [],
   "unresolved": []
  },
  "excluded_ranges_m": [
   [
    135.0,
    164.0
   ]
  ],
  "review": [],
  "extent": [
   "may_start_earlier"
  ]
 },
 "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_2024_2611-1114_0.5_2056_5728.tif",
   "data/cache/ch/swissalti3d_2024_2611-1115_0.5_2056_5728.tif",
   "data/cache/ch/swissalti3d_2024_2612-1113_0.5_2056_5728.tif",
   "data/cache/ch/swissalti3d_2024_2612-1114_0.5_2056_5728.tif",
   "data/cache/ch/swissalti3d_2024_2612-1115_0.5_2056_5728.tif"
  ],
  "calculated_at": "2026-09-11T23:52:12+00:00",
  "road_source": "OpenStreetMap (local PBF extract)",
  "road_attribution": "\u00a9 OpenStreetMap contributors, ODbL",
  "osm_pbf_path": "output/texture-ch-ch/batch-switzerland-rchunk00.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": [
   "2611-1114",
   "2611-1115",
   "2612-1113",
   "2612-1114",
   "2612-1115"
  ],
  "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": "Anniviers",
  "county": "Valais/Wallis",
  "source": "OpenStreetMap administrative boundaries (\u00a9 OpenStreetMap contributors, ODbL)"
 }
}