[Proj] "Double Ellipsoid" error, reproduction
Gerald I. Evenden
geraldi.evenden at gmail.com
Mon Dec 8 13:35:27 EST 2008
On Monday 08 December 2008 12:24:19 pm Frank Warmerdam wrote:
> Gerald I. Evenden wrote:
> > I think more desirable approach is to create a d2d program with optional
> > i/o filtering through projection procedures. One might have options
> > like:
> > d2d --in=EPSG1234 --out=NAD83_1105
> > where --in and --out may refer to library systems but one can also have
> > d2d --in=proj=latlon --datum_in=xyx --datum_out=mm \
> > --out="proj=merc ellps=WGS84 R_A"
> Modulo syntax differences, cs2cs can already be used just to do the datum
> transformation step if desired. So I don't see your point.
> > To me, that kills all mice with flexibility and ease of use. *AND* you
> > can easily use libproj4 updates. ;-)
> I would note that this still does nothing for the folks who use PROJ.4
> within another program like MapServer or GDAL. There typically the
> application knows very little about the coordinate systems or what steps
> might be used. They just call pj_init() for the source and destination
> coordinate system and then call pj_transform().
Hey! I am out of this discussion.
What has been done, IMHO, is a grievous design flaw. It is like slipping odd
and unrelated attributes into the trigonometric library so as to "facilitate"
the creation of a particular program.
There is nothing wrong with buffering ignorant users from the details of
complex problems but *not* at the expense of poor coding practices. There
are many ways of doing this that would not require destroying the modularity
of code sources.
A case in point. As many of you know I used the GSL library recently. I
often use foreign libraries. But in all of my usage of such sources I do not
even look at the source code nor does the thought ever cross my mind to
change such sources to facilitate some aspect of my particular problem. If
there is a usage problem, then it is up to my external code to work around
it. The result is that when an update to these libraries comes along I can
normally easily update my own application by merely relinking the program. I
respect the "sanctity" of such source material in order to maintain my own
flexibilty and coding sanity.
Obviously, this attitude has not been extended to the proj system by others.
I have tried to maintain a consistancy of the proj library to support the
above development philosophy that, as it seems, is purely my own. The
biggest change that I recall was translating the namespace from pj_ to proj_
and a few related items which would hopefull help avoid conflict with other
software. I believe that one can go back many years and not see any
fundamental differences in the projection library.
Sorry to bore the non-programmers with a discussion of coding practices.
> This is *by far* the most common use of PROJ.4 and then there is no
> option to setup program pipelines.
> Best regards,
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