Please consider the functions as .. FUNCTIONS :) ie only calculate a value based on their input parameters.
It helps if you think of them not being specific to one kind of feature. -- Jody Garnett On 12/07/2013, at 10:51 PM, lindsey <[email protected]> wrote: > OK that makes more sense. Thanks for the reply. So it sounds like my > understanding of the theory was ok, but my implementation was bad. I guess > it's time to look at a little code. For the function that I'm working on, I > send in the following ogc:Filter xml in my query request via WFS: > > <ogc:PropertyIsEqualTo matchCase="true"> > <ogc:Function name="TrajectoryQuery"> > <ogc:Literal>-111.97777222222223,40.78838888888889 > -75.24086666666666,39.87225</ogc:Literal> > <ogc:Literal>25000.0</ogc:Literal> > <ogc:Literal>1343857109000</ogc:Literal> > <ogc:Literal>300.0</ogc:Literal> > </ogc:Function> > <ogc:Literal>true</ogc:Literal> > </ogc:PropertyIsEqualTo> > > I recognize that the first argument should probably be a geometry type > instead of a literal, but I'm taking it one step at a time and figured this > would be easier to start with. So the idea is that the function would use > these parameters to perform some calculations on the records from the data > store to decide whether or not they meet some criteria that must be met in > order to be rendered on the WFS client. > > Here is how I set up those parameters in my FunctionImpl subclass: > > public static final FunctionName NAME = new FunctionNameImpl( > "TrajectoryQuery", Boolean.class, > parameter("geometry", String.class), > parameter("width", Double.class), > parameter("queryTime", Long.class), > parameter("speed", Double.class) > ); > > For our current purposes, the evaluate method could be as simple as this: > > public Object evaluate(Object feature) { > System.out.println("FEATURE=" + feature); > return (feature != null); > } > > It is worth noting however that if I add lines to do things like this: > > double width = > super.getParameters().get(1).evaluate(feature,Double.class); > > ... then all the proper values are there. So it does receive the parameters > that I pass in. > > So in other words, my code does meet the criteria that you mention would be > problematic (all literals). So it sounds like there may be a couple ways to > address this: > > 1 - Perhaps making the first arg an actual geometry is better, but not sure > how that would be associated with a property on the data store feature > (though it does have a geom field). > > 2 - Perhaps I can directly reference other properties of the feature in the > args... I'll do some more review of the docs. > > I'll research these items while awaiting more feedback, but if you have any > other tips that might help me get just that feature != null check working > then I'd be very grateful. > > Thanks. > > > > > > > > -- > View this message in context: > http://osgeo-org.1560.x6.nabble.com/Re-Geotools-devel-Custom-Filter-Function-Getting-Started-Question-tp5065918p5066045.html > Sent from the geotools-gt2-users mailing list archive at Nabble.com. > > ------------------------------------------------------------------------------ > See everything from the browser to the database with AppDynamics > Get end-to-end visibility with application monitoring from AppDynamics > Isolate bottlenecks and diagnose root cause in seconds. > Start your free trial of AppDynamics Pro today! > http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk > _______________________________________________ > GeoTools-GT2-Users mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users ------------------------------------------------------------------------------ See everything from the browser to the database with AppDynamics Get end-to-end visibility with application monitoring from AppDynamics Isolate bottlenecks and diagnose root cause in seconds. Start your free trial of AppDynamics Pro today! http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk _______________________________________________ GeoTools-GT2-Users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
