[Proj4j] Re: Comparison of GeoAPI, CTS and GeoTools?

Martin Davis mbdavis at refractions.net
Tue Jan 19 12:24:29 EST 2010



Sunburned Surveyor wrote:
>
> It seems from Michael's statement that we are dealing with two types
> of transformations. The first requires no datum transformation, but
> some other more simpler transformation. (Example: California State
> Plan Coordinates Metric to California State Plane Coordinates Survey
> Feet.) The second requires a datum transformation. (Example: NAD83 to
> NAD27.)
>
> It seems you could have code that could check the source and
> destination CRS definitions to see if the first simpler type of
> transformation was possible. If not, a pivot datum like WGS 84 would
> be used by default. At least, this is how I thought about designing
> things when I was considering my own projection library.
>
> Maybe this is the solution Michael was describing?
>
>   
>
This is essentially exactly what PROJ4 does (although of course it does 
it in a fairly unstructured kind of way).  Proj4J pretty much follows 
this scheme - when a CoordinateTransform is created, the source and tgt 
CRSs are checked to see whether a datum transformation is required and 
if so what kind should be used.  PROJ4 definitely uses the strategy of 
using WGS84 as a pivot datum, but it also supports some gridded datum 
transforms (these are not yet implemented in Proj4J.

The exact details of how datum transformations are specified seem like 
more of an implementation detail to me - as long as they are kept out of 
the user API, I think it's less critical exactly how they are 
implemented.  But of course it's nice to have an architecture which will 
support all desired datum transformation strategies.  The CTS 
architecture seems to do this nicely - it's probably worth evolving 
Proj4J towards it.

-- 
Martin Davis
Senior Technical Architect
Refractions Research, Inc.
(250) 383-3022



More information about the Proj4j mailing list