Script para propriedades U e V
- De acordo com as propriedades presentes em seu arquivo, renomeie as duas bandas presentes para U (Magnitude Norte) e V (Magnitude Leste).
- Primeiramente vá até Styles no Geoserver.
- Adicione um novo estilo e utilize o que segue abaixo.
- Dê um nome e selecione o formato SLD.
- Para publicar o Layer com o estilo, entre em Layers.
- Selecione o Layer desejado e vá em propriedades, em seguida adicione o novo estilo.
- Script das propriedades U e V:
<StyledLayerDescriptor version="1.0.0"
xmlns="http://www.opengis.net/sld" xmlns:gml="http://www.opengis.net/gml"
xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.opengis.net/sld ./StyledLayerDescriptor.xsd">
<NamedLayer>
<Name>windbarbs</Name>
<UserStyle>
<Title>windbarbs</Title>
<FeatureTypeStyle>
<Transformation>
<ogc:Function name="ras:RasterAsPointCollection">
<ogc:Function name="parameter">
<ogc:Literal>data</ogc:Literal>
</ogc:Function>
<!-- Activate the logic to recognize the emisphere -->
<ogc:Function name="parameter">
<ogc:Literal>emisphere</ogc:Literal>
<ogc:Literal>True</ogc:Literal>
</ogc:Function>
<ogc:Function name="parameter">
<ogc:Literal>interpolation</ogc:Literal>
<ogc:Literal>InterpolationBilinear</ogc:Literal>
</ogc:Function>
<ogc:Function name="parameter">
<ogc:Literal>scale</ogc:Literal>
<ogc:Function name="Categorize">
<ogc:Function name="env">
<ogc:Literal>wms_scale_denominator</ogc:Literal>
</ogc:Function>
<ogc:Literal>16</ogc:Literal>
<ogc:Literal>100000</ogc:Literal>
<ogc:Literal>8</ogc:Literal>
<ogc:Literal>500000</ogc:Literal>
<ogc:Literal>2</ogc:Literal>
<ogc:Literal>1000000</ogc:Literal>
<ogc:Literal>0.5</ogc:Literal>
<ogc:Literal>5000000</ogc:Literal>
<ogc:Literal>0.2</ogc:Literal>
<ogc:Literal>10000000</ogc:Literal>
<ogc:Literal>0.1</ogc:Literal>
<ogc:Literal>20000000</ogc:Literal>
<ogc:Literal>0.05</ogc:Literal>
<ogc:Literal>60000000</ogc:Literal>
<ogc:Literal>0.02</ogc:Literal>
</ogc:Function>
</ogc:Function>
</ogc:Function>
</Transformation>
<Rule>
<PointSymbolizer>
<Graphic>
<Mark>
<WellKnownName>windbarbs://default(
<ogc:Function name="sqrt">
<ogc:Add>
<ogc:Mul>
<ogc:PropertyName>u</ogc:PropertyName>
<ogc:PropertyName>u</ogc:PropertyName>
</ogc:Mul>
<ogc:Mul>
<ogc:PropertyName>v</ogc:PropertyName>
<ogc:PropertyName>v</ogc:PropertyName>
</ogc:Mul>
</ogc:Add>
</ogc:Function>)[m/s]?emisphere=
<ogc:PropertyName>emisphere</ogc:PropertyName>
</WellKnownName>
<Stroke>
<CssParameter name="stroke">000000</CssParameter>
<CssParameter name="stroke-width">1</CssParameter>
</Stroke>
</Mark>
<Size>
<ogc:Function name="Categorize">
<!-- Value to transform -->
<ogc:Function name="sqrt">
<ogc:Add>
<ogc:Mul>
<ogc:PropertyName>u</ogc:PropertyName>
<ogc:PropertyName>u</ogc:PropertyName>
</ogc:Mul>
<ogc:Mul>
<ogc:PropertyName>v</ogc:PropertyName>
<ogc:PropertyName>v</ogc:PropertyName>
</ogc:Mul>
</ogc:Add>
</ogc:Function>
<ogc:Literal>8</ogc:Literal>
<ogc:Literal>1.543333332</ogc:Literal>
<ogc:Literal>32</ogc:Literal>
</ogc:Function>
</Size>
<Rotation>
<ogc:Function name="Categorize">
<!-- Value to transform -->
<ogc:Function name="sqrt">
<ogc:Add>
<ogc:Mul>
<ogc:PropertyName>u</ogc:PropertyName>
<ogc:PropertyName>u</ogc:PropertyName>
</ogc:Mul>
<ogc:Mul>
<ogc:PropertyName>v</ogc:PropertyName>
<ogc:PropertyName>v</ogc:PropertyName>
</ogc:Mul>
</ogc:Add>
</ogc:Function>
<!-- Output values and thresholds -->
<ogc:Literal>0</ogc:Literal>
<ogc:Literal>1.543333332</ogc:Literal>
<ogc:Function name="toDegrees">
<ogc:Function name="atan2">
<ogc:PropertyName>u</ogc:PropertyName>
<ogc:PropertyName>v</ogc:PropertyName>
</ogc:Function>
</ogc:Function>
</ogc:Function>
</Rotation>
</Graphic>
</PointSymbolizer>
<PointSymbolizer>
<Graphic>
<Mark>
<WellKnownName>circle</WellKnownName>
<Fill>
<CssParameter name="fill">
<ogc:Literal>#ff0000</ogc:Literal>
</CssParameter>
</Fill>
</Mark>
<Size>3</Size>
</Graphic>
</PointSymbolizer>
</Rule>
</FeatureTypeStyle>
</UserStyle>
</NamedLayer>
</StyledLayerDescriptor>