{
 "ocl_version": "0.1.0",
 "name": "Chemin du Perrey",
 "slug": "chemin-du-perrey-2",
 "confidence": "B",
 "reported_claims": [],
 "ladder": [
  {
   "window_m": 2.0,
   "max_gradient_pct": 22.259038829486144,
   "diagnostic": true,
   "flags": [
    "structure_excluded"
   ],
   "start_distance_m": 1443.0,
   "end_distance_m": 1445.0,
   "start_elevation_m": 702.3431910484558,
   "end_elevation_m": 702.7883718250455,
   "min_gradient_pct": -5.936058612172701,
   "suppressed_max_gradient_pct": 75.9481791714677,
   "suppressed_location_m": [
    0.0,
    2.0
   ]
  },
  {
   "window_m": 3.0,
   "max_gradient_pct": 22.6824479750879,
   "diagnostic": true,
   "flags": [
    "structure_excluded"
   ],
   "start_distance_m": 1442.0,
   "end_distance_m": 1445.0,
   "start_elevation_m": 702.1078983857929,
   "end_elevation_m": 702.7883718250455,
   "min_gradient_pct": -5.2687685708103045,
   "suppressed_max_gradient_pct": 52.771287832278325,
   "suppressed_location_m": [
    0.0,
    3.0
   ]
  },
  {
   "window_m": 5.0,
   "max_gradient_pct": 21.676706129792365,
   "diagnostic": false,
   "flags": [
    "structure_excluded"
   ],
   "start_distance_m": 1442.0,
   "end_distance_m": 1447.0,
   "start_elevation_m": 702.1078983857929,
   "end_elevation_m": 703.1917336922825,
   "min_gradient_pct": -5.0800003408267,
   "suppressed_max_gradient_pct": 32.36263151565481,
   "suppressed_location_m": [
    0.0,
    5.0
   ]
  },
  {
   "window_m": 10.0,
   "max_gradient_pct": 21.13055353656364,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 1440.0,
   "end_distance_m": 1450.0,
   "start_elevation_m": 701.715894932727,
   "end_elevation_m": 703.8289502863834,
   "min_gradient_pct": -4.27849758052389
  },
  {
   "window_m": 20.0,
   "max_gradient_pct": 20.85191668593268,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 1430.0,
   "end_distance_m": 1450.0,
   "start_elevation_m": 699.6585669491968,
   "end_elevation_m": 703.8289502863834,
   "min_gradient_pct": -2.4978586958212645
  },
  {
   "window_m": 25.0,
   "max_gradient_pct": 20.615218716700383,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 1428.0,
   "end_distance_m": 1453.0,
   "start_elevation_m": 699.2635767236229,
   "end_elevation_m": 704.417381402798,
   "min_gradient_pct": -1.8311900034973405
  },
  {
   "window_m": 50.0,
   "max_gradient_pct": 19.796084094310345,
   "diagnostic": false,
   "flags": [],
   "start_distance_m": 1410.0,
   "end_distance_m": 1460.0,
   "start_elevation_m": 695.8154254945679,
   "end_elevation_m": 705.713467541723,
   "min_gradient_pct": 1.2439442697454979
  },
  {
   "window_m": 100.0,
   "max_gradient_pct": 19.11747534540052,
   "diagnostic": false,
   "flags": [
    "canopy_or_structure"
   ],
   "start_distance_m": 1360.0,
   "end_distance_m": 1460.0,
   "start_elevation_m": 686.5959921963225,
   "end_elevation_m": 705.713467541723,
   "min_gradient_pct": 3.2626544425642123
  }
 ],
 "shape": {
  "ascent_concentration": 0.327,
  "concentration_window_frac": 0.25,
  "longest_pitch_10pct_m": 348.0,
  "shape_class": "sustained"
 },
 "length_m": 3558.7115038419724,
 "start_elevation_m": 589.4623136539325,
 "end_elevation_m": 873.388259521498,
 "endpoint_gain_m": 283.9259458675655,
 "overall_gradient_pct": 7.978335573452358,
 "accumulated_ascent_m": 284.76729254490306,
 "window_maxima": {
  "max_5m": {
   "gradient_pct": 21.676706129792365,
   "start_distance_m": 1442.0,
   "end_distance_m": 1447.0,
   "midpoint_distance_m": 1444.5,
   "start_elevation_m": 702.1078983857929,
   "end_elevation_m": 703.1917336922825,
   "start_xy": [
    987191.9456342784,
    6543090.891006169
   ],
   "end_xy": [
    987186.9483006811,
    6543090.727736703
   ]
  },
  "max_10m": {
   "gradient_pct": 21.13055353656364,
   "start_distance_m": 1440.0,
   "end_distance_m": 1450.0,
   "midpoint_distance_m": 1445.0,
   "start_elevation_m": 701.715894932727,
   "end_elevation_m": 703.8289502863834,
   "start_xy": [
    987193.9445677173,
    6543090.956313955
   ],
   "end_xy": [
    987183.9499005228,
    6543090.629775025
   ]
  },
  "max_20m": {
   "gradient_pct": 20.85191668593268,
   "start_distance_m": 1430.0,
   "end_distance_m": 1450.0,
   "midpoint_distance_m": 1440.0,
   "start_elevation_m": 699.6585669491968,
   "end_elevation_m": 703.8289502863834,
   "start_xy": [
    987203.9183495614,
    6543090.364532621
   ],
   "end_xy": [
    987183.9499005228,
    6543090.629775025
   ]
  },
  "max_25m": {
   "gradient_pct": 20.615218716700383,
   "start_distance_m": 1428.0,
   "end_distance_m": 1453.0,
   "midpoint_distance_m": 1440.5,
   "start_elevation_m": 699.2635767236229,
   "end_elevation_m": 704.417381402798,
   "start_xy": [
    987205.9122471447,
    6543090.2084159115
   ],
   "end_xy": [
    987180.9515003645,
    6543090.531813346
   ]
  },
  "max_50m": {
   "gradient_pct": 19.796084094310345,
   "start_distance_m": 1410.0,
   "end_distance_m": 1460.0,
   "midpoint_distance_m": 1435.0,
   "start_elevation_m": 695.8154254945679,
   "end_elevation_m": 705.713467541723,
   "start_xy": [
    987223.9007403551,
    6543089.645786985
   ],
   "end_xy": [
    987173.9552333284,
    6543090.303236094
   ]
  },
  "max_100m": {
   "gradient_pct": 19.11747534540052,
   "start_distance_m": 1360.0,
   "end_distance_m": 1460.0,
   "midpoint_distance_m": 1410.0,
   "start_elevation_m": 686.5959921963225,
   "end_elevation_m": 705.713467541723,
   "start_xy": [
    987272.5680894571,
    6543099.692849769
   ],
   "end_xy": [
    987173.9552333284,
    6543090.303236094
   ]
  }
 },
 "window_minima": {
  "min_5m": {
   "gradient_pct": -5.0800003408267,
   "start_distance_m": 1215.0,
   "end_distance_m": 1220.0,
   "midpoint_distance_m": 1217.5,
   "start_elevation_m": 673.1498124057961,
   "end_elevation_m": 672.8958123887547,
   "start_xy": [
    987394.9914481827,
    6543101.515405356
   ],
   "end_xy": [
    987392.3091605655,
    6543105.735041968
   ]
  },
  "min_10m": {
   "gradient_pct": -4.27849758052389,
   "start_distance_m": 1211.0,
   "end_distance_m": 1221.0,
   "midpoint_distance_m": 1216.0,
   "start_elevation_m": 673.280194680312,
   "end_elevation_m": 672.8523449222596,
   "start_xy": [
    987397.1372782765,
    6543098.139696066
   ],
   "end_xy": [
    987391.772703042,
    6543106.5789692905
   ]
  },
  "min_20m": {
   "gradient_pct": -2.4978586958212645,
   "start_distance_m": 1208.0,
   "end_distance_m": 1228.0,
   "midpoint_distance_m": 1218.0,
   "start_elevation_m": 673.2716792937547,
   "end_elevation_m": 672.7721075545904,
   "start_xy": [
    987398.7466508468,
    6543095.607914099
   ],
   "end_xy": [
    987388.017500378,
    6543112.486460547
   ]
  },
  "min_25m": {
   "gradient_pct": -1.8311900034973405,
   "start_distance_m": 1208.0,
   "end_distance_m": 1233.0,
   "midpoint_distance_m": 1220.5,
   "start_elevation_m": 673.2716792937547,
   "end_elevation_m": 672.8138817928804,
   "start_xy": [
    987398.7466508468,
    6543095.607914099
   ],
   "end_xy": [
    987385.3352127607,
    6543116.70609716
   ]
  },
  "min_50m": {
   "gradient_pct": 1.2439442697454979,
   "start_distance_m": 1208.0,
   "end_distance_m": 1258.0,
   "midpoint_distance_m": 1233.0,
   "start_elevation_m": 673.2716792937547,
   "end_elevation_m": 673.8936514286274,
   "start_xy": [
    987398.7466508468,
    6543095.607914099
   ],
   "end_xy": [
    987368.3600835204,
    6543133.394159358
   ]
  },
  "min_100m": {
   "gradient_pct": 3.2626544425642123,
   "start_distance_m": 150.0,
   "end_distance_m": 250.0,
   "midpoint_distance_m": 200.0,
   "start_elevation_m": 597.8300880585941,
   "end_elevation_m": 601.0927425011583,
   "start_xy": [
    987435.021310019,
    6542775.5418244945
   ],
   "end_xy": [
    987337.246315064,
    6542756.693421608
   ]
  }
 },
 "diagnostic_window_maxima": {
  "max_2m": {
   "gradient_pct": 22.259038829486144,
   "start_distance_m": 1443.0,
   "end_distance_m": 1445.0,
   "midpoint_distance_m": 1444.0,
   "start_elevation_m": 702.3431910484558,
   "end_elevation_m": 702.7883718250455,
   "start_xy": [
    987190.9461675589,
    6543090.858352276
   ],
   "end_xy": [
    987188.94723412,
    6543090.79304449
   ]
  },
  "max_3m": {
   "gradient_pct": 22.6824479750879,
   "start_distance_m": 1442.0,
   "end_distance_m": 1445.0,
   "midpoint_distance_m": 1443.5,
   "start_elevation_m": 702.1078983857929,
   "end_elevation_m": 702.7883718250455,
   "start_xy": [
    987191.9456342784,
    6543090.891006169
   ],
   "end_xy": [
    987188.94723412,
    6543090.79304449
   ]
  }
 },
 "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.001,
   "windows_resited": [
    2.0,
    3.0,
    5.0
   ],
   "windows_unresolved": []
  },
  "overhead_obstruction": {
   "obstruction_threshold_m": 2.0,
   "obstructed_fraction": 0.074,
   "obstruction_max_height_m": 23.8,
   "flagged_windows_m": [
    100
   ]
  },
  "excluded_ranges_m": [
   [
    0.0,
    3.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:2154",
  "elevation_resolution_m": 0.5,
  "elevation_tiles": [
   "data/cache/fr/ign-lidarhd_dtm_E986-N6542_0m5.tif",
   "data/cache/fr/ign-lidarhd_dtm_E986-N6543_0m5.tif",
   "data/cache/fr/ign-lidarhd_dtm_E987-N6542_0m5.tif",
   "data/cache/fr/ign-lidarhd_dtm_E987-N6543_0m5.tif"
  ],
  "calculated_at": "2026-09-17T02:40:44+00:00",
  "road_source": "OpenStreetMap (local PBF extract)",
  "road_attribution": "\u00a9 OpenStreetMap contributors, ODbL",
  "osm_pbf_path": "data/cache/pbf/block-batch-fr-alps4.osm.pbf",
  "osm_snapshot": "",
  "run_id": "fr-alps4",
  "elevation_provider": "IGN LiDAR HD MNT 0.5 m",
  "elevation_licence": "Licence Ouverte / Open Licence 2.0 (Etalab) \u2014 \u00a9 IGN, LiDAR HD (MNT/MNS), data.geopf.fr; reproduction autoris\u00e9e avec mention de la source et de la date",
  "elevation_dataset": "LiDAR HD \u2014 MNT (sol) et MNS (surface), 0,50 m (Institut national de l'information g\u00e9ographique et foresti\u00e8re), RGF93 / Lambert-93 EPSG:2154, altitudes IGN69",
  "elevation_vertical_datum": "IGN69",
  "elevation_tile_ids": [
   "E986-N6542",
   "E986-N6543",
   "E987-N6542",
   "E987-N6543"
  ],
  "elevation_blocks": [
   "21LHD5QK2@2025-06-13"
  ],
  "ign_dalles": [
   "LHD_FXX_0986_6543_MNT_O_0M50_LAMB93_IGN69",
   "LHD_FXX_0986_6544_MNT_O_0M50_LAMB93_IGN69",
   "LHD_FXX_0987_6543_MNT_O_0M50_LAMB93_IGN69",
   "LHD_FXX_0987_6544_MNT_O_0M50_LAMB93_IGN69"
  ],
  "ign_missions": [
   "21LHD5QK2"
  ],
  "ign_editions": [
   "2025-06-13"
  ],
  "ign_dsm_edition": {
   "LHD_FXX_0986_6543_MNT_O_0M50_LAMB93_IGN69": "2025-06-13",
   "LHD_FXX_0986_6544_MNT_O_0M50_LAMB93_IGN69": "2025-06-13",
   "LHD_FXX_0987_6543_MNT_O_0M50_LAMB93_IGN69": "2025-06-13",
   "LHD_FXX_0987_6544_MNT_O_0M50_LAMB93_IGN69": "2025-06-13"
  },
  "climb_origin": "discovered",
  "structure_own_ways": "none \u2014 the route carried no way list; own decks unmasked",
  "carriageway": {
   "stations": 149,
   "stations_resolved": 149,
   "width_median_m": 6.25,
   "width_p10_m": 4.2,
   "width_min_m": 2.75,
   "width_max_m": 12.0,
   "bounded_share": 0.591,
   "unbounded_share": 0.409,
   "confidence_median": 0.627,
   "width_median_bounded_m": 5.88,
   "window_m": [
    1428.0,
    1453.0
   ],
   "width_at_max25_m": 3.5,
   "window_stations": 7,
   "single_track": false,
   "single_track_rule": "PROVISIONAL (2026-09-15): width_p10_m <= 3.0 m with bounded_share >= 0.6; recorded, not a rule",
   "status": "ok",
   "source": "dtm",
   "station_m": 25.0,
   "window_station_m": 5.0,
   "halfwidth_m": 6.0,
   "step_m": 0.25,
   "level_tol_m": 0.12,
   "break_min_m": 0.3,
   "stations_failed": 0,
   "hedge_to_hedge": {
    "stations": 149,
    "stations_resolved": 149,
    "width_median_m": 7.0,
    "width_p10_m": 3.5,
    "width_min_m": 0.5,
    "width_max_m": 12.0,
    "bounded_share": 0.819,
    "unbounded_share": 0.181,
    "confidence_median": 1.0,
    "width_median_bounded_m": 6.0,
    "window_m": [
     1428.0,
     1453.0
    ],
    "width_at_max25_m": 4.75,
    "window_stations": 7,
    "status": "ok",
    "source": "dsm",
    "station_m": 25.0,
    "window_station_m": 5.0,
    "halfwidth_m": 6.0,
    "step_m": 0.25,
    "level_tol_m": 0.5,
    "break_min_m": 0.3,
    "stations_failed": 0
   }
  },
  "license": "ODbL-1.0",
  "license_url": "https://howsteep.org/licensing"
 },
 "area": {
  "place": "Passy",
  "county": "Haute-Savoie",
  "source": "OpenStreetMap administrative boundaries (\u00a9 OpenStreetMap contributors, ODbL)"
 }
}