[Proj] "Double Ellipsoid" error, reproduction

Gerald I. Evenden geraldi.evenden at gmail.com
Sun Dec 7 22:45:12 EST 2008

On Sunday 07 December 2008 9:59:11 pm Frank Warmerdam wrote:
> Gerald I. Evenden wrote:
> > I find this thread so incredible confusing I have tried to stay out of it
> > If the issue is simply two completely separate operations--- datum
> > conversion and ellipsoid-projection--- then what is all the discussion
> > about???
> This is why I believe it was suggested we should be able (potentially)
> to use different ellipsoid values for the projection calculations and
> for the datum shift.

I do not think we are in any disagreement.  Diagramatically I look at the 
whole problem simply as:

original map data
with known projection
and projection ellipsoid
(it might even be a sphere)
inv. project with above
ellipsoid and proj param.
geographic data
datum shift with whatever
info it takes.
geographic data in terms of new datum
project to new map with
parameters and proj ellipsoid
of choice (maybe a sphere)

The nature of the projection at either end of the above operation is 
completely arbitrary as is the ellipsoid and/or sphere to which it is 
projected.  The user *only* has to know how the original data was projected 
and its parameters and record for posterity how he/she created the new map.

This is why I looked at cs2cs as simply the following procedure:

proj4 -I <params> | datum_convert <params> | proj4 <params>

with either end of the pipeline possibly missing.  For the unwashed user all 
one had to do was make a wrapper program and generate the above pipe string 
to pass to a system call.

If the something like the above had been used it would be a lot easier to 
update the process with later releases of projection software.  ;-)

As a bit of amusing history: the above approach to piecemealling the processes 
dates back to my experience writing programs for the IBM 360 where the 
computer division chief charged extra for any program that took over 110Kb of 
memory.  Besides learning to be tight programmers we also became whizes at 
using JCL.  (For the young ones, JCL stands for Job Control Language where 
one creates pipes the hard way).

The whole religious complexion of the modern world is due
to the absence from Jerusalem of a lunatic asylum.
-- Havelock Ellis (1859-1939) British psychologist

More information about the Proj mailing list