select load_extension('mod_spatialite.so.8'); select InitSpatialMetadata(1); begin transaction; create table xmet_wfo ( code TEXT PRIMARY KEY NOT NULL, city TEXT NOT NULL, state TEXT NOT NULL, address TEXT NOT NULL ); select AddGeometryColumn('xmet_wfo', 'coord', 4326, 'POINT', 'XY', 1), CreateSpatialIndex('xmet_wfo', 'coord'); create table xmet_nexrad_radar ( call TEXT PRIMARY KEY NOT NULL, name TEXT NOT NULL, wban INTEGER, site_elevation FLOAT NOT NULL, tower_height FLOAT NOT NULL ); select AddGeometryColumn('xmet_nexrad_radar', 'coord', 4326, 'POINT', 'XY'), CreateSpatialIndex('xmet_nexrad_radar', 'coord'); create table xmet_storm_event ( id INTEGER PRIMARY KEY NOT NULL, episode_id INTEGER, timestamp_start TIMESTAMP NOT NULL, timestamp_end TIMESTAMP NOT NULL, state TEXT NOT NULL, event_type TEXT NOT NULL, wfo TEXT NOT NULL, locale_start TEXT NOT NULL, locale_end TEXT NOT NULL, tornado_f_rating TEXT ); create index xmet_storm_event_episode_id_idx on xmet_storm_event (episode_id); create index xmet_storm_event_event_type_idx on xmet_storm_event (event_type); create index xmet_storm_event_wfo_idx on xmet_storm_event (wfo); create index xmet_storm_event_timestamp_start_idx on xmet_storm_event (timestamp_start); create index xmet_storm_event_timestamp_end_idx on xmet_storm_event (timestamp_end); select AddGeometryColumn('xmet_storm_event', 'coord_start', 4326, 'POINT', 'XY', 0), CreateSpatialIndex('xmet_storm_event', 'coord_start'); select AddGeometryColumn('xmet_storm_event', 'coord_end', 4326, 'POINT', 'XY', 0), CreateSpatialIndex('xmet_storm_event', 'coord_end'); create table xmet_afos_message ( id INTEGER PRIMARY KEY NOT NULL, timestamp_issued TIMESTAMP NOT NULL, serial INTEGER NOT NULL, text_raw TEXT NOT NULL, product TEXT NOT NULL, wfo TEXT NOT NULL, vtec_start TIMESTAMP, vtec_end TIMESTAMP, vtec_type TEXT, actions TEXT, phenom TEXT, sig TEXT, etn INTEGER, hydro_severity TEXT, hydro_cause TEXT, hydro_record TEXT, azimuth FLOAT, speed FLOAT, forecaster TEXT NOT NULL ); create index xmet_afos_message_timestamp_idx on xmet_afos_message (timestamp_issued); create index xmet_afos_message_vtec_timestamp_idx on xmet_afos_message (vtec_start, vtec_end); create index xmet_afos_message_product_idx on xmet_afos_message (product); create index xmet_afos_message_wfo_idx on xmet_afos_message (wfo); create index xmet_afos_message_phenom_idx on xmet_afos_message (phenom); create index xmet_afos_message_sig_idx on xmet_afos_message (sig); select AddGeometryColumn('xmet_afos_message', 'location', 4326, 'POINT'), CreateSpatialIndex('xmet_afos_message', 'location'); select AddGeometryColumn('xmet_afos_message', 'poly', 4326, 'POLYGON'), CreateSpatialIndex('xmet_afos_message', 'poly'); commit;