Vessel And Fishing Provider¶
Phase 9F adds a controlled vessel, fishing, pier, marina, reef-fishing, spearfishing, and boating-pressure provider.
The provider is static/manual/offline first. It does not call Global Fishing Watch, AIS, MarineTraffic, harbor cameras, social media, or paid vessel/crowd APIs.
Signal Types¶
vessel_activityfishing_activitycommercial_fishing_pressurerecreational_fishing_pressurespearfishing_activitypier_fishing_pressuremarina_boat_pressuredive_boat_activityliveaboard_activity
Static Examples¶
Initial examples are intentionally small and regional:
- Florida piers, inlets, and recreational fishing context
- Western Australia reef and spearfishing context
- Red Sea liveaboard, dive boat, and tourism corridor context
- South Africa fishing and seal-colony coastline context
- Hawaii nearshore recreational fishing context
These records are operational context signals, not live vessel detections.
Normalized Signal Shape¶
app/providers/vessel_fishing.py emits Signal-shaped records through the signal broker:
{
"signal_type": "spearfishing_activity",
"activity_type": "spearfishing_activity",
"location": {"geo": {"type": "Point", "coordinates": [115.515, -31.983]}},
"timestamp": "2026-05-24T12:00:00Z",
"expires_at": "2026-05-25T12:00:00Z",
"confidence": 0.62,
"source": {
"provider": "vessel_fishing_static",
"dataset": "static_manual_vessel_fishing_signals"
},
"risk_relevance": {
"score": 0.852,
"factors": ["spearfishing_activity", "reef_fishing_context", "white_shark_search_context"]
},
"visibility": "public",
"value": 0.88,
"units": "index",
"data_freshness": {"status": "fresh"},
"pack_id": "western_australia"
}
Provider-specific fields include signal_id, signal_name, duration_hours, distance_km, source_notes, and pack_id.
Expiration And Decay¶
- Active fishing, spearfishing, commercial fishing, and recreational fishing: short high-impact window, usually 24 hours.
- Dive boat, liveaboard, and general vessel activity: medium context window, usually 72 hours.
- Pier and marina baseline pressure: longer lower-impact context, usually 168 hours.
Replay decay includes explicit vessel/fishing signal types. Active spearfishing decays faster than pier or marina baseline context.
Scoring Rules¶
Vessel and fishing signals are bounded.
General warning_score receives only a capped vessel/fishing contribution. Vessel activity alone should not create high warning states.
Fishing and spearfishing primarily affect:
activity_hazard_scoresurveillance_priority_score- alert routing for drone, lookout, patrol, and beach-management review
Fishing plus biological event context plus human exposure can strongly raise surveillance priority because it changes where safety teams should look first.
Privacy And Safety¶
Only public vessel/fishing signals should enter public APIs. Private marina notes, unreviewed reports, exact sensitive operational locations, restricted vessel sources, and raw provider payloads must remain private.
AI1SAD estimates environmental and surveillance-relevant shark encounter conditions. It does not predict individual attacks or guarantee safety outcomes.