SeaGraph weighting — v0.2.0
The permanent graph stores vessel-neutral NOAA depth and hazard evidence. Vessel draught and required under-keel clearance are applied to every route request.
Cell evidence components
component = severity × overlap_fraction × (1.5 when the raw feature intersects the cell, otherwise 1)
Soundings use sounding = 300 × clamp((3.0 m − sounding_depth) / 3.0 m, 0, 1) for visible depth audit only; they are not a permanent vessel-neutral cost.
Severities: underwater rock 300; obstruction 300; wreck 200; pile 200; foul ground 100; anchor/tackle 100; sounding 300. DEPARE definite/possible scores (600/150) remain visible for audit but are excluded from permanent hazard cost because depth policy is vessel-specific.
Feature influence buffers: rocks, obstructions, wrecks, piles, and soundings 50 m; foul ground and anchor/tackle 25 m; DEPARE depth areas use their charted polygons.
Cell and edge totals
coverage = union(buffered evidence ∩ cell water) / cell water area
cell_hazard = min(3, Σ non-depth component)
edge_hazard = max(source_cell_hazard, target_cell_hazard)
preferred = 0.90 dredged; 0.85 fairway/TSS; otherwise 1.00
weighted_edge_cost = distance_m × (1 + edge_hazard) × preferred
Request-time safety
required_depth = vessel_draught + required_UKC
Safe requires known minimum depth to meet the request. Fast blocks only when maximum depth is inadequate, permits possibly shallow ranges at 2.5× cost, and permits unknown depth at configurable 1.5× cost. Both modes retain non-depth hazard costs and block NOAA land.
The H3 hover card exposes every cell component. The separate weighting-feature tiles expose the underlying NOAA objects and their original attributes for audit.