Hi,
looking into the build failures caused by Jody's MapContext
refactor I found that there is a discrepancy in how we handle
the reprojeciton policy in GeoServerFeatureSource.

Basically, getSchema() and getFeatures() do apply the reprojection
policies, but getBounds() returns the native bounds always,
forgetting about crs forcing and reprojecting.

Unfortunately the fix is not easy as there is code using the
getBounds() method to compute a layer _native_ bounds, for
example, see CatalogBuilder().getNativeBounds().

I would like to fix the above, but how?
Ideas:
- have the CatalogBuilder() dodge the 
FeatureTypeInfo().getFeatureSource() method and
   call onto the data store directly to get the feature
   source (uses internal knowledge that the store is
   not being wrapped)
- expose in GeoServerFeatureSource() getNativeBounds()/
   getNativeBounds(query) methods and have the builder
   perform a cast? However that will break when using
   read only security wrappers

Bummer... I guess option a) is the only feasible one?

And once we have that fixed, the current 
GeoServerFeatureSource().getBounds()
can simply be made to call getFeatures(q).getBounds(),
since we do handle the reprojection properly in getFeatures()

Cheers
Andrea

-- 
Andrea Aime
OpenGeo - http://opengeo.org
Expert service straight from the developers.

------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
Geoserver-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

Reply via email to