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