[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