Rendering Transformations - Wind Barbs

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Rendering Transformations - Wind Barbs

tchav
Hello to the community,

I followed the following guide in order to visualize the Wind-Barbs.

https://geoserver.geo-solutions.it/edu/en/multidim/accessing_multidim/rtx/wind_barbs.html

Unfortunately, this tutorial doesn't work. The original style causes errors,
and I changed it to the following one which is a valid style.


<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor xmlns="http://www.opengis.net/sld"
xmlns:sld="http://www.opengis.net/sld"
xmlns:gml="http://www.opengis.net/gml"
xmlns:ogc="http://www.opengis.net/ogc" version="1.0.0">
  <NamedLayer>
    <Name>windbarbs</Name>
    <UserStyle>
      <Name>Default Styler</Name>
      <Title>windbarbs</Title>
      <FeatureTypeStyle>
        <sld:Name>name</sld:Name>
        <sld:Transformation>
          <ogc:Function name="ras:RasterAsPointCollection">
            <ogc:Function name="parameter">
              <ogc:Literal>data</ogc:Literal>
            </ogc:Function>
            <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>
        </sld:Transformation>
        <Rule>
          <PointSymbolizer>
            <Graphic>
              <Mark>
                <WellKnownName>windbarbs://default(
                        <ogc:Function name="sqrt">
                          <ogc:Add>
                            <ogc:Mul>
                             
<ogc:PropertyName>u-component_of_wind_height_above_ground</ogc:PropertyName>
                             
<ogc:PropertyName>u-component_of_wind_height_above_ground</ogc:PropertyName>
                            </ogc:Mul>
                            <ogc:Mul>
                             
<ogc:PropertyName>v-component_of_wind_height_above_ground</ogc:PropertyName>
                             
<ogc:PropertyName>v-component_of_wind_height_above_ground</ogc:PropertyName>
                            </ogc:Mul>
                          </ogc:Add>
                        </ogc:Function>)[m/s]?emisphere
                </WellKnownName>
                 <Stroke>
                    <CssParameter name="stroke">000000</CssParameter>
                    <CssParameter name="stroke-width">1</CssParameter>
                </Stroke>
              </Mark>
              <Size>
                <ogc:Function name="Categorize">
                  <ogc:Function name="sqrt">
                    <ogc:Add>
                      <ogc:Mul>
                       
<ogc:PropertyName>u-component_of_wind_height_above_ground</ogc:PropertyName>
                       
<ogc:PropertyName>u-component_of_wind_height_above_ground</ogc:PropertyName>
                      </ogc:Mul>
                      <ogc:Mul>
                       
<ogc:PropertyName>v-component_of_wind_height_above_ground</ogc:PropertyName>
                       
<ogc:PropertyName>v-component_of_wind_height_above_ground</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">
                  <ogc:Function name="sqrt">
                    <ogc:Add>
                      <ogc:Mul>
                       
<ogc:PropertyName>u-component_of_wind_height_above_ground</ogc:PropertyName>
                       
<ogc:PropertyName>u-component_of_wind_height_above_ground</ogc:PropertyName>
                      </ogc:Mul>
                      <ogc:Mul>
                       
<ogc:PropertyName>v-component_of_wind_height_above_ground</ogc:PropertyName>
                       
<ogc:PropertyName>v-component_of_wind_height_above_ground</ogc:PropertyName>
                      </ogc:Mul>
                    </ogc:Add>
                  </ogc:Function>
                  <ogc:Literal>0</ogc:Literal>
                  <ogc:Literal>1.543333332</ogc:Literal>
                  <ogc:Function name="toDegrees">
                    <ogc:Function name="atan2">
                       
<ogc:PropertyName>u-component_of_wind_height_above_ground</ogc:PropertyName>
                     
<ogc:PropertyName>v-component_of_wind_height_above_ground</ogc:PropertyName>
                    </ogc:Function>
                  </ogc:Function>
                </ogc:Function>
              </Rotation>
            </Graphic>
          </PointSymbolizer>
          <PointSymbolizer>
            <Graphic>
              <Mark>
                <WellKnownName>circle</WellKnownName>
                <Fill>
                  <CssParameter name="fill">#ff0000</CssParameter>
                </Fill>
              </Mark>
              <sld:Size>3</sld:Size>
            </Graphic>
          </PointSymbolizer>
        </Rule>
      </FeatureTypeStyle>
    </UserStyle>
  </NamedLayer>
</StyledLayerDescriptor>

and the error message is the following one :

*code="internalError" Rendering process failed
Failed to evaluate the process function, error is:
java.lang.illegalArguementException: The specified dimensional parameter is
non-positive.*

I am not sure, but I understand that the style doesn't recognize the proper
columns U/V of the table with the names:

v-component_of_wind_height_above_ground
u-component_of_wind_height_above_ground

U, V Components published properly at the coverage step as described at the
tutorial.

Configuration:

Geoserver :  2.14.2

Modules:
ImageI/O-Ext GDAL Coverage Extension gs-gdal                  
GridCoverage2DReader 1.1.28
GRIB Coverage Format gs-grib GridCoverageMultiDimReader 20.2
GeoServer Web Coverage Service 1.1        gs-wcs1_1    2.14.2
GeoServer Web Coverage Service 2.0        gs-wcs2_0    2.14.2
GeoServer Web Feature Service                gs-wfs            2.14.2
GeoServer Web Coverage Service 1.0        gs-wcs1_0    2.14.2



--
Sent from: http://osgeo-org.1560.x6.nabble.com/GeoServer-User-f3786390.html


_______________________________________________
Geoserver-users mailing list

Please make sure you read the following two resources before posting to this list:
- Earning your support instead of buying it, but Ian Turton: http://www.ianturton.com/talks/foss4g.html#/
- The GeoServer user list posting guidelines: http://geoserver.org/comm/userlist-guidelines.html

If you want to request a feature or an improvement, also see this: https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer


[hidden email]
https://lists.sourceforge.net/lists/listinfo/geoserver-users