Thanks for the detailed explanation - with pictures.
> Now, that is not so hard, but there are 65 points in the
> code base calling CRS.transform(mathTransform, envelope)
> plus 6 calling the CRS.transform(mathTransform, sourceRectangle,
> targetRectangle)
> Soo.. it's not a small change.
> I'm up to do it, but I think I'll need some review.
> Since this is bug fixing I'd like to backport the results to 2.7.x
> 
> Mind though, this would only solve part of the problem,
> since even CRS.transform(envelope, targetCRS) does not
> do the densification.
> I guess we also want to add the densified reproject code
> into CRS, and have ReferencedEnvelope (and the JTS utility
> class) use it instead.
That would be fine.
> Opinions, suggestions? (someone burning to do this work
> in my place or feeling like helping out?) :-p
I also note that RefernecedEnvelope is the major sticking point keeping gt-api 
and gt-opengis in two separate modules - it depends on the CRS utility class 
forcing gt-api to always depend on gt-referencing.

I got one alternative solution here .. not sure if I like it; but it is "more 
correct" so I may as well share.

Part of the trouble is the direct use of GeneralEnvelope. Back when I was 
working on gt-geometry one of the major roadblocks was the gt-referencing (and 
gt-coverage) modules not taking their own medicine. They were implementing 
factories for others to use; but not making use of a geometry factory for their 
own internal creation of Envelope and Point.

So here is the alternative fix:
- if I make a cut down geometry factory that just has the methods for what we 
use
- gt-referencingt provides an implementation that builds GeneralEnvelope when 
code asks for an Envelope
- update code that calls new GeneralEnvelope to call the factory
- update the 65 references to use the Envelope.transform( targetCRS) method 
rather than CRS.transform( envelope, target )

I should put this in as a separate Jira as it is a batch of work Martin left 
undone.

Jody 
------------------------------------------------------------------------------
Simplify data backup and recovery for your virtual environment with vRanger.
Installation's a snap, and flexible recovery options mean your data is safe,
secure and there when you need it. Discover what all the cheering's about.
Get your free trial download today. 
http://p.sf.net/sfu/quest-dev2dev2 
_______________________________________________
Geotools-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to