Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[geomesa-users] GeoServer SLD style filter problem with latest GeoMesa

Hi,

 

We just installed the latest GeoMesa earlier this week and we have noticed a new GeoServer/WMS related problem that did not exist in either the mid-June version of GeoMesa or the January version of GeoMesa.  We are using GeoServer 2.5 and GeoTools 11.0.

 

I am using an SLD style for generating choropleth images (similar to a heat map) based upon GeoMesa-indexed data.  I want all null data to be ignored when I create my choropleth images, and prior to the most recent GeoMesa, I could successfully ignore null data if I did something analogous to the following in my SLD file:

 

<?xml version="1.0" encoding="UTF-8"?><sld:StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:sld="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml" version="1.0.0">

  <sld:NamedLayer>

    <sld:Name>Default Styler</sld:Name>

    <sld:UserStyle>

      <sld:Name>Default Styler</sld:Name>

      <sld:Title>Example Title</sld:Title>

      <sld:FeatureTypeStyle>

        <sld:Name>name</sld:Name>

        <sld:Rule>

          <sld:Name>ExampleName</sld:Name>

          <ogc:Filter>

            <ogc:PropertyIsEqualTo>

              <ogc:Function name="isNull">

                <ogc:Function name="property">

                  <ogc:Function name="env">

                    <ogc:Literal>attribute</ogc:Literal>

                    <ogc:Literal>SpecificAttribute</ogc:Literal>

                  </ogc:Function>

                </ogc:Function>

              </ogc:Function>

              <ogc:Literal>false</ogc:Literal>

            </ogc:PropertyIsEqualTo>

          </ogc:Filter>

          <sld:MaxScaleDenominator>1000000.0</sld:MaxScaleDenominator>

          <sld:PolygonSymbolizer>

          …

 

I should note that I am using SLD variable substitution for the “attribute” so that I can use the same SLD style for generating choropleth images based on different attributes (using separate WMS calls). 

 

When I use the above style, GeoServer does not produce an image.  It seems to have a problem with the <ogc:Filter> portion of the style.  If I remove the <ogc:Filter> portion of the SLD style, the style works on attributes that do not have null data.  Is this problem a GeoMesa-related bug?  Or have we integrated the latest GeoMesa incorrectly with GeoServer?  What changes have been made since mid-June that could cause this problem?

 

 

In case it helps, the following SLD filter worked in the January version of GeoMesa, but did not work in the mid-June version.  I assumed that it was due to the GeoServer version changing, but now I am not so sure it wasn’t GeoMesa-related.  When I noticed that this did not work in the mid-June version, I removed the “equalTo” portion of the filter and instead created two SLD styles (my preference was to have one style, which is what I had when I used the January version).

 

          <ogc:Filter>

            <ogc:And>

              <ogc:PropertyIsEqualTo>

                <ogc:Function name="equalTo">

                  <ogc:Function name="env">

                    <ogc:Literal>attribute</ogc:Literal>

                    <ogc:Literal>SpecificAttribute</ogc:Literal>

                  </ogc:Function>

                  <ogc:Literal>SpecificAttribute</ogc:Literal>

                </ogc:Function>

                <ogc:Literal>false</ogc:Literal>

              </ogc:PropertyIsEqualTo>

              <ogc:PropertyIsEqualTo>

                <ogc:Function name="isNull">

                  <ogc:Function name="property">

                    <ogc:Function name="env">

                      <ogc:Literal>attribute</ogc:Literal>

                      <ogc:Literal>SpecificAttribute</ogc:Literal>

                    </ogc:Function>

                  </ogc:Function>

                </ogc:Function>

                <ogc:Literal>false</ogc:Literal>

              </ogc:PropertyIsEqualTo>

            </ogc:And>

          </ogc:Filter>

 

 

Any ideas?

 

Thanks,

 

Beau


Back to the top