I like the Transformation process/api quite a lot too.  So I think a
reasonable approach to implementing this would be to intercept the Query in
the FeatureSource.getFeatures(Query) method and check if the listed
properties are Definitions/Transformations.  If they are then rewrite the
Query and process the transformations in the native optimal manner.  The
only thing I don't like is that the transformation has to be decoded from
string form rather than being passed in as a data structure.  See any
obvious problems with this approach?  Any other recommendations?

Thanks,
Anthony


On Sat, Apr 12, 2014 at 12:37 PM, Andrea Aime
<[email protected]>wrote:

> On Sat, Apr 12, 2014 at 5:10 PM, Anthony F <[email protected]> wrote:
>
>> In the Query api, I can specify a subset of columns that I would like
>> returned as part of my query.  It would be useful if I could pass in a list
>> of transform definitions or expressions and have the underlying database
>> execute the transformations.  This would be similar to a SQL projection
>> such as
>>
>> 'select concat('id', 'name') as newname, buffer(the_geom, 0.1) as bufgeom
>> from mygeomtable where within(the_geom, polygonWKT)'
>>
>> Is there a simple way to do this sort of thing that I have overlooked?
>> I've been digging around in the Query api and the Transform process code to
>> see if this is possible.  I need a way to send the list of transform
>> definitions to the underlying DataStore (in this case GeoMesa) so that it
>> can execute the transformation in an optimal way.  In the GeoMesa case, we
>> would be able to leverage distributed parallel processing to compute an
>> computationally expensive transformation.
>>
>
> In the case of the relational databases, we have a custom API that allows
> to define "virtual tables", where you really
> just provide the sql to be run, and the store will use it as a source of
> records (and will wrap it in a larger query by
> stashing it as a subquery in the from clause).
>
> It's then up to the application to recognize that specific extension, for
> example GeoServer has custom code targetting
> the JDBCDataStore family.
> But no, there is no general mechanism.
>
> Cheers
> Andrea
>
> --
> ==
> Meet us at GEO Business 2014! in London! Visit http://goo.gl/fES3aK
> for more information.
> ==
>
> Ing. Andrea Aime
> @geowolf
> Technical Lead
>
> GeoSolutions S.A.S.
> Via Poggio alle Viti 1187
> 55054  Massarosa (LU)
> Italy
> phone: +39 0584 962313
> fax: +39 0584 1660272
> mob: +39  339 8844549
>
> http://www.geo-solutions.it
> http://twitter.com/geosolutions_it
>
> -------------------------------------------------------
>
------------------------------------------------------------------------------
Put Bad Developers to Shame
Dominate Development with Jenkins Continuous Integration
Continuously Automate Build, Test & Deployment 
Start a new project now. Try Jenkins in the cloud.
http://p.sf.net/sfu/13600_Cloudbees
_______________________________________________
GeoTools-Devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to