<HTML dir=ltr><HEAD><TITLE>Re: [Proj] "Double Ellipsoid" error, reproduction</TITLE>
<META http-equiv=Content-Type content="text/html; charset=unicode">
<META content="MSHTML 6.00.6000.16735" name=GENERATOR></HEAD>
<BODY>
<DIV id=idOWAReplyText14531 dir=ltr>
<DIV dir=ltr><FONT face="Times New Roman" color=#000000 size=2>I totally agree with Gerald's philosophy.&nbsp; John P. Snyder stayed away from various geodetic applications also, and was strictly interested in cartographic projections.&nbsp; John did not diddle with datums.&nbsp; Once upon a time, I wrote software that did both.&nbsp; John used my software for his private consulting work but did not diddle with datums directly.</FONT></DIV>
<DIV dir=ltr><FONT size=2></FONT>&nbsp;</DIV>
<DIV dir=ltr><FONT size=2>A philosophic separation is reasonable and warranted.</FONT></DIV>
<DIV dir=ltr><FONT size=2></FONT>&nbsp;</DIV>
<DIV dir=ltr><FONT size=2>The EPSG is a reflection on the practical needs of Geodetic Surveyors servicing the international oil patch.&nbsp; Gerald's implementation is not that restrictive.</FONT></DIV>
<DIV dir=ltr><FONT size=2></FONT>&nbsp;</DIV>
<DIV dir=ltr><FONT size=2>Merry Christmas!</FONT></DIV>
<DIV dir=ltr><FONT size=2></FONT>&nbsp;</DIV>
<DIV dir=ltr><FONT size=2>Cliff Mugnier</FONT></DIV>
<DIV dir=ltr><FONT size=2>LOUISIANA STATE UNIVERSITY</FONT></DIV></DIV>
<DIV dir=ltr><BR>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>From:</B> proj-bounces@lists.maptools.org on behalf of Gerald I. Evenden<BR><B>Sent:</B> Tue 09-Dec-08 20:51<BR><B>To:</B> Richard Greenwood<BR><B>Cc:</B> PROJ.4 and general Projections Discussions<BR><B>Subject:</B> Re: [Proj] "Double Ellipsoid" error, reproduction<BR></FONT><BR></DIV>
<DIV>
<P><FONT size=2>On Monday 08 December 2008 4:35:50 pm Richard Greenwood wrote:<BR>&gt; On Mon, Dec 8, 2008 at 11:35 AM, Gerald I. Evenden<BR>&gt;<BR>&gt; &lt;geraldi.evenden@gmail.com&gt; wrote:<BR>&gt; &gt; On Monday 08 December 2008 12:24:19 pm Frank Warmerdam wrote:<BR>&gt; &gt;&gt; Gerald I. Evenden wrote:<BR>&gt; &gt;&gt; &gt; I think more desirable approach is to create a d2d program with<BR>&gt; &gt;&gt; &gt; optional i/o filtering through projection procedures.&nbsp; One might have<BR>&gt; &gt;&gt; &gt; options like:<BR>&gt; &gt;&gt; &gt;<BR>&gt; &gt;&gt; &gt; d2d --in=EPSG1234 --out=NAD83_1105<BR>&gt; &gt;&gt; &gt;<BR>&gt; &gt;&gt; &gt; where --in and --out may refer to library systems but one can also<BR>&gt; &gt;&gt; &gt; have<BR>&gt; &gt;&gt; &gt;<BR>&gt; &gt;&gt; &gt; d2d --in=proj=latlon --datum_in=xyx --datum_out=mm \<BR>&gt; &gt;&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --out="proj=merc ellps=WGS84 R_A"<BR>&gt; &gt;&gt;<BR>&gt; &gt;&gt; Gerald,<BR>&gt; &gt;&gt;<BR>&gt; &gt;&gt; Modulo syntax differences, cs2cs can already be used just to do the<BR>&gt; &gt;&gt; datum transformation step if desired.&nbsp; So I don't see your point.<BR>&gt; &gt;&gt;<BR>&gt; &gt;&gt; &gt; To me, that kills all mice with flexibility and ease of use.&nbsp; *AND*<BR>&gt; &gt;&gt; &gt; you can easily use libproj4 updates.&nbsp; ;-)<BR>&gt; &gt;&gt;<BR>&gt; &gt;&gt; I would note that this still does nothing for the folks who use PROJ.4<BR>&gt; &gt;&gt; within another program like MapServer or GDAL.&nbsp; There typically the<BR>&gt; &gt;&gt; application knows very little about the coordinate systems or what steps<BR>&gt; &gt;&gt; might be used.&nbsp; They just call pj_init() for the source and destination<BR>&gt; &gt;&gt; coordinate system and then call pj_transform().<BR>&gt; &gt;<BR>&gt; &gt; Hey!&nbsp; I am out of this discussion.<BR>&gt; &gt;<BR>&gt; &gt; What has been done, IMHO, is a grievous design flaw.&nbsp; It is like slipping<BR>&gt; &gt; odd and unrelated attributes into the trigonometric library so as to<BR>&gt; &gt; "facilitate" the creation of a particular program.<BR>&gt;<BR>&gt; I'm probably way out of line commenting on the evolution of Proj,4. I<BR>&gt; am not a contributor but I've spent a lot of time looking at it. I do<BR>&gt; not think that Frank et al were "slipping odd and unrelated<BR>&gt; attributes" into Proj.4. My perspective is that Proj.4 was extended to<BR>&gt; support datum transformations, as is pretty commonly need in these<BR>&gt; days. (Actually I think there is a growing need for even more datum<BR>&gt; transformations, but that's for another thread). The EPSG code base<BR>&gt; seems to ball projections and datums together and I can see how the<BR>&gt; evolution occurred.<BR><BR>The germination of proj took place in the late 70's/early 80's as part of a<BR>mapmaking program I wrote called MAPGEN.&nbsp; The earliest stages were in RATFOR<BR>(as I had and still do have a passionate hatred of FORTRAN).&nbsp; Not much later,<BR>UNIX was introduced into our shop and proj began to take the form it has<BR>today.&nbsp; As time progressed I kept adding to and refining proj and eventually<BR>freed it from its ties to MAPGEN even though it still was a required in<BR>MAPGEN's use.&nbsp; Eventually an open file report was published and its code<BR>became more readily available.<BR><BR>At no time during my development of proj were datum operation part of proj's<BR>internals.&nbsp; Early on, datum conversion was not a concern in our shop as all<BR>our data was NAD27.&nbsp; Later with satellite navagation datum conversion did<BR>rear its ugly head but was taken care of with our version of NADCON.<BR><BR>Clearly note: that it was and still is quite clear that datum conversions and<BR>projection operations are totally different, mathematically and logically,<BR>there is *no* reason to combine the operations into one procedure.&nbsp;<BR>Programmatically combining the operation made no sense and was a clear<BR>violation of modular programming practices.<BR><BR>Through the years, even after retirement, I took care of my "baby" and<BR>continued its expansion through proj.4 and eventually libproj4.&nbsp; I did the<BR>last name change recognizing that there had been some hacking of proj.4<BR>software that I did not, and still do not, agree with.&nbsp; Thus I changed the<BR>name to libproj4 and tried to tighten up the licensing a bit although it is<BR>still totally free.<BR><BR>&gt; Ideally it seems like cs2cs should be the all encompassing wrapper<BR>&gt; that handles the datum transformations and call proj as necessary. And<BR>&gt; that proj would be just that: projection support. I think that's<BR>&gt; basically what Gerald is suggesting. But there are so many users that<BR>&gt; would be affected by that change that it seems unwise.<BR><BR>On the surface I find nothing wrong with cs2cs and it certainly should be a<BR>valuable program.&nbsp; However, I feel that the internals are put together in a<BR>manner that first: made it harder to develop and now: much more difficult to<BR>maintain.&nbsp; By combining datum and projection operation internally with<BR>modifications of proj.4 it is impossible to easily upgrade cs2cs when<BR>corrections or improvements of libproj4 become available.&nbsp; If the proj4<BR>library had been used in it orginal state one should normally update cs2cs by<BR>merely relinking with a new libproj4 release.<BR><BR>I hope that explains my interest and frustration with this problem.&nbsp; Thank-you<BR>for your time.<BR><BR>BTW, the reason I never got too involved in datum operations was that in the<BR>era when I was exposed the USSR still existed.&nbsp; At that time datum<BR>information was often treated like state secrets and I figured it best to<BR>stay away from that nonsense.<BR><BR>--<BR>The whole religious complexion of the modern world is due<BR>to the absence from Jerusalem of a lunatic asylum.<BR>-- Havelock Ellis (1859-1939) British psychologist<BR>_______________________________________________<BR>Proj mailing list<BR>Proj@lists.maptools.org<BR><A href="http://lists.maptools.org/mailman/listinfo/proj">http://lists.maptools.org/mailman/listinfo/proj</A><BR></FONT></P></DIV></BODY></HTML>