{"meta":{"path":"transits/gateways","ts":"2026-05-28T06:18:33+00:00","status":"ok","request_id":"c6f96af34a8dcfaf"},"data":{"waterway":{"waterway_id":"suez","name":"Suez Canal","kind":"canal","config_version":"suez_v2_20260314_gateway_b_trim","state":{"waterway_id":"suez","detector_version":"v1_gateway_compact_sparse_utc","config_version":"suez_v2_20260314_gateway_b_trim","last_processed_ts":"2026-05-28 23:59:59","last_aggregate_ts":"2026-05-28 03:40:06","updated_at":"2026-05-28 03:40:06"}},"detector_contract":{"detector_version":"v1_gateway_compact_sparse_utc","config_version":"suez_v2_20260314_gateway_b_trim","min_hours":4,"max_hours":48,"cooldown_hours":24,"visit_gap_hours":12,"event_day_basis":"second_gate","known_limitations":["Sparse gateway-to-gateway detector; this is not exact line-crossing geometry.","Event day is assigned from the second gateway timestamp in UTC.","Wide gateway polygons intentionally favor recall over exact entrance timing.","Cooldown-based deduplication suppresses repeated sightings from the same movement.","Approach waiting and anchorage near canal mouths can still bias edge-day counts.","Broad max transit windows are intentionally permissive for sparse positions and delayed second hits."]},"gateways":[{"id":"A","name":"North Gateway","polygon":[[32.12,31.48],[32.76,31.48],[32.86,31.06],[32.18,30.98],[32.12,31.48]],"bbox":[32.12,30.98,32.86,31.48]},{"id":"B","name":"South Gateway","polygon":[[32.28,30.11],[32.66,30.11],[32.7,29.68],[32.3,29.66],[32.28,30.11]],"bbox":[32.28,29.66,32.7,30.11]}],"union_bbox":[32.12,29.66,32.86,31.48],"corridor_points":[[32.43,31.27],[32.385,31],[32.345,30.72],[32.34,30.43],[32.43,30.12],[32.505,29.79]],"corridor_profile":{"focus_ratio":0.58,"focus_span":0.18,"pinch_strength":0.96,"core_intensity":0.96,"lane_count":7,"lane_spread":1.02,"hotspot_scale":1.18}},"errors":[]}