comparison style-templates/sounding_results_marking_points_geoserver.sld-template @ 5423:24156a964eaa marking-single-beam

[WIP] Add support for scan marking points in geoserver.
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Thu, 08 Jul 2021 12:21:55 +0200
parents
children 2f3fd2d0486b
comparison
equal deleted inserted replaced
5422:ad8e3fffb868 5423:24156a964eaa
1 <?xml version="1.0" encoding="UTF-8"?>
2 <StyledLayerDescriptor
3 xmlns="http://www.opengis.net/sld"
4 xmlns:se="http://www.opengis.net/se"
5 xmlns:ogc="http://www.opengis.net/ogc"
6 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
7 xsi:schemaLocation="http://www.opengis.net/sld http://schemas.opengis.net/sld/1.1.0/StyledLayerDescriptor.xsd"
8 version="1.1.0">
9 <NamedLayer>
10 <se:Name>sounding_results_areas</se:Name>
11 <UserStyle>
12 <se:Name>sounding_results_areas</se:Name>
13 <se:FeatureTypeStyle>
14 <se:Name>area_colours</se:Name>
15 <se:Description>
16 <se:Abstract>
17 FeatureTypeStyle defining colour classes for height attribute
18 </se:Abstract>
19 </se:Description>
20 {{ range . -}}
21 <se:Rule>
22 {{- if not .HasLow }}
23 <se:Name>&#8804; {{ printf "%g" .High }}</se:Name>
24 <ogc:Filter>
25 <ogc:PropertyIsLessThanOrEqualTo>
26 <ogc:PropertyName>height</ogc:PropertyName>
27 <ogc:Literal>{{ printf "%f" .High }}</ogc:Literal>
28 </ogc:PropertyIsLessThanOrEqualTo>
29 </ogc:Filter>
30 {{- else if not .HasHigh }}
31 <se:Name>&gt; {{ printf "%g" .Low }}</se:Name>
32 <ogc:Filter>
33 <ogc:PropertyIsGreaterThanOrEqualTo>
34 <ogc:PropertyName>height</ogc:PropertyName>
35 <ogc:Literal>{{ printf "%f" .Low }}</ogc:Literal>
36 </ogc:PropertyIsGreaterThanOrEqualTo>
37 </ogc:Filter>
38 {{- else }}
39 <se:Name>&#8804; {{ printf "%g" .High }}</se:Name>
40 <ogc:Filter>
41 <ogc:And>
42 <ogc:PropertyIsGreaterThan>
43 <ogc:PropertyName>height</ogc:PropertyName>
44 <ogc:Literal>{{ printf "%f" .Low }}</ogc:Literal>
45 </ogc:PropertyIsGreaterThan>
46 <ogc:PropertyIsLessThanOrEqualTo>
47 <ogc:PropertyName>height</ogc:PropertyName>
48 <ogc:Literal>{{ printf "%f" .High }}</ogc:Literal>
49 </ogc:PropertyIsLessThanOrEqualTo>
50 </ogc:And>
51 </ogc:Filter>
52 {{- end }}
53 <se:MaxScaleDenominator>34e3</se:MaxScaleDenominator>
54 <se:PointSymbolizer>
55 <se:Graphic>
56 <se:Mark>
57 <se:WellKnownName>circle</se:WellKnownName>
58 <se:Fill>
59 <se:CssParameter name="fill">{{ .Color }}</se:CssParameter>
60 </se:Fill>
61 </se:Mark>
62 <se:Size>6</se:Size>
63 </se:Graphic>
64 </se:PointSymbolizer>
65 </se:Rule>
66 <se:Rule>
67 {{- if not .HasLow }}
68 <se:Name>&#8804; {{ printf "%g" .High }}</se:Name>
69 <ogc:Filter>
70 <ogc:PropertyIsLessThanOrEqualTo>
71 <ogc:PropertyName>height</ogc:PropertyName>
72 <ogc:Literal>{{ printf "%f" .High }}</ogc:Literal>
73 </ogc:PropertyIsLessThanOrEqualTo>
74 </ogc:Filter>
75 {{- else if not .HasHigh }}
76 <se:Name>&gt; {{ printf "%g" .Low }}</se:Name>
77 <ogc:Filter>
78 <ogc:PropertyIsGreaterThanOrEqualTo>
79 <ogc:PropertyName>height</ogc:PropertyName>
80 <ogc:Literal>{{ printf "%f" .Low }}</ogc:Literal>
81 </ogc:PropertyIsGreaterThanOrEqualTo>
82 </ogc:Filter>
83 {{- else }}
84 <se:Name>&#8804; {{ printf "%g" .High }}</se:Name>
85 <ogc:Filter>
86 <ogc:And>
87 <ogc:PropertyIsGreaterThan>
88 <ogc:PropertyName>height</ogc:PropertyName>
89 <ogc:Literal>{{ printf "%f" .Low }}</ogc:Literal>
90 </ogc:PropertyIsGreaterThan>
91 <ogc:PropertyIsLessThanOrEqualTo>
92 <ogc:PropertyName>height</ogc:PropertyName>
93 <ogc:Literal>{{ printf "%f" .High }}</ogc:Literal>
94 </ogc:PropertyIsLessThanOrEqualTo>
95 </ogc:And>
96 </ogc:Filter>
97 {{- end }}
98 <se:MinScaleDenominator>34e3</se:MinScaleDenominator>
99 <se:PointSymbolizer>
100 <se:Graphic>
101 <se:Mark>
102 <se:WellKnownName>circle</se:WellKnownName>
103 <se:Fill>
104 <se:CssParameter name="fill">{{ .Color }}</se:CssParameter>
105 </se:Fill>
106 </se:Mark>
107 <se:Size>6</se:Size>
108 </se:Graphic>
109 </se:PointSymbolizer>
110 </se:Rule>
111 <se:VendorOption name="sortBy">height</se:VendorOption>
112 {{ end }}
113 </se:FeatureTypeStyle>
114 <se:FeatureTypeStyle>
115 <se:Name>area_labels</se:Name>
116 <se:Description>
117 <se:Abstract>
118 FeatureTypeStyle for labels at colour areas
119 </se:Abstract>
120 </se:Description>
121 <se:Rule>
122 <se:MaxScaleDenominator>3e2</se:MaxScaleDenominator>
123 <se:TextSymbolizer>
124 <Halo></Halo>
125 <se:VendorOption name="spaceAround">50</se:VendorOption>
126 <se:Label>
127 <ogc:Function name="Recode">
128 <ogc:Function name="numberFormat">
129 <ogc:Literal>0.000000</ogc:Literal>
130 <ogc:PropertyName>height</ogc:PropertyName>
131 </ogc:Function>
132 {{ range . -}}
133 {{ if .HasHigh -}}
134 <ogc:Literal>
135 {{- printf "%f" .High -}}
136 </ogc:Literal><ogc:Literal>
137 {{- printf "%g" .High -}}
138 </ogc:Literal>
139 {{ end -}}
140 {{ end }}
141 </ogc:Function>
142 </se:Label>
143 <se:Font>
144 <se:SvgParameter name="font-size">80</se:SvgParameter>
145 <se:SvgParameter name="font-weight">bold</se:SvgParameter>
146 <se:SvgParameter name="font-family">Sans Serif</se:SvgParameter>
147 </se:Font>
148 <se:LabelPlacement>
149 <se:LinePlacement>
150 <se:PerpendicularOffset>5</se:PerpendicularOffset>
151 </se:LinePlacement>
152 </se:LabelPlacement>
153 <se:Fill>
154 <se:SvgParameter name="fill">#000000</se:SvgParameter>
155 </se:Fill>
156 </se:TextSymbolizer>
157 </se:Rule>
158 <se:Rule>
159 <se:MaxScaleDenominator>5e2</se:MaxScaleDenominator>
160 <se:MinScaleDenominator>3e2</se:MinScaleDenominator>
161 <se:TextSymbolizer>
162 <Halo></Halo>
163 <se:VendorOption name="spaceAround">80</se:VendorOption>
164 <se:Label>
165 <ogc:Function name="Recode">
166 <ogc:Function name="numberFormat">
167 <ogc:Literal>0.000000</ogc:Literal>
168 <ogc:PropertyName>height</ogc:PropertyName>
169 </ogc:Function>
170 {{ range . -}}
171 {{ if .HasHigh -}}
172 <ogc:Literal>
173 {{- printf "%f" .High -}}
174 </ogc:Literal><ogc:Literal>
175 {{- printf "%g" .High -}}
176 </ogc:Literal>
177 {{ end -}}
178 {{ end }}
179 </ogc:Function>
180 </se:Label>
181 <se:Font>
182 <se:SvgParameter name="font-size">40</se:SvgParameter>
183 <se:SvgParameter name="font-weight">bold</se:SvgParameter>
184 <se:SvgParameter name="font-family">Sans Serif</se:SvgParameter>
185 </se:Font>
186 <se:LabelPlacement>
187 <se:LinePlacement>
188 <se:PerpendicularOffset>5</se:PerpendicularOffset>
189 </se:LinePlacement>
190 </se:LabelPlacement>
191 <se:Fill>
192 <se:SvgParameter name="fill">#000000</se:SvgParameter>
193 </se:Fill>
194 </se:TextSymbolizer>
195 </se:Rule>
196 <se:Rule>
197 <se:MaxScaleDenominator>7e2</se:MaxScaleDenominator>
198 <se:MinScaleDenominator>5e2</se:MinScaleDenominator>
199 <se:TextSymbolizer>
200 <Halo></Halo>
201 <se:VendorOption name="spaceAround">50</se:VendorOption>
202 <se:Label>
203 <ogc:Function name="Recode">
204 <ogc:Function name="numberFormat">
205 <ogc:Literal>0.000000</ogc:Literal>
206 <ogc:PropertyName>height</ogc:PropertyName>
207 </ogc:Function>
208 {{ range . -}}
209 {{ if .HasHigh -}}
210 <ogc:Literal>
211 {{- printf "%f" .High -}}
212 </ogc:Literal><ogc:Literal>
213 {{- printf "%g" .High -}}
214 </ogc:Literal>
215 {{ end -}}
216 {{ end }}
217 </ogc:Function>
218 </se:Label>
219 <se:Font>
220 <se:SvgParameter name="font-size">20</se:SvgParameter>
221 <se:SvgParameter name="font-weight">bold</se:SvgParameter>
222 <se:SvgParameter name="font-family">Sans Serif</se:SvgParameter>
223 </se:Font>
224 <se:LabelPlacement>
225 <se:LinePlacement>
226 <se:PerpendicularOffset>5</se:PerpendicularOffset>
227 </se:LinePlacement>
228 </se:LabelPlacement>
229 <se:Fill>
230 <se:SvgParameter name="fill">#000000</se:SvgParameter>
231 </se:Fill>
232 </se:TextSymbolizer>
233 </se:Rule>
234 <se:Rule>
235 <se:MaxScaleDenominator>6e3</se:MaxScaleDenominator>
236 <se:MinScaleDenominator>7e2</se:MinScaleDenominator>
237 <se:TextSymbolizer>
238 <Halo></Halo>
239 <se:VendorOption name="spaceAround">50</se:VendorOption>
240 <se:Label>
241 <ogc:Function name="Recode">
242 <ogc:Function name="numberFormat">
243 <ogc:Literal>0.000000</ogc:Literal>
244 <ogc:PropertyName>height</ogc:PropertyName>
245 </ogc:Function>
246 {{ range . -}}
247 {{ if .HasHigh -}}
248 <ogc:Literal>
249 {{- printf "%f" .High -}}
250 </ogc:Literal><ogc:Literal>
251 {{- printf "%g" .High -}}
252 </ogc:Literal>
253 {{ end -}}
254 {{ end }}
255 </ogc:Function>
256 </se:Label>
257 <se:Font>
258 <se:SvgParameter name="font-size">12</se:SvgParameter>
259 <se:SvgParameter name="font-weight">bold</se:SvgParameter>
260 <se:SvgParameter name="font-family">Sans Serif</se:SvgParameter>
261 </se:Font>
262 <se:LabelPlacement>
263 <se:LinePlacement>
264 <se:PerpendicularOffset>5</se:PerpendicularOffset>
265 </se:LinePlacement>
266 </se:LabelPlacement>
267 <se:Fill>
268 <se:SvgParameter name="fill">#000000</se:SvgParameter>
269 </se:Fill>
270 </se:TextSymbolizer>
271 </se:Rule>
272 </se:FeatureTypeStyle>
273 </UserStyle>
274 </NamedLayer>
275 </StyledLayerDescriptor>