[udig-devel] getBounds of selection/filter

Jody Garnett jgarnett at refractions.net
Wed Mar 26 09:05:20 PDT 2008


I think there is also a FeatureSource.getBounds( Query ) method .... but 
I may be wrong on that....checking:
- 
http://javadoc.geotools.fr/2.5/org/geotools/data/FeatureSource.html#getBounds(org.geotools.data.Query)

A brief look at the code shows that this technique will return something 
*fast* or return *null*, and is used if the data source
has some kind of optimized code it can run. The fall back position is as 
Vince outlined below.
Enjoy,
Jody

> I've solved my own problem here:
>
>                 FeatureSource resource = 
> layer.getResource(FeatureSource.class, ProgressManager.instance().get());
>                 Query query = new DefaultQuery( 
> resource.getSchema().getTypeName(), layer.getFilter(),
>                 new 
> String[]{resource.getSchema().getDefaultGeometry().getName()});
>                 Envelope ebounds = resource.getBounds(query);
>                 if( ebounds==null ){
>                     ebounds=resource.getFeatures(query).getBounds();
>                 }
>                 bounds = new ReferencedEnvelope(ebounds, crs);
>
> seems to do the job just fine.
>
> Vince.
>
>
> _______________________________________________
> User-friendly Desktop Internet GIS (uDig)
> http://udig.refractions.net
> http://lists.refractions.net/mailman/listinfo/udig-devel



More information about the udig-devel mailing list