diff schema/gemma.sql @ 4940:b3b2ba09a450 fairway-marks-import

Add missing fairway mark types
author Tom Gottfried <tom@intevation.de>
date Mon, 17 Feb 2020 18:38:45 +0100
parents 8b83b18a1d49
children 7cc79c65a9e5
line wrap: on
line diff
--- a/schema/gemma.sql	Mon Feb 17 15:14:24 2020 +0100
+++ b/schema/gemma.sql	Mon Feb 17 18:38:45 2020 +0100
@@ -288,8 +288,7 @@
     -- TODO: Do we need name and/or definition from IENC feature catalogue?
     -- (see page 381 of edition 2.3)
 );
-INSERT INTO dirimps VALUES (1), (2), (3), (4);
--- dirimp_5 left out because it cannot be used for waterway area
+INSERT INTO dirimps VALUES (1), (2), (3), (4), (5);
 
 CREATE TABLE depth_references (
     depth_reference varchar(4) PRIMARY KEY
@@ -941,6 +940,175 @@
                 0, colour, colpat, conrad, marsys, boyshp, catlam
             ) AS fairway_marks_boylat)
         ))
+
+    -- Additional attributes for IENC feature BOYSAW
+    CREATE TABLE fairway_marks_boysaw (
+        id int PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY,
+        colour varchar,
+        colpat varchar,
+        conrad int,
+        marsys int,
+        boyshp int
+    ) INHERITS (fairway_marks)
+    -- Prevent identical entries using composite type comparison
+    -- (i.e. considering two NULL values in a field equal):
+    CREATE UNIQUE INDEX fairway_marks_boysaw_distinct_rows
+        ON fairway_marks_boysaw
+        ((CAST((geom,
+                datsta, datend, persta, perend, objnam, nobjnm, inform, ninfom,
+                scamin, picrep, txtdsc, sordat, sorind,
+                0, colour, colpat, conrad, marsys, boyshp
+            ) AS fairway_marks_boysaw)
+        ))
+
+    -- Additional attributes for IENC feature BOYSPP
+    CREATE TABLE fairway_marks_boyspp (
+        id int PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY,
+        colour varchar,
+        colpat varchar,
+        conrad int,
+        marsys int,
+        boyshp int,
+        catspm varchar
+    ) INHERITS (fairway_marks)
+    -- Prevent identical entries using composite type comparison
+    -- (i.e. considering two NULL values in a field equal):
+    CREATE UNIQUE INDEX fairway_marks_boyspp_distinct_rows
+        ON fairway_marks_boyspp
+        ((CAST((geom,
+                datsta, datend, persta, perend, objnam, nobjnm, inform, ninfom,
+                scamin, picrep, txtdsc, sordat, sorind,
+                0, colour, colpat, conrad, marsys, boyshp, catspm
+            ) AS fairway_marks_boyspp)
+        ))
+
+    -- Additional attributes for IENC features DAYMAR/daymar
+    CREATE TABLE fairway_marks_daymar (
+        id int PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY,
+        colour varchar,
+        colpat varchar,
+        condtn int,
+        topshp int,
+        orient double precision
+    ) INHERITS (fairway_marks)
+    -- Prevent identical entries using composite type comparison
+    -- (i.e. considering two NULL values in a field equal):
+    CREATE UNIQUE INDEX fairway_marks_daymar_distinct_rows
+        ON fairway_marks_daymar
+        ((CAST((geom,
+                datsta, datend, persta, perend, objnam, nobjnm, inform, ninfom,
+                scamin, picrep, txtdsc, sordat, sorind,
+                0, colour, colpat, condtn, topshp, orient
+            ) AS fairway_marks_daymar)
+        ))
+
+    CREATE TABLE fairway_marks_daymar_dirimps (
+        fm_daymar_id int REFERENCES fairway_marks_daymar,
+        dirimp smallint REFERENCES dirimps,
+        PRIMARY KEY (fm_daymar_id, dirimp)
+    )
+
+    -- Additional attributes for IENC feature LIGHTS
+    CREATE TABLE fairway_marks_lights (
+        id int PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY,
+        colour varchar,
+        condtn int,
+        orient double precision,
+        catlit varchar,
+        exclit int,
+        litchr int,
+        litvis varchar,
+        mltylt int,
+        sectr1 double precision,
+        sectr2 double precision,
+        siggrp varchar,
+        sigper double precision,
+        sigseq varchar,
+        status varchar
+    ) INHERITS (fairway_marks)
+    -- Prevent identical entries using composite type comparison
+    -- (i.e. considering two NULL values in a field equal):
+    CREATE UNIQUE INDEX fairway_marks_lights_distinct_rows
+        ON fairway_marks_lights
+        ((CAST((geom,
+                datsta, datend, persta, perend, objnam, nobjnm, inform, ninfom,
+                scamin, picrep, txtdsc, sordat, sorind,
+                0, colour, condtn, orient, catlit, exclit, litchr, litvis,
+                mltylt, sectr1, sectr2, siggrp, sigper, sigseq, status
+            ) AS fairway_marks_lights)
+        ))
+
+    -- Additional attributes for IENC feature RTPBCN
+    CREATE TABLE fairway_marks_rtpbcn (
+        id int PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY,
+        condtn int,
+        siggrp varchar,
+        catrtb int,
+        radwal varchar
+    ) INHERITS (fairway_marks)
+    -- Prevent identical entries using composite type comparison
+    -- (i.e. considering two NULL values in a field equal):
+    CREATE UNIQUE INDEX fairway_marks_rtpbcn_distinct_rows
+        ON fairway_marks_rtpbcn
+        ((CAST((geom,
+                datsta, datend, persta, perend, objnam, nobjnm, inform, ninfom,
+                scamin, picrep, txtdsc, sordat, sorind,
+                0, condtn, siggrp, catrtb, radwal
+            ) AS fairway_marks_rtpbcn)
+        ))
+
+    -- Additional attributes for IENC feature TOPMAR
+    CREATE TABLE fairway_marks_topmar (
+        id int PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY,
+        colour varchar,
+        colpat varchar,
+        condtn int,
+        topshp int
+    ) INHERITS (fairway_marks)
+    -- Prevent identical entries using composite type comparison
+    -- (i.e. considering two NULL values in a field equal):
+    CREATE UNIQUE INDEX fairway_marks_topmar_distinct_rows
+        ON fairway_marks_topmar
+        ((CAST((geom,
+                datsta, datend, persta, perend, objnam, nobjnm, inform, ninfom,
+                scamin, picrep, txtdsc, sordat, sorind,
+                0, colour, colpat, condtn, topshp
+            ) AS fairway_marks_topmar)
+        ))
+
+    -- Additional attributes for IENC feature NOTMRK
+    CREATE TABLE fairway_marks_notmrk (
+        id int PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY,
+        condtn int,
+        marsys int,
+        orient double precision,
+        status varchar,
+        addmrk varchar,
+        catnmk int,
+        disipd double precision,
+        disipu double precision,
+        disbk1 double precision,
+        disbk2 double precision,
+        fnctnm int,
+        bnkwtw int
+    ) INHERITS (fairway_marks)
+    -- Prevent identical entries using composite type comparison
+    -- (i.e. considering two NULL values in a field equal):
+    CREATE UNIQUE INDEX fairway_marks_notmrk_distinct_rows
+        ON fairway_marks_notmrk
+        ((CAST((geom,
+                datsta, datend, persta, perend, objnam, nobjnm, inform, ninfom,
+                scamin, picrep, txtdsc, sordat, sorind,
+                0, condtn, marsys, orient, status, addmrk, catnmk,
+                disipd, disipu, disbk1, disbk2, fnctnm, bnkwtw
+            ) AS fairway_marks_notmrk)
+        ))
+
+    CREATE TABLE fairway_marks_notmrk_dirimps (
+        fm_notmrk_id int REFERENCES fairway_marks_notmrk,
+        dirimp smallint REFERENCES dirimps,
+        PRIMARY KEY (fm_notmrk_id, dirimp)
+    )
 ;