I like the idea. I've been wanting to implement something similar. Ideally we could serialize/deserialize with the CQL format and the Filter format. And it would be nice to consider a way to evaluate filters with custom functions on the client as well. I think what we really need is better expression support in general.

I haven't looked at your patch yet, but I like the sound of it.

Tim

On 2/10/11 10:25 AM, Ivan Grcic wrote:
Dear devs,

we would like to make an improvement for OL Filter, that would add the
possibility to create Geoserver vendor ogc:Function filter elements
inside existing spatial filter elements.

As you probably already know,  GS has quite a lot of these handy
functions by now, so it would be also useful to have them available in
OL ( http://docs.geoserver.org/2.0.x/en/user/filter/function_reference.html
)

Recently GS filter was improved by GeoSolutions with even more
advanced filter options that enable us to make advanced queries that
combine different layers on Geoserver (you can read more about it on
http://geo-solutions.blogspot.com/2011/02/developer-corner-cross-layer-filtering.html)


I made some initial patch that achieves desired behavior, and I opened
ticket for it (http://trac.osgeo.org/openlayers/ticket/3053)

As I see it now, spatial filter elements accept several arguments:
type , property, value (Geometry or BBOX), distance and distance
units.
With this patch it will be possible to define additional elements
functionName and functionParams, which would be used instead of
filter.value element to create necessary Function elements.

In OpenLayers.Format.Filter.v1 additional writers Function elements
was added. For each Function element two parameters have to be set:
string functionName  and array functionParams. functionParams can
contain various number of parameters - Literals, or another Function
elements, allowing us to create complex filters  with nested Function
elements.

In OpenLayers.Format.Filter.v1_0_0  and
OpenLayers.Format.Filter.v1_1_1 writeSpatial function check was added
that looks if functionName  was supplied instead of value, and writes
function node for us.

(OpenLayers.Filter.Spatial needs to be modified I guess also to add
additional elements there)

So, id like to hear some comments/opinions about it, if i'm heading in
the right directions? Should I maybe define
functionName/functionParams inside filter.value?

Any suggestions are more than welcomed!

Regards,
Ivan




--
Tim Schaub
OpenGeo - http://opengeo.org
Expert service straight from the developers.
_______________________________________________
Dev mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/openlayers-dev

Reply via email to