select load_extension('mod_spatialite.so.8');
select InitSpatialMetadata(1);

begin transaction;

create table nexrad_radar (
    id             INTEGER PRIMARY KEY NOT NULL,
    wban           INTEGER,
    call           TEXT NOT NULL,
    name           TEXT NOT NULL,
    site_elevation FLOAT NOT NULL,
    tower_height   FLOAT NOT NULL
);

select
    AddGeometryColumn('nexrad_radar', 'coord', 4326, 'POINT', 'XY'),
    CreateSpatialIndex('nexrad_radar', 'coord');

create table nexrad_storm_report (
    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
);

select
    AddGeometryColumn('nexrad_storm_report', 'coord_start', 4326, 'POINT', 'XY', 0),
    CreateSpatialIndex('nexrad_storm_report', 'coord_start');

select
    AddGeometryColumn('nexrad_storm_report', 'coord_end', 4326, 'POINT', 'XY', 0),
    CreateSpatialIndex('nexrad_storm_report', 'coord_end');

commit;
