<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:st1="urn:schemas-microsoft-com:office:smarttags" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]-->
<title>Re: [Proj] &quot;Double ellipsoid&quot; case?</title>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="State"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="City"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="place"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="PersonName"/>
<!--[if !mso]>
<style>
st1\:*{behavior:url(#default#ieooui) }
</style>
<![endif]-->
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
h1
        {margin-top:6.0pt;
        margin-right:0in;
        margin-bottom:6.0pt;
        margin-left:.5in;
        text-indent:-.25in;
        page-break-after:avoid;
        mso-list:l0 level1 lfo2;
        font-size:12.0pt;
        font-family:Arial;
        font-weight:bold;}
h2
        {margin-top:6.0pt;
        margin-right:0in;
        margin-bottom:6.0pt;
        margin-left:.75in;
        text-indent:-.25in;
        page-break-after:avoid;
        mso-list:l1 level1 lfo4;
        font-size:14.0pt;
        font-family:Arial;
        font-weight:bold;
        font-style:italic;}
p.MsoBodyText2, li.MsoBodyText2, div.MsoBodyText2
        {margin-top:0in;
        margin-right:0in;
        margin-bottom:6.0pt;
        margin-left:0in;
        line-height:200%;
        font-size:12.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:blue;
        text-decoration:underline;}
p
        {mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman";}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:Arial;
        color:navy;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
        {page:Section1;}
 /* List Definitions */
 @list l0
        {mso-list-id:1302539220;
        mso-list-type:hybrid;
        mso-list-template-ids:1400028960 1556136038 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
        {mso-level-style-link:"Heading 1";
        mso-level-tab-stop:.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1
        {mso-list-id:2076705572;
        mso-list-type:hybrid;
        mso-list-template-ids:2072013344 127926764 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l1:level1
        {mso-level-number-format:alpha-lower;
        mso-level-style-link:"Heading 2";
        mso-level-tab-stop:.75in;
        mso-level-number-position:left;
        margin-left:.75in;
        text-indent:-.25in;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
-->
</style>

</head>

<body lang=EN-US link=blue vlink=blue>

<div class=Section1>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Not that Frank is responsible for the geodesy
and cartography in Google Maps (or their abuse therein), but the phrase &#8220;</span></font><font
size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>the
resulting lat/long coordinates are intended to be treated as WGS84 after that&#8221;
so <font color=navy><span style='color:navy'>troubles me that I am sympathetic
to Cliff&#8217;s sentiments.&nbsp; So, let&#8217;s quantify the offense with an
experiment that anyone can duplicate, perhaps in Proj4 (I work in Matlab).<o:p></o:p></span></font></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Consider the following Mercator grid
parameters defined on both WGS84 and the Google Sphere (whose radius equals the
semi-major axis of WGS84): CM = 95W, FN=FE=0.&nbsp; That&#8217;s all we need.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Now consider at point at 30N / 95W.&nbsp;
That&#8217;s somewhere near <st1:place w:st="on"><st1:City w:st="on">Houston</st1:City>,
 <st1:State w:st="on">Texas</st1:State></st1:place>, where I live.&nbsp; Convert
to Mercator in both systems.&nbsp; Then traverse to the NE about 141km in both
systems by adding 100km to both the Northing and Easting (in Mercator).&nbsp;
Convert the resulting Mercator coordinates back to geographicals (lat / lon).<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Here&#8217;s what I get for WGS84:&nbsp;
30N / 95W is N3,503,549.84350437m / E0m with a point scale (Mercator is
conformal) of 1.15470053837925 and at the end of the traverse the geographicals
are 30-46-29.63568N / &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;94-06-06.06498W.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>For the Google Sphere the results are:&nbsp;
30N / 95W is N3,482,189.08540862m / E0m with a point scale of 1.15373388324025 and
at the end of the traverse the geographicals are 30-46-43.56897N / &nbsp;94-06-06.06498W.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Pardon the excessive precision; it&#8217;s
just what I get.&nbsp; And I hope that I haven&#8217;t blundered in my haste to
respond.&nbsp; Perhaps someone can confirm.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Interestingly, the longitudes are the
same, but the latitudes are very different (more than might be accounted for by
the scale differences, a cartographic subtlety likely beyond the ken of most
Google Maps users anyway).&nbsp; I don&#8217;t believe </span></font><font
size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>the
resulting lat/long coordinates can be treated as WGS84 at all.&nbsp; <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Noel Zinn<font color=navy><span style='color:navy'><o:p></o:p></span></font></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<div>

<div class=MsoNormal align=center style='text-align:center'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'>

<hr size=2 width="100%" align=center tabindex=-1>

</span></font></div>

<p class=MsoNormal><b><font size=2 face=Tahoma><span style='font-size:10.0pt;
font-family:Tahoma;font-weight:bold'>From:</span></font></b><font size=2
face=Tahoma><span style='font-size:10.0pt;font-family:Tahoma'>
proj-bounces@lists.maptools.org [mailto:proj-bounces@lists.maptools.org] <b><span
style='font-weight:bold'>On Behalf Of </span></b>Clifford J Mugnier<br>
<b><span style='font-weight:bold'>Sent:</span></b> Saturday, November 29, 2008
8:15 AM<br>
<b><span style='font-weight:bold'>To:</span></b> <st1:PersonName w:st="on">PROJ.4
 and general Projections Discussions</st1:PersonName><br>
<b><span style='font-weight:bold'>Subject:</span></b> RE: [Proj] &quot;Double
ellipsoid&quot; case?</span></font><o:p></o:p></p>

</div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p>&nbsp;</o:p></span></font></p>

<div id=idOWAReplyText1252>

<div>

<p class=MsoNormal><font size=2 color=black face="Times New Roman"><span
style='font-size:10.0pt;color:black'>Frank:</span></font><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>&nbsp;<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=2 face="Times New Roman"><span style='font-size:
10.0pt'>Ah, there's a BIG difference between the true coordinate system
relations of geodesy used by national governments and one cooked up by an
ignoramus at Google Maps that did not know what they were doing ... I guess
there's a lot of that going around, too.</span></font><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>&nbsp;<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=2 face="Times New Roman"><span style='font-size:
10.0pt'>I suppose even twits help contribute to keep knowledgeable consultants
in business.</span></font><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>&nbsp;<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=2 face="Times New Roman"><span style='font-size:
10.0pt'>Cliff Mugnier</span></font><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><font size=2 face="Times New Roman"><span style='font-size:
10.0pt'>LSU</span></font><o:p></o:p></p>

</div>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p>&nbsp;</o:p></span></font></p>

<div class=MsoNormal align=center style='text-align:center'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'>

<hr size=2 width="100%" align=center tabIndex=-1>

</span></font></div>

<p class=MsoNormal style='margin-bottom:12.0pt'><b><font size=2 face=Tahoma><span
style='font-size:10.0pt;font-family:Tahoma;font-weight:bold'>From:</span></font></b><font
size=2 face=Tahoma><span style='font-size:10.0pt;font-family:Tahoma'>
proj-bounces@lists.maptools.org on behalf of Frank Warmerdam<br>
<b><span style='font-weight:bold'>Sent:</span></b> Fri 28-Nov-08 10:52<br>
<b><span style='font-weight:bold'>To:</span></b> <st1:PersonName w:st="on">PROJ.4
 and general Projections Discussions</st1:PersonName><br>
<b><span style='font-weight:bold'>Subject:</span></b> Re: [Proj] &quot;Double
ellipsoid&quot; case?</span></font><o:p></o:p></p>

</div>

<div>

<p><font size=2 face="Times New Roman"><span style='font-size:10.0pt'>support.mn@elisanet.fi
wrote:<br>
&gt; Hello,<br>
&gt;<br>
&gt; I just started to think about a situation where there might be a double<br>
&gt; ellipsoid case.<br>
&gt;<br>
&gt; 1) projection uses ellipsoid A independently<br>
&gt; 2) datum shift uses ellipsoid B<br>
&gt;<br>
&gt; Is this possible to be handled with proj.4? Since there is only one<br>
&gt; ellipsoid definition available<br>
<br>
Janne,<br>
<br>
PROJ.4 does not currently handle this situation conveniently.&nbsp; One special<br>
case is where the projection uses a particular ellipsoid, but datum shifts<br>
should treat the corresponding lat/long values as being WGS84. In that<br>
special case you can use +nadgrids=@null to effectively say the datum shift<br>
to WGS84 is a no-op.<br>
<br>
I have at times contemplated having a way of having a datum/ellipsoid<br>
definition used for datum shifting purposes that is independent of the<br>
normal ellipsoid used by the projection functions but I have not pursued it.<br>
<br>
Clifford J Mugnier wrote:<br>
&nbsp;&gt; I've seen a few projections and datums in my day, and I've never
come<br>
&nbsp;&gt; accross that.&nbsp; For there to be a different ellipsoid of
reference for a<br>
&nbsp;&gt; projection than there is for a datum is a contradiction in terms.<br>
<br>
Cliff,<br>
<br>
The very common case we see a lot these days is the google maps mercator<br>
projection.&nbsp; The mercator calculations are done based on a particular<br>
spherical earth model, but the resulting lat/long coordinates are intended<br>
to be treated as WGS84 after that.<br>
<br>
Best regards,<br>
--<br>
---------------------------------------+--------------------------------------<br>
I set the clouds in motion - turn up&nbsp;&nbsp; | Frank Warmerdam,
warmerdam@pobox.com<br>
light and sound - activate the windows | <a href="http://pobox.com/~warmerdam">http://pobox.com/~warmerdam</a><br>
and watch the world go round - Rush&nbsp;&nbsp;&nbsp; | Geospatial Programmer
for Rent<br>
<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></span></font><o:p></o:p></p>

</div>

</div>

</body>

</html>