I have had an issue with trying to use integer values in SLD filter logical
expressions (tested with "Or" expressions) for fields that are floating
point numbers in the database.

For example, the following DOES match features that have a float type
"diameter" column with value "2.0" in PostgreSQL

<ogc:Filter>
  <ogc:PropertyIsEqualTo>
    <ogc:PropertyName>diameter</ogc:PropertyName>
    <ogc:Literal>2</ogc:Literal>
  </ogc:PropertyIsEqualTo>
</ogc:Filter>

However, the following does not match features with value "2.0":

<ogc:Filter>
  <ogc:Or>
    <ogc:PropertyIsEqualTo>
      <ogc:PropertyName>diameter</ogc:PropertyName>
      <ogc:Literal>2.5</ogc:Literal>
    </ogc:PropertyIsEqualTo>
    <ogc:PropertyIsEqualTo>
      <ogc:PropertyName>diameter</ogc:PropertyName>
      <ogc:Literal>2</ogc:Literal>
    </ogc:PropertyIsEqualTo>
  </ogc:Or>
</ogc:Filter>

I would expect Integers to be converted to floating point numbers in all
cases when the column is a float type, as in SQL where clauses. I am
converting lyrx styles into SLDs programmatically using GeoCat's
bridge-style, and the fieldValues in uniqueValueGroups that get converted
to filters are all given as string values, so I don't have a way to
determine the type of the values solely from the styling information.

I just wanted to get thoughts before I submit a bug report.

Thanks,
Jonathan
_______________________________________________
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


Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Reply via email to