changeset 4582:51dc19001808 iso-areas

Added geoserver view and named style to match.
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Tue, 08 Oct 2019 16:13:53 +0200
parents 01ea1e547c28
children 0b01fd83bc3b
files schema/geoserver_views.sql style-templates/sounding_results_area.sld-template style-templates/sounding_results_areas_geoserver.sld-template
diffstat 3 files changed, 108 insertions(+), 99 deletions(-) [+]
line wrap: on
line diff
--- a/schema/geoserver_views.sql	Tue Oct 08 14:29:33 2019 +0200
+++ b/schema/geoserver_views.sql	Tue Oct 08 16:13:53 2019 +0200
@@ -196,3 +196,12 @@
             GROUP BY bottleneck_id) sr ON sr.bottleneck_id = bn.bottleneck_id
     WHERE bn.validity @> current_timestamp
     ORDER BY objnam;
+
+CREATE OR REPLACE VIEW waterway.sounding_results_areas_geoserver AS
+  SELECT
+    bottleneck_id,
+    date_info,
+    height,
+    CAST(areas AS geometry(multipolygon, 4326)) as areas
+  FROM waterway.sounding_results_iso_areas ia
+  JOIN waterway.sounding_results sr ON sr.id = ia.sounding_result_id;
--- a/style-templates/sounding_results_area.sld-template	Tue Oct 08 14:29:33 2019 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<StyledLayerDescriptor
-    xmlns="http://www.opengis.net/sld"
-    xmlns:se="http://www.opengis.net/se"
-    xmlns:ogc="http://www.opengis.net/ogc"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://www.opengis.net/sld http://schemas.opengis.net/sld/1.1.0/StyledLayerDescriptor.xsd"
-    version="1.1.0">
-  <NamedLayer>
-    <se:Name>sounding_results_areas</se:Name>
-    <UserStyle>
-      <se:Name>sounding_results_areas</se:Name>
-      <se:FeatureTypeStyle>
-          <se:Name>area_colours</se:Name>
-        <se:Description>
-          <se:Abstract>
-            FeatureTypeStyle defining colour classes for height attribute
-          </se:Abstract>
-        </se:Description>
-        {{ range . -}}
-        <se:Rule>
-        {{- if not .HasLow }}
-          <se:Name>&#8804; {{ printf "%g" .High }}</se:Name>
-          <ogc:Filter>
-            <ogc:PropertyIsLessThanOrEqualTo>
-              <ogc:PropertyName>height</ogc:PropertyName>
-              <ogc:Literal>{{ printf "%f" .High }}</ogc:Literal>
-            </ogc:PropertyIsLessThanOrEqualTo>
-          </ogc:Filter>
-        {{- else if not .HasHigh }}
-          <se:Name>&gt; {{ printf "%g" .Low }}</se:Name>
-          <ogc:Filter>
-            <ogc:PropertyIsGreaterThanOrEqualTo>
-              <ogc:PropertyName>height</ogc:PropertyName>
-              <ogc:Literal>{{ printf "%f" .Low }}</ogc:Literal>
-            </ogc:PropertyIsGreaterThanOrEqualTo>
-          </ogc:Filter>
-        {{- else }}
-          <se:Name>&#8804; {{ printf "%g" .High }}</se:Name>
-          <ogc:Filter>
-            <ogc:And>
-              <ogc:PropertyIsGreaterThan>
-                <ogc:PropertyName>height</ogc:PropertyName>
-                <ogc:Literal>{{ printf "%f" .Low }}</ogc:Literal>
-              </ogc:PropertyIsGreaterThan>
-              <ogc:PropertyIsLessThanOrEqualTo>
-                <ogc:PropertyName>height</ogc:PropertyName>
-                <ogc:Literal>{{ printf "%f" .High }}</ogc:Literal>
-              </ogc:PropertyIsLessThanOrEqualTo>
-            </ogc:And>
-          </ogc:Filter>
-        {{- end }}
-           <se:PolygonSymbolizer>
-            <se:Fill>
-              <se:SvgParameter name="fill">{{ .Color }}</se:SvgParameter>
-            </se:Fill>
-            <se:Stroke>
-              <se:SvgParameter name="stroke">#404040</se:SvgParameter>
-              <se:SvgParameter name="stroke-width">0.5</se:SvgParameter>
-            </se:Stroke>
-          </se:PolygonSymbolizer>
-        </se:Rule>
-        {{ end }}
-      </se:FeatureTypeStyle>
-      <se:FeatureTypeStyle>
-        <se:Name>area_labels</se:Name>
-        <se:Description>
-          <se:Abstract>
-            FeatureTypeStyle for labels at colour areas
-          </se:Abstract>
-        </se:Description>
-        <se:Rule>
-            <!--
-          <se:MaxScaleDenominator>5e3</se:MaxScaleDenominator>
-          -->
-          <se:TextSymbolizer>
-            <se:Label>
-              <ogc:PropertyName>height</ogc:PropertyName>
-            </se:Label>
-            <se:Font>
-              <se:SvgParameter name="font-family">Avenir</se:SvgParameter>
-              <se:SvgParameter name="font-family">Helvetica</se:SvgParameter>
-              <se:SvgParameter name="font-family">Arial</se:SvgParameter>
-              <se:SvgParameter name="font-family">sans-serif</se:SvgParameter>
-            </se:Font>
-            <se:LabelPlacement>
-              <se:LinePlacement>
-                <se:PerpendicularOffset>5</se:PerpendicularOffset>
-              </se:LinePlacement>
-            </se:LabelPlacement>
-            <se:Fill>
-              <se:SvgParameter name="fill">#070707</se:SvgParameter>
-            </se:Fill>
-          </se:TextSymbolizer>
-        </se:Rule>
-      </se:FeatureTypeStyle>
-    </UserStyle>
-  </NamedLayer>
-</StyledLayerDescriptor>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/style-templates/sounding_results_areas_geoserver.sld-template	Tue Oct 08 16:13:53 2019 +0200
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<StyledLayerDescriptor
+    xmlns="http://www.opengis.net/sld"
+    xmlns:se="http://www.opengis.net/se"
+    xmlns:ogc="http://www.opengis.net/ogc"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://www.opengis.net/sld http://schemas.opengis.net/sld/1.1.0/StyledLayerDescriptor.xsd"
+    version="1.1.0">
+  <NamedLayer>
+    <se:Name>sounding_results_areas</se:Name>
+    <UserStyle>
+      <se:Name>sounding_results_areas</se:Name>
+      <se:FeatureTypeStyle>
+          <se:Name>area_colours</se:Name>
+        <se:Description>
+          <se:Abstract>
+            FeatureTypeStyle defining colour classes for height attribute
+          </se:Abstract>
+        </se:Description>
+        {{ range . -}}
+        <se:Rule>
+        {{- if not .HasLow }}
+          <se:Name>&#8804; {{ printf "%g" .High }}</se:Name>
+          <ogc:Filter>
+            <ogc:PropertyIsLessThanOrEqualTo>
+              <ogc:PropertyName>height</ogc:PropertyName>
+              <ogc:Literal>{{ printf "%f" .High }}</ogc:Literal>
+            </ogc:PropertyIsLessThanOrEqualTo>
+          </ogc:Filter>
+        {{- else if not .HasHigh }}
+          <se:Name>&gt; {{ printf "%g" .Low }}</se:Name>
+          <ogc:Filter>
+            <ogc:PropertyIsGreaterThanOrEqualTo>
+              <ogc:PropertyName>height</ogc:PropertyName>
+              <ogc:Literal>{{ printf "%f" .Low }}</ogc:Literal>
+            </ogc:PropertyIsGreaterThanOrEqualTo>
+          </ogc:Filter>
+        {{- else }}
+          <se:Name>&#8804; {{ printf "%g" .High }}</se:Name>
+          <ogc:Filter>
+            <ogc:And>
+              <ogc:PropertyIsGreaterThan>
+                <ogc:PropertyName>height</ogc:PropertyName>
+                <ogc:Literal>{{ printf "%f" .Low }}</ogc:Literal>
+              </ogc:PropertyIsGreaterThan>
+              <ogc:PropertyIsLessThanOrEqualTo>
+                <ogc:PropertyName>height</ogc:PropertyName>
+                <ogc:Literal>{{ printf "%f" .High }}</ogc:Literal>
+              </ogc:PropertyIsLessThanOrEqualTo>
+            </ogc:And>
+          </ogc:Filter>
+        {{- end }}
+           <se:PolygonSymbolizer>
+            <se:Fill>
+              <se:SvgParameter name="fill">{{ .Color }}</se:SvgParameter>
+            </se:Fill>
+            <se:Stroke>
+              <se:SvgParameter name="stroke">#404040</se:SvgParameter>
+              <se:SvgParameter name="stroke-width">0.5</se:SvgParameter>
+            </se:Stroke>
+          </se:PolygonSymbolizer>
+        </se:Rule>
+        {{ end }}
+      </se:FeatureTypeStyle>
+      <se:FeatureTypeStyle>
+        <se:Name>area_labels</se:Name>
+        <se:Description>
+          <se:Abstract>
+            FeatureTypeStyle for labels at colour areas
+          </se:Abstract>
+        </se:Description>
+        <se:Rule>
+            <!--
+          <se:MaxScaleDenominator>5e3</se:MaxScaleDenominator>
+          -->
+          <se:TextSymbolizer>
+            <se:Label>
+              <ogc:PropertyName>height</ogc:PropertyName>
+            </se:Label>
+            <se:Font>
+              <se:SvgParameter name="font-family">Avenir</se:SvgParameter>
+              <se:SvgParameter name="font-family">Helvetica</se:SvgParameter>
+              <se:SvgParameter name="font-family">Arial</se:SvgParameter>
+              <se:SvgParameter name="font-family">sans-serif</se:SvgParameter>
+            </se:Font>
+            <se:LabelPlacement>
+              <se:LinePlacement>
+                <se:PerpendicularOffset>5</se:PerpendicularOffset>
+              </se:LinePlacement>
+            </se:LabelPlacement>
+            <se:Fill>
+              <se:SvgParameter name="fill">#070707</se:SvgParameter>
+            </se:Fill>
+          </se:TextSymbolizer>
+        </se:Rule>
+      </se:FeatureTypeStyle>
+    </UserStyle>
+  </NamedLayer>
+</StyledLayerDescriptor>