{
 "ocl_version": "0.1.0",
 "name": "Gwaggitalstrasse",
 "slug": "gwaggitalstrasse",
 "confidence": "A",
 "reported_claims": [],
 "ladder": [
  {
   "window_m": 2.0,
   "max_gradient_pct": 26.374244737996833,
   "diagnostic": true,
   "flags": [],
   "start_distance_m": 3044.0,
   "end_distance_m": 3046.0,
   "start_elevation_m": 777.953297899534,
   "end_elevation_m": 778.480782794294,
   "min_gradient_pct": -7.839176112605628
  },
  {
   "window_m": 3.0,
   "max_gradient_pct": 26.3345287615266,
   "diagnostic": true,
   "flags": [],
   "start_distance_m": 3043.0,
   "end_distance_m": 3046.0,
   "start_elevation_m": 777.6907469314482,
   "end_elevation_m": 778.480782794294,
   "min_gradient_pct": -7.220242844793272
  },
  {
   "window_m": 5.0,
   "max_gradient_pct": 25.12817131102338,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 3047.0,
   "end_distance_m": 3052.0,
   "start_elevation_m": 778.6642926458635,
   "end_elevation_m": 779.9207012114147,
   "min_gradient_pct": -7.3349149093928645
  },
  {
   "window_m": 10.0,
   "max_gradient_pct": 24.618976198481732,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 3043.0,
   "end_distance_m": 3053.0,
   "start_elevation_m": 777.6907469314482,
   "end_elevation_m": 780.1526445512964,
   "min_gradient_pct": -6.707966320493597
  },
  {
   "window_m": 20.0,
   "max_gradient_pct": 24.055372696451514,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 3033.0,
   "end_distance_m": 3053.0,
   "start_elevation_m": 775.3415700120061,
   "end_elevation_m": 780.1526445512964,
   "min_gradient_pct": -6.382703259299092
  },
  {
   "window_m": 25.0,
   "max_gradient_pct": 23.82868353992444,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 3032.0,
   "end_distance_m": 3057.0,
   "start_elevation_m": 775.1226609483592,
   "end_elevation_m": 781.0798318333403,
   "min_gradient_pct": -6.247755373026848
  },
  {
   "window_m": 50.0,
   "max_gradient_pct": 21.5613278541432,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 3009.0,
   "end_distance_m": 3059.0,
   "start_elevation_m": 770.7136314410666,
   "end_elevation_m": 781.4942953681382,
   "min_gradient_pct": -5.205511183408362
  },
  {
   "window_m": 100.0,
   "max_gradient_pct": 19.247810350147574,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 2990.0,
   "end_distance_m": 3090.0,
   "start_elevation_m": 767.5179518785866,
   "end_elevation_m": 786.7657622287342,
   "min_gradient_pct": -1.8202896594060576
  }
 ],
 "shape": {
  "ascent_concentration": 0.328,
  "concentration_window_frac": 0.25,
  "longest_pitch_10pct_m": 140.0,
  "shape_class": "sustained"
 },
 "length_m": 3792.771958437235,
 "start_elevation_m": 541.5196995886168,
 "end_elevation_m": 847.6208160033995,
 "endpoint_gain_m": 306.1011164147826,
 "overall_gradient_pct": 8.070643839628781,
 "accumulated_ascent_m": 309.2683558568623,
 "window_maxima": {
  "max_5m": {
   "gradient_pct": 25.12817131102338,
   "start_distance_m": 3047.0,
   "end_distance_m": 3052.0,
   "midpoint_distance_m": 3049.5,
   "start_elevation_m": 778.6642926458635,
   "end_elevation_m": 779.9207012114147,
   "start_xy": [
    2649538.0189503585,
    1232744.4598642115
   ],
   "end_xy": [
    2649542.132069038,
    1232741.6169351789
   ]
  },
  "max_10m": {
   "gradient_pct": 24.618976198481732,
   "start_distance_m": 3043.0,
   "end_distance_m": 3053.0,
   "midpoint_distance_m": 3048.0,
   "start_elevation_m": 777.6907469314482,
   "end_elevation_m": 780.1526445512964,
   "start_xy": [
    2649534.728818746,
    1232746.7347338423
   ],
   "end_xy": [
    2649543.017261614,
    1232741.1565600324
   ]
  },
  "max_20m": {
   "gradient_pct": 24.055372696451514,
   "start_distance_m": 3033.0,
   "end_distance_m": 3053.0,
   "midpoint_distance_m": 3043.0,
   "start_elevation_m": 775.3415700120061,
   "end_elevation_m": 780.1526445512964,
   "start_xy": [
    2649526.5119504207,
    1232752.4330568027
   ],
   "end_xy": [
    2649543.017261614,
    1232741.1565600324
   ]
  },
  "max_25m": {
   "gradient_pct": 23.82868353992444,
   "start_distance_m": 3032.0,
   "end_distance_m": 3057.0,
   "midpoint_distance_m": 3044.5,
   "start_elevation_m": 775.1226609483592,
   "end_elevation_m": 781.0798318333403,
   "start_xy": [
    2649525.738777045,
    1232753.0671117431
   ],
   "end_xy": [
    2649546.6982727777,
    1232739.591780553
   ]
  },
  "max_50m": {
   "gradient_pct": 21.5613278541432,
   "start_distance_m": 3009.0,
   "end_distance_m": 3059.0,
   "midpoint_distance_m": 3034.0,
   "start_elevation_m": 770.7136314410666,
   "end_elevation_m": 781.4942953681382,
   "start_xy": [
    2649509.3202796495,
    1232769.1086406296
   ],
   "end_xy": [
    2649548.541152698,
    1232738.814739263
   ]
  },
  "max_100m": {
   "gradient_pct": 19.247810350147574,
   "start_distance_m": 2990.0,
   "end_distance_m": 3090.0,
   "midpoint_distance_m": 3040.0,
   "start_elevation_m": 767.5179518785866,
   "end_elevation_m": 786.7657622287342,
   "start_xy": [
    2649496.619057041,
    1232783.239417965
   ],
   "end_xy": [
    2649579.3005879675,
    1232737.2231085508
   ]
  }
 },
 "window_minima": {
  "min_5m": {
   "gradient_pct": -7.3349149093928645,
   "start_distance_m": 2600.0,
   "end_distance_m": 2605.0,
   "midpoint_distance_m": 2602.5,
   "start_elevation_m": 741.200581699115,
   "end_elevation_m": 740.8338359536453,
   "start_xy": [
    2649370.5190188535,
    1232641.2407062885
   ],
   "end_xy": [
    2649371.2594100977,
    1232646.1799011661
   ]
  },
  "min_10m": {
   "gradient_pct": -6.707966320493597,
   "start_distance_m": 2600.0,
   "end_distance_m": 2610.0,
   "midpoint_distance_m": 2605.0,
   "start_elevation_m": 741.200581699115,
   "end_elevation_m": 740.5297850670656,
   "start_xy": [
    2649370.5190188535,
    1232641.2407062885
   ],
   "end_xy": [
    2649372.316639293,
    1232651.0632402934
   ]
  },
  "min_20m": {
   "gradient_pct": -6.382703259299092,
   "start_distance_m": 2600.0,
   "end_distance_m": 2620.0,
   "midpoint_distance_m": 2610.0,
   "start_elevation_m": 741.200581699115,
   "end_elevation_m": 739.9240410472552,
   "start_xy": [
    2649370.5190188535,
    1232641.2407062885
   ],
   "end_xy": [
    2649375.0058156457,
    1232660.6948716226
   ]
  },
  "min_25m": {
   "gradient_pct": -6.247755373026848,
   "start_distance_m": 2596.0,
   "end_distance_m": 2621.0,
   "midpoint_distance_m": 2608.5,
   "start_elevation_m": 741.421925949747,
   "end_elevation_m": 739.8599871064903,
   "start_xy": [
    2649370.414464003,
    1232637.2507519592
   ],
   "end_xy": [
    2649375.2747433623,
    1232661.6580319756
   ]
  },
  "min_50m": {
   "gradient_pct": -5.205511183408362,
   "start_distance_m": 2582.0,
   "end_distance_m": 2632.0,
   "midpoint_distance_m": 2607.0,
   "start_elevation_m": 741.9532966465625,
   "end_elevation_m": 739.3505410548584,
   "start_xy": [
    2649373.671287202,
    1232623.6943075154
   ],
   "end_xy": [
    2649378.232805516,
    1232672.2528353601
   ]
  },
  "min_100m": {
   "gradient_pct": -1.8202896594060576,
   "start_distance_m": 2559.0,
   "end_distance_m": 2659.0,
   "midpoint_distance_m": 2609.0,
   "start_elevation_m": 741.7181263783805,
   "end_elevation_m": 739.8978367189744,
   "start_xy": [
    2649382.4844784536,
    1232602.4767848018
   ],
   "end_xy": [
    2649384.3006551005,
    1232698.5157943196
   ]
  }
 },
 "diagnostic_window_maxima": {
  "max_2m": {
   "gradient_pct": 26.374244737996833,
   "start_distance_m": 3044.0,
   "end_distance_m": 3046.0,
   "midpoint_distance_m": 3045.0,
   "start_elevation_m": 777.953297899534,
   "end_elevation_m": 778.480782794294,
   "start_xy": [
    2649535.5512220706,
    1232746.165829248
   ],
   "end_xy": [
    2649537.1963666324,
    1232745.028508215
   ]
  },
  "max_3m": {
   "gradient_pct": 26.3345287615266,
   "start_distance_m": 3043.0,
   "end_distance_m": 3046.0,
   "midpoint_distance_m": 3044.5,
   "start_elevation_m": 777.6907469314482,
   "end_elevation_m": 778.480782794294,
   "start_xy": [
    2649534.728818746,
    1232746.7347338423
   ],
   "end_xy": [
    2649537.1963666324,
    1232745.028508215
   ]
  }
 },
 "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"
  ]
 },
 "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_2648-1232_0.5_2056_5728.tif",
   "data/cache/ch/swissalti3d_2022_2649-1232_0.5_2056_5728.tif",
   "data/cache/ch/swissalti3d_2022_2649-1233_0.5_2056_5728.tif",
   "data/cache/ch/swissalti3d_2022_2650-1232_0.5_2056_5728.tif",
   "data/cache/ch/swissalti3d_2022_2650-1233_0.5_2056_5728.tif"
  ],
  "calculated_at": "2026-09-11T23:51:15+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": [
   "2648-1232",
   "2649-1232",
   "2649-1233",
   "2650-1232",
   "2650-1233"
  ],
  "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": "Triengen",
  "county": "Luzern",
  "source": "OpenStreetMap administrative boundaries (\u00a9 OpenStreetMap contributors, ODbL)"
 }
}