{
 "ocl_version": "0.1.0",
 "name": "Via Vignola",
 "slug": "via-vignola",
 "confidence": "B",
 "reported_claims": [],
 "ladder": [
  {
   "window_m": 2.0,
   "max_gradient_pct": 23.09083553844573,
   "diagnostic": true,
   "flags": [
    "texture_excluded"
   ],
   "start_distance_m": 750.0,
   "end_distance_m": 752.0,
   "start_elevation_m": 439.50197318956907,
   "end_elevation_m": 439.963789900338,
   "min_gradient_pct": -2.8941675806834155,
   "suppressed_max_gradient_pct": 25.310546593058803,
   "suppressed_location_m": [
    728.0,
    730.0
   ]
  },
  {
   "window_m": 3.0,
   "max_gradient_pct": 22.385613866111953,
   "diagnostic": true,
   "flags": [
    "texture_excluded"
   ],
   "start_distance_m": 755.0,
   "end_distance_m": 758.0,
   "start_elevation_m": 440.57637670402084,
   "end_elevation_m": 441.2479451200042,
   "min_gradient_pct": -2.31160787409029,
   "suppressed_max_gradient_pct": 25.24179411929784,
   "suppressed_location_m": [
    727.0,
    730.0
   ]
  },
  {
   "window_m": 5.0,
   "max_gradient_pct": 21.85953878049986,
   "diagnostic": false,
   "flags": [
    "texture_excluded"
   ],
   "start_distance_m": 753.0,
   "end_distance_m": 758.0,
   "start_elevation_m": 440.1549681809792,
   "end_elevation_m": 441.2479451200042,
   "min_gradient_pct": -1.6138205368338276,
   "suppressed_max_gradient_pct": 24.13956430797498,
   "suppressed_location_m": [
    726.0,
    731.0
   ]
  },
  {
   "window_m": 10.0,
   "max_gradient_pct": 21.441557986619273,
   "diagnostic": false,
   "flags": [
    "texture_excluded"
   ],
   "start_distance_m": 749.0,
   "end_distance_m": 759.0,
   "start_elevation_m": 439.29835777675174,
   "end_elevation_m": 441.44251357541367,
   "min_gradient_pct": -1.415163786898006,
   "suppressed_max_gradient_pct": 23.140243966656158,
   "suppressed_location_m": [
    721.0,
    731.0
   ]
  },
  {
   "window_m": 20.0,
   "max_gradient_pct": 18.090542552317288,
   "diagnostic": false,
   "flags": [
    "texture_excluded"
   ],
   "start_distance_m": 532.0,
   "end_distance_m": 552.0,
   "start_elevation_m": 414.59246430251915,
   "end_elevation_m": 418.2105728129826,
   "min_gradient_pct": -1.1523371982278263,
   "suppressed_max_gradient_pct": 21.657956602370234,
   "suppressed_location_m": [
    717.0,
    737.0
   ]
  },
  {
   "window_m": 25.0,
   "max_gradient_pct": 17.99141798107439,
   "diagnostic": false,
   "flags": [
    "texture_excluded"
   ],
   "start_distance_m": 524.0,
   "end_distance_m": 549.0,
   "start_elevation_m": 413.15992233042664,
   "end_elevation_m": 417.65777682569524,
   "min_gradient_pct": -1.0080021238341033,
   "suppressed_max_gradient_pct": 21.497986672779234,
   "suppressed_location_m": [
    721.0,
    746.0
   ]
  },
  {
   "window_m": 50.0,
   "max_gradient_pct": 16.946751435778083,
   "diagnostic": false,
   "flags": [
    "texture_excluded"
   ],
   "start_distance_m": 513.0,
   "end_distance_m": 563.0,
   "start_elevation_m": 411.4055604548081,
   "end_elevation_m": 419.87893617269714,
   "min_gradient_pct": 2.1020436772914763,
   "suppressed_max_gradient_pct": 20.547310922698557,
   "suppressed_location_m": [
    709.0,
    759.0
   ]
  },
  {
   "window_m": 100.0,
   "max_gradient_pct": 16.39848765112083,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 497.0,
   "end_distance_m": 597.0,
   "start_elevation_m": 409.094034595736,
   "end_elevation_m": 425.4925222468568,
   "min_gradient_pct": 4.158801557825541
  }
 ],
 "shape": {
  "ascent_concentration": 0.306,
  "concentration_window_frac": 0.25,
  "longest_pitch_10pct_m": 151.0,
  "shape_class": "sustained"
 },
 "length_m": 759.4046325031436,
 "start_elevation_m": 358.43366056396354,
 "end_elevation_m": 441.5198805029506,
 "endpoint_gain_m": 83.08621993898709,
 "overall_gradient_pct": 10.940968277362089,
 "accumulated_ascent_m": 83.36498947775237,
 "window_maxima": {
  "max_5m": {
   "gradient_pct": 21.85953878049986,
   "start_distance_m": 753.0,
   "end_distance_m": 758.0,
   "midpoint_distance_m": 755.5,
   "start_elevation_m": 440.1549681809792,
   "end_elevation_m": 441.2479451200042,
   "start_xy": [
    2723993.8245302667,
    1078958.8755409722
   ],
   "end_xy": [
    2723992.1894926606,
    1078963.600649651
   ]
  },
  "max_10m": {
   "gradient_pct": 21.441557986619273,
   "start_distance_m": 749.0,
   "end_distance_m": 759.0,
   "midpoint_distance_m": 754.0,
   "start_elevation_m": 439.29835777675174,
   "end_elevation_m": 441.44251357541367,
   "start_xy": [
    2723995.132560352,
    1078955.0954540293
   ],
   "end_xy": [
    2723991.8623886206,
    1078964.5456379782
   ]
  },
  "max_20m": {
   "gradient_pct": 18.090542552317288,
   "start_distance_m": 532.0,
   "end_distance_m": 552.0,
   "midpoint_distance_m": 542.0,
   "start_elevation_m": 414.59246430251915,
   "end_elevation_m": 418.2105728129826,
   "start_xy": [
    2723859.1703909906,
    1078900.5256894934
   ],
   "end_xy": [
    2723860.4804528486,
    1078919.4890860089
   ]
  },
  "max_25m": {
   "gradient_pct": 17.99141798107439,
   "start_distance_m": 524.0,
   "end_distance_m": 549.0,
   "midpoint_distance_m": 536.5,
   "start_elevation_m": 413.15992233042664,
   "end_elevation_m": 417.65777682569524,
   "start_xy": [
    2723863.452270478,
    1078894.0261873952
   ],
   "end_xy": [
    2723858.80831734,
    1078916.9995163567
   ]
  },
  "max_50m": {
   "gradient_pct": 16.946751435778083,
   "start_distance_m": 513.0,
   "end_distance_m": 563.0,
   "midpoint_distance_m": 538.0,
   "start_elevation_m": 411.4055604548081,
   "end_elevation_m": 419.87893617269714,
   "start_xy": [
    2723871.7375585265,
    1078886.7905836515
   ],
   "end_xy": [
    2723870.2714473247,
    1078924.3036250754
   ]
  },
  "max_100m": {
   "gradient_pct": 16.39848765112083,
   "start_distance_m": 497.0,
   "end_distance_m": 597.0,
   "midpoint_distance_m": 547.0,
   "start_elevation_m": 409.094034595736,
   "end_elevation_m": 425.4925222468568,
   "start_xy": [
    2723883.735940857,
    1078876.2079915183
   ],
   "end_xy": [
    2723902.263635925,
    1078935.8144733433
   ]
  }
 },
 "window_minima": {
  "min_5m": {
   "gradient_pct": -1.6138205368338276,
   "start_distance_m": 685.0,
   "end_distance_m": 690.0,
   "midpoint_distance_m": 687.5,
   "start_elevation_m": 430.4753660046615,
   "end_elevation_m": 430.3946749778198,
   "start_xy": [
    2723981.2118585566,
    1078908.7216103317
   ],
   "end_xy": [
    2723986.1878426964,
    1078909.2110789793
   ]
  },
  "min_10m": {
   "gradient_pct": -1.415163786898006,
   "start_distance_m": 684.0,
   "end_distance_m": 694.0,
   "midpoint_distance_m": 689.0,
   "start_elevation_m": 430.4832037684919,
   "end_elevation_m": 430.3416873898021,
   "start_xy": [
    2723980.2142440435,
    1078908.6893238418
   ],
   "end_xy": [
    2723990.0682571023,
    1078910.1403459439
   ]
  },
  "min_20m": {
   "gradient_pct": -1.1523371982278263,
   "start_distance_m": 679.0,
   "end_distance_m": 699.0,
   "midpoint_distance_m": 689.0,
   "start_elevation_m": 430.5291938931904,
   "end_elevation_m": 430.2987264535448,
   "start_xy": [
    2723975.2477224213,
    1078909.2498596043
   ],
   "end_xy": [
    2723994.864430468,
    1078911.5533971037
   ]
  },
  "min_25m": {
   "gradient_pct": -1.0080021238341033,
   "start_distance_m": 675.0,
   "end_distance_m": 700.0,
   "midpoint_distance_m": 687.5,
   "start_elevation_m": 430.551399492861,
   "end_elevation_m": 430.29939896190245,
   "start_xy": [
    2723971.500127802,
    1078910.5595946042
   ],
   "end_xy": [
    2723995.562001692,
    1078912.1355343938
   ]
  },
  "min_50m": {
   "gradient_pct": 2.1020436772914763,
   "start_distance_m": 652.0,
   "end_distance_m": 702.0,
   "midpoint_distance_m": 677.0,
   "start_elevation_m": 429.35036930061653,
   "end_elevation_m": 430.4013911392623,
   "start_xy": [
    2723951.2490007943,
    1078921.4277121928
   ],
   "end_xy": [
    2723996.251863524,
    1078914.0112002883
   ]
  },
  "min_100m": {
   "gradient_pct": 4.158801557825541,
   "start_distance_m": 604.0,
   "end_distance_m": 704.0,
   "midpoint_distance_m": 654.0,
   "start_elevation_m": 426.4099768940379,
   "end_elevation_m": 430.56877845186347,
   "start_xy": [
    2723908.850392243,
    1078938.183994655
   ],
   "end_xy": [
    2723996.901099807,
    1078915.9028901765
   ]
  }
 },
 "diagnostic_window_maxima": {
  "max_2m": {
   "gradient_pct": 23.09083553844573,
   "start_distance_m": 750.0,
   "end_distance_m": 752.0,
   "midpoint_distance_m": 751.0,
   "start_elevation_m": 439.50197318956907,
   "end_elevation_m": 439.963789900338,
   "start_xy": [
    2723994.8055528305,
    1078956.040475765
   ],
   "end_xy": [
    2723994.151537788,
    1078957.9305192365
   ]
  },
  "max_3m": {
   "gradient_pct": 22.385613866111953,
   "start_distance_m": 755.0,
   "end_distance_m": 758.0,
   "midpoint_distance_m": 756.5,
   "start_elevation_m": 440.57637670402084,
   "end_elevation_m": 441.2479451200042,
   "start_xy": [
    2723993.1705152243,
    1078960.7655844437
   ],
   "end_xy": [
    2723992.1894926606,
    1078963.600649651
   ]
  }
 },
 "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.045,
   "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": 721.0,
     "end_m": 746.0,
     "raw_pct": 21.5,
     "reason": "hump"
    },
    {
     "window_m": 20.0,
     "start_m": 717.0,
     "end_m": 737.0,
     "raw_pct": 21.66,
     "reason": "hump"
    },
    {
     "window_m": 10.0,
     "start_m": 721.0,
     "end_m": 731.0,
     "raw_pct": 23.14,
     "reason": "hump"
    }
   ],
   "advisory": [],
   "unresolved": []
  },
  "excluded_ranges_m": [
   [
    715.0,
    748.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_2022_2723-1078_0.5_2056_5728.tif",
   "data/cache/ch/swissalti3d_2022_2724-1078_0.5_2056_5728.tif"
  ],
  "calculated_at": "2026-09-11T23:49:16+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": [
   "2723-1078",
   "2724-1078"
  ],
  "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": "Vacallo",
  "county": "Ticino",
  "source": "OpenStreetMap administrative boundaries (\u00a9 OpenStreetMap contributors, ODbL)"
 }
}