{
 "ocl_version": "0.1.0",
 "name": "Chemin de Champ Fleury",
 "slug": "chemin-de-champ-fleury",
 "confidence": "B",
 "reported_claims": [],
 "ladder": [
  {
   "window_m": 2.0,
   "max_gradient_pct": 38.30511893358448,
   "diagnostic": true,
   "flags": [
    "structure_excluded",
    "canopy_or_structure"
   ],
   "start_distance_m": 2138.0,
   "end_distance_m": 2140.0,
   "start_elevation_m": 597.7191146152878,
   "end_elevation_m": 598.4852169939595,
   "min_gradient_pct": -70.2794038344905,
   "suppressed_max_gradient_pct": 93.82389384305725,
   "suppressed_location_m": [
    2038.0,
    2040.0
   ]
  },
  {
   "window_m": 3.0,
   "max_gradient_pct": 33.25100707533769,
   "diagnostic": true,
   "flags": [
    "structure_excluded",
    "canopy_or_structure"
   ],
   "start_distance_m": 2458.0,
   "end_distance_m": 2461.0,
   "start_elevation_m": 649.1655525783032,
   "end_elevation_m": 650.1630827905633,
   "min_gradient_pct": -41.33236201487686,
   "suppressed_max_gradient_pct": 64.95269983821572,
   "suppressed_location_m": [
    2038.0,
    2041.0
   ]
  },
  {
   "window_m": 5.0,
   "max_gradient_pct": 31.630268424253245,
   "diagnostic": false,
   "flags": [
    "structure_excluded",
    "canopy_or_structure"
   ],
   "start_distance_m": 2457.0,
   "end_distance_m": 2462.0,
   "start_elevation_m": 648.8822299288477,
   "end_elevation_m": 650.4637433500603,
   "min_gradient_pct": -19.04851190867248,
   "suppressed_max_gradient_pct": 43.34171297100511,
   "suppressed_location_m": [
    2038.0,
    2043.0
   ]
  },
  {
   "window_m": 10.0,
   "max_gradient_pct": 27.301529466284364,
   "diagnostic": false,
   "flags": [
    "structure_excluded"
   ],
   "start_distance_m": 2428.0,
   "end_distance_m": 2438.0,
   "start_elevation_m": 641.7676093590724,
   "end_elevation_m": 644.4977623057008,
   "min_gradient_pct": -2.839379732025691,
   "suppressed_max_gradient_pct": 27.514235525875392,
   "suppressed_location_m": [
    2038.0,
    2048.0
   ]
  },
  {
   "window_m": 20.0,
   "max_gradient_pct": 26.46378543525259,
   "diagnostic": false,
   "flags": [
    "canopy_or_structure"
   ],
   "start_distance_m": 2421.0,
   "end_distance_m": 2441.0,
   "start_elevation_m": 639.9569086068208,
   "end_elevation_m": 645.2496656938713,
   "min_gradient_pct": 0.09519706344065071
  },
  {
   "window_m": 25.0,
   "max_gradient_pct": 26.34399852903016,
   "diagnostic": false,
   "flags": [
    "canopy_or_structure"
   ],
   "start_distance_m": 2421.0,
   "end_distance_m": 2446.0,
   "start_elevation_m": 639.9569086068208,
   "end_elevation_m": 646.5429082390783,
   "min_gradient_pct": 0.41256890290060255
  },
  {
   "window_m": 50.0,
   "max_gradient_pct": 25.93801021847139,
   "diagnostic": false,
   "flags": [
    "canopy_or_structure"
   ],
   "start_distance_m": 2396.0,
   "end_distance_m": 2446.0,
   "start_elevation_m": 633.5739031298426,
   "end_elevation_m": 646.5429082390783,
   "min_gradient_pct": 1.3254871595547684
  },
  {
   "window_m": 100.0,
   "max_gradient_pct": 23.775898019612328,
   "diagnostic": false,
   "flags": [
    "canopy_or_structure"
   ],
   "start_distance_m": 2363.0,
   "end_distance_m": 2463.0,
   "start_elevation_m": 626.8987592722619,
   "end_elevation_m": 650.6746572918743,
   "min_gradient_pct": 2.040255332691629
  }
 ],
 "shape": {
  "ascent_concentration": 0.483,
  "concentration_window_frac": 0.25,
  "longest_pitch_10pct_m": 306.0,
  "shape_class": "stepped"
 },
 "length_m": 2473.100000000237,
 "start_elevation_m": 463.96898908104487,
 "end_elevation_m": 651.8864525840902,
 "endpoint_gain_m": 187.91746350304533,
 "overall_gradient_pct": 7.598457947637675,
 "accumulated_ascent_m": 190.243468413911,
 "window_maxima": {
  "max_5m": {
   "gradient_pct": 31.630268424253245,
   "start_distance_m": 2457.0,
   "end_distance_m": 2462.0,
   "midpoint_distance_m": 2459.5,
   "start_elevation_m": 648.8822299288477,
   "end_elevation_m": 650.4637433500603,
   "start_xy": [
    957214.2086674162,
    6475014.853588125
   ],
   "end_xy": [
    957217.0381954781,
    6475010.749694954
   ]
  },
  "max_10m": {
   "gradient_pct": 27.301529466284364,
   "start_distance_m": 2428.0,
   "end_distance_m": 2438.0,
   "midpoint_distance_m": 2433.0,
   "start_elevation_m": 641.7676093590724,
   "end_elevation_m": 644.4977623057008,
   "start_xy": [
    957216.2381509892,
    6475040.232305715
   ],
   "end_xy": [
    957210.1784502838,
    6475032.865745025
   ]
  },
  "max_20m": {
   "gradient_pct": 26.46378543525259,
   "start_distance_m": 2421.0,
   "end_distance_m": 2441.0,
   "midpoint_distance_m": 2431.0,
   "start_elevation_m": 639.9569086068208,
   "end_elevation_m": 645.2496656938713,
   "start_xy": [
    957221.437870457,
    6475044.786899814
   ],
   "end_xy": [
    957209.7083214204,
    6475029.902810862
   ]
  },
  "max_25m": {
   "gradient_pct": 26.34399852903016,
   "start_distance_m": 2421.0,
   "end_distance_m": 2446.0,
   "midpoint_distance_m": 2433.5,
   "start_elevation_m": 639.9569086068208,
   "end_elevation_m": 646.5429082390783,
   "start_xy": [
    957221.437870457,
    6475044.786899814
   ],
   "end_xy": [
    957210.1545364915,
    6475025.011598143
   ]
  },
  "max_50m": {
   "gradient_pct": 25.93801021847139,
   "start_distance_m": 2396.0,
   "end_distance_m": 2446.0,
   "midpoint_distance_m": 2421.0,
   "start_elevation_m": 633.5739031298426,
   "end_elevation_m": 646.5429082390783,
   "start_xy": [
    957233.9266772112,
    6475066.367383827
   ],
   "end_xy": [
    957210.1545364915,
    6475025.011598143
   ]
  },
  "max_100m": {
   "gradient_pct": 23.775898019612328,
   "start_distance_m": 2363.0,
   "end_distance_m": 2463.0,
   "midpoint_distance_m": 2413.0,
   "start_elevation_m": 626.8987592722619,
   "end_elevation_m": 650.6746572918743,
   "start_xy": [
    957245.345098564,
    6475097.314126305
   ],
   "end_xy": [
    957217.8386160731,
    6475010.232155389
   ]
  }
 },
 "window_minima": {
  "min_5m": {
   "gradient_pct": -19.04851190867248,
   "start_distance_m": 2033.0,
   "end_distance_m": 2038.0,
   "midpoint_distance_m": 2035.5,
   "start_elevation_m": 583.8692383160064,
   "end_elevation_m": 582.9168127205728,
   "start_xy": [
    957389.2720113792,
    6475322.606267182
   ],
   "end_xy": [
    957384.2822834819,
    6475322.285930624
   ]
  },
  "min_10m": {
   "gradient_pct": -2.839379732025691,
   "start_distance_m": 1443.0,
   "end_distance_m": 1453.0,
   "midpoint_distance_m": 1448.0,
   "start_elevation_m": 534.1545852897542,
   "end_elevation_m": 533.8706473165516,
   "start_xy": [
    957719.4809822417,
    6475758.887659895
   ],
   "end_xy": [
    957715.7370620581,
    6475749.99871509
   ]
  },
  "min_20m": {
   "gradient_pct": 0.09519706344065071,
   "start_distance_m": 1440.0,
   "end_distance_m": 1460.0,
   "midpoint_distance_m": 1450.0,
   "start_elevation_m": 533.9200742231617,
   "end_elevation_m": 533.9391136358498,
   "start_xy": [
    957720.005244804,
    6475761.841496174
   ],
   "end_xy": [
    957710.6303468816,
    6475745.393341131
   ]
  },
  "min_25m": {
   "gradient_pct": 0.41256890290060255,
   "start_distance_m": 1443.0,
   "end_distance_m": 1468.0,
   "midpoint_distance_m": 1455.5,
   "start_elevation_m": 534.1545852897542,
   "end_elevation_m": 534.2577275154794,
   "start_xy": [
    957719.4809822417,
    6475758.887659895
   ],
   "end_xy": [
    957703.3794911476,
    6475742.013238896
   ]
  },
  "min_50m": {
   "gradient_pct": 1.3254871595547684,
   "start_distance_m": 1443.0,
   "end_distance_m": 1493.0,
   "midpoint_distance_m": 1468.0,
   "start_elevation_m": 534.1545852897542,
   "end_elevation_m": 534.8173288695316,
   "start_xy": [
    957719.4809822417,
    6475758.887659895
   ],
   "end_xy": [
    957680.840576066,
    6475731.208700233
   ]
  },
  "min_100m": {
   "gradient_pct": 2.040255332691629,
   "start_distance_m": 0.0,
   "end_distance_m": 100.0,
   "midpoint_distance_m": 50.0,
   "start_elevation_m": 463.96898908104487,
   "end_elevation_m": 466.0092444137365,
   "start_xy": [
    958688.193,
    6476202.702
   ],
   "end_xy": [
    958632.9668462286,
    6476285.9781483
   ]
  }
 },
 "diagnostic_window_maxima": {
  "max_2m": {
   "gradient_pct": 38.30511893358448,
   "start_distance_m": 2138.0,
   "end_distance_m": 2140.0,
   "midpoint_distance_m": 2139.0,
   "start_elevation_m": 597.7191146152878,
   "end_elevation_m": 598.4852169939595,
   "start_xy": [
    957296.6411819152,
    6475276.366309624
   ],
   "end_xy": [
    957295.4463784244,
    6475274.804797957
   ]
  },
  "max_3m": {
   "gradient_pct": 33.25100707533769,
   "start_distance_m": 2458.0,
   "end_distance_m": 2461.0,
   "midpoint_distance_m": 2459.5,
   "start_elevation_m": 649.1655525783032,
   "end_elevation_m": 650.1630827905633,
   "start_xy": [
    957214.6508919435,
    6475013.956683745
   ],
   "end_xy": [
    957216.4366771302,
    6475011.548553938
   ]
  }
 },
 "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.003,
   "windows_resited": [
    2.0,
    3.0,
    5.0,
    10.0
   ],
   "windows_unresolved": []
  },
  "overhead_obstruction": {
   "obstruction_threshold_m": 2.0,
   "obstructed_fraction": 0.194,
   "obstruction_max_height_m": 28.68,
   "flagged_windows_m": [
    2,
    3,
    5,
    20,
    25,
    50,
    100
   ]
  },
  "excluded_ranges_m": [
   [
    2035.0,
    2042.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:2154",
  "elevation_resolution_m": 0.5,
  "elevation_tiles": [
   "data/cache/fr/ign-lidarhd_dtm_E957-N6474_0m5.tif",
   "data/cache/fr/ign-lidarhd_dtm_E957-N6475_0m5.tif",
   "data/cache/fr/ign-lidarhd_dtm_E957-N6476_0m5.tif",
   "data/cache/fr/ign-lidarhd_dtm_E958-N6475_0m5.tif",
   "data/cache/fr/ign-lidarhd_dtm_E958-N6476_0m5.tif"
  ],
  "calculated_at": "2026-09-17T05:32:50+00:00",
  "road_source": "OpenStreetMap (local PBF extract)",
  "road_attribution": "\u00a9 OpenStreetMap contributors, ODbL",
  "osm_pbf_path": "data/cache/pbf/block-batch-fr-alps3.osm.pbf",
  "osm_snapshot": "",
  "run_id": "fr-alps3",
  "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": [
   "E957-N6474",
   "E957-N6475",
   "E957-N6476",
   "E958-N6475",
   "E958-N6476"
  ],
  "elevation_blocks": [
   "21LHD6QM@2025-02-20"
  ],
  "ign_dalles": [
   "LHD_FXX_0957_6475_MNT_O_0M50_LAMB93_IGN69",
   "LHD_FXX_0957_6476_MNT_O_0M50_LAMB93_IGN69",
   "LHD_FXX_0957_6477_MNT_O_0M50_LAMB93_IGN69",
   "LHD_FXX_0958_6476_MNT_O_0M50_LAMB93_IGN69",
   "LHD_FXX_0958_6477_MNT_O_0M50_LAMB93_IGN69"
  ],
  "ign_missions": [
   "21LHD6QM"
  ],
  "ign_editions": [
   "2025-02-20"
  ],
  "ign_dsm_edition": {
   "LHD_FXX_0957_6475_MNT_O_0M50_LAMB93_IGN69": "2025-02-20",
   "LHD_FXX_0957_6476_MNT_O_0M50_LAMB93_IGN69": "2025-02-20",
   "LHD_FXX_0957_6477_MNT_O_0M50_LAMB93_IGN69": "2025-02-20",
   "LHD_FXX_0958_6476_MNT_O_0M50_LAMB93_IGN69": "2025-02-20",
   "LHD_FXX_0958_6477_MNT_O_0M50_LAMB93_IGN69": "2025-02-20"
  },
  "route_cut_m": 2473.1,
  "climb_origin": "discovered",
  "structure_own_ways": 10,
  "carriageway": {
   "stations": 105,
   "stations_resolved": 105,
   "width_median_m": 6.25,
   "width_p10_m": 4.0,
   "width_min_m": 1.5,
   "width_max_m": 12.0,
   "bounded_share": 0.276,
   "unbounded_share": 0.724,
   "confidence_median": 0.0,
   "width_median_bounded_m": 4.5,
   "window_m": [
    2421.0,
    2446.0
   ],
   "width_at_max25_m": 2.75,
   "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": 105,
    "stations_resolved": 105,
    "width_median_m": 7.75,
    "width_p10_m": 1.0,
    "width_min_m": 0.5,
    "width_max_m": 12.0,
    "bounded_share": 0.533,
    "unbounded_share": 0.467,
    "confidence_median": 0.961,
    "width_median_bounded_m": 3.25,
    "window_m": [
     2421.0,
     2446.0
    ],
    "width_at_max25_m": 4.25,
    "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": "Sainte-Marie-de-Cuines",
  "county": "Savoie",
  "source": "OpenStreetMap administrative boundaries (\u00a9 OpenStreetMap contributors, ODbL)"
 }
}