31 lines
982 B
SQL
31 lines
982 B
SQL
CREATE TABLE IF NOT EXISTS kcg.vessel_analysis_results (
|
|
id BIGSERIAL PRIMARY KEY,
|
|
mmsi VARCHAR(15) NOT NULL,
|
|
timestamp TIMESTAMPTZ NOT NULL,
|
|
vessel_type VARCHAR(20),
|
|
confidence DOUBLE PRECISION,
|
|
fishing_pct DOUBLE PRECISION,
|
|
cluster_id INTEGER,
|
|
season VARCHAR(10),
|
|
zone VARCHAR(20),
|
|
dist_to_baseline_nm DOUBLE PRECISION,
|
|
activity_state VARCHAR(20),
|
|
ucaf_score DOUBLE PRECISION,
|
|
ucft_score DOUBLE PRECISION,
|
|
is_dark BOOLEAN DEFAULT FALSE,
|
|
gap_duration_min INTEGER,
|
|
spoofing_score DOUBLE PRECISION,
|
|
bd09_offset_m DOUBLE PRECISION,
|
|
speed_jump_count INTEGER,
|
|
cluster_size INTEGER,
|
|
is_leader BOOLEAN DEFAULT FALSE,
|
|
fleet_role VARCHAR(20),
|
|
risk_score INTEGER,
|
|
risk_level VARCHAR(20),
|
|
features JSONB,
|
|
analyzed_at TIMESTAMPTZ DEFAULT NOW()
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_vessel_analysis_mmsi ON kcg.vessel_analysis_results(mmsi);
|
|
CREATE INDEX IF NOT EXISTS idx_vessel_analysis_timestamp ON kcg.vessel_analysis_results(timestamp DESC);
|