<html 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=iso-8859-1">
<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="State"/>
<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>
<!--
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {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";}
p.MsoAutoSig, li.MsoAutoSig, div.MsoAutoSig
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:Arial;
        color:windowtext;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
        {page:Section1;}
-->
</style>

</head>

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

<div class=Section1>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>Hello
Proj Developers,</span></font><o:p></o:p></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'> <o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>I've
read a few posts and it looks like Gerald has already developed support for
RSO's.  In the previous emails shown below, I have code written for
Hotine Oblique Mercators that uses the Michigan Georef Parameters. 
Hopefully the code you have written is more accurate.  I could not get the
Northing accurate enough.  If you want the parameters for Michigan Georef
they are available online if you google "Michigan Georef
Projection".  This projection is very important for any Michigan Proj
users since most freely available data is provided in Michigan Georef.  I
think the last time I saw it in a proj format it was listed as a regular omerc
which is not correct even though many sites describe it that way.  </span></font><o:p></o:p></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'> <o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>Anyhow,
I was just wondering what the status was on the development of this projection</span></font><o:p></o:p></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'> <o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>-Max
Clever</span></font><o:p></o:p></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'> <o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>----------------------------------------------------------------------------------------</span></font><o:p></o:p></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>Max,<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>OK,
well implementing new projection methods is definately Gerald's area, not
mine.  So if you can interest him in it, then things should<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>be
good.   I just not competent to do it.<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>Best
regards,<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>-- <o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>---------------------------------------+--------------------------------<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>---------------------------------------+------<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>I
set the clouds in motion - turn up   | Frank Warmerdam, warmerdam@pobox.com<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>light
and sound - activate the windows | http://pobox.com/~warmerdam<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>and
watch the world go round - Rush    | President OSGF, http://osgeo.org<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>-----Original
Message-----<br>
From: <st1:PersonName w:st="on"><u1:PersonName u2:st="on">Clever, Max</st1:PersonName></u1:PersonName>
<br>
Sent: Tuesday, July 18, 2006 9:26 AM<br>
To: 'Frank Warmerdam'<br>
Cc: MAPSERVER-USERS@LISTS.UMN.EDU<br>
Subject: RE: [UMN_MAPSERVER-USERS] FW: <st1:State w:st="on"><st1:place w:st="on"><u1:State u2:st="on"><u1:place u2:st="on">Michigan</st1:place></st1:State></u1:place></u1:State>
Georef Projection Problems in Proj4</span></font><o:p></o:p></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>Frank,<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>First,
to answer your question, the parameters Melita offered are not accurate enough
and are not the true parameters of the Michigan Georef Projection.  Also, the
translation from EPSG to PROJ4 is not correct.  I don't think Proj 4 supports a
point azimuth method transformation for Hotine oblique Mercator (Rectified Skew
Orthomorphic Projection)<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>Here
is a link that contains the formulas for oblique mercator and Hotine Oblique
Mercator (Michigan Georef is Hotine Oblique).<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'> <a
href="http://www.posc.org/Epicentre.2_2/DataModel/ExamplesofUsage/eu_cs34i.html">http://www.posc.org/Epicentre.2_2/DataModel/ExamplesofUsage/eu_cs34i.html</a>
<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>please
note though, that in the forward case, I believe the small "v" should
be computed using Log not natural log.  <o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>Also,
if you want it for reference, below is the code of a couple of VB forms that I
wrote 3 years ago with help from my professor in college to perform the forward
and reverse cases.  It is only accurate to about 7 cm in the Northing and 3 mm
in the Easting when converting a point from Michigan Georef to Geographic and
back.  I think there must be some lack of precision in the code that is the
reason for the accuracy problem.  I hope this helps.<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>Const
a = 6378137                         ' semi major axis of the GRS80 ellipsoid<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>Const
e2 = 0.0066943800229                ' eccentricity^2 of the GRS80 ellipsoid<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>Dim
Pi As Double<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>Dim
E As Double                           ' excentricity of the GRS80 ellipsoid <o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'> <o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>Public
Function G2GREF(CoordIN() As Double) As Double()<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
Dim M1 As Double ' Paramter<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
Dim m2 As Double ' Paramter<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
Dim t1 As Double ' Paramter<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
Dim t2 As Double ' Paramter<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
Dim t0 As Double ' Paramter <o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
Dim n As Double ' Paramter<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
Dim F As Double ' Paramter<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
Dim Eb As Double ' Paramter<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
Dim Nb As Double ' Paramter<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
Dim R As Double ' Paramter<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
MS_GeoRef = "Projection Oblique Mercator; Datum:  NAD83; Ellipsoid: GRS80
" & vbCrLf & _ <o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>       
"Standard Units: Meters" & vbCrLf & _<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>       
"Origin = 86° 00' 00 W and 45° 18' 33 N" & vbCrLf & _<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>       
"Scale factor at projection's center: k= 0.9996" & vbCrLf & _
<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>       
"Azimuth at center of projection: 337° 15' 20" & vbCrLf & _<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>       
"False Easting: 2546731.496, False Northing: -4354009.816"<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>       
<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
Lon1 = -86#                 ' Longitude of projection's origin: 86° 00'
00" W <o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
Lon1 = Lon1 * Pi / 180#<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
Lat1 = 45.30916666667       ' Latitude of projection's origin: 45° 18' 33"
N<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
Lat1 = Lat1 * Pi / 180#<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
Az = 337.255555555556       ' Azimuth at center of projection: 337° 15' 20 <o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
Az = Az * Pi / 180#<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
SF = 0.9996                 ' Scale factor at projection's center<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
Eb = 2546731.496            ' False Easting ( Eb = 528600.24)<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
Nb = -4354009.816           ' False Northing (Nb = 499839.834)<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
B = Sqr(1 + e2 * Cos(Lat1) ^ 4 / (1 - e2))<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
A1 = a * B * SF * Sqr(1 - e2) / (1 - e2 * (Sin(Lat1) ^ 2))<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
Temp = ((1 - E * Sin(Lat1)) / (1 + E * Sin(Lat1))) ^ (0.5 * E)<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
t0 = Tan(Pi / 4 - (Lat1) / 2) / Temp <o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
D = B * Sqr(1 - e2) / (Cos(Lat1) * Sqr(1 - e2 * Sin(Lat1) ^ 2))<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
F = D + Lat1 / Abs(Lat1) * Sqr(D ^ 2 - 1)       ' Eq. 4.110<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
E1 = F * t0 ^ B                                 ' Eq. 4.111<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
G = 0.5 * (F - 1 / F)                           ' Eq. 4.112<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
Gamma0 = Isin(Sin(Az) / D)                      ' Eq. 4.113<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
Lon0 = Lon1 - Isin(G * Tan(Gamma0)) / B  ' Lambda 0 at Eq. 4.114<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
U0 = (Lat1 / Abs(Lat1)) * (A1 / B) * Atn(Sqr(D ^ 2 - 1) / <st1:place w:st="on"><u1:place u2:st="on">Cos</st1:place></u1:place>(Az))<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
V0 = 0<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
LatIN = DMS2R(CoordIN(1))<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
LonIN = DMS2R(CoordIN(2))<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
Temp = ((1 - E * Sin(LatIN)) / (1 + E * Sin(LatIN))) ^ (0.5 * E)<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
t = Tan(Pi / 4 - (LatIN) / 2) / Temp            ' Eq. 4.117<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>    Q
= E1 / (t ^ B)<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
S = 0.5 * (Q - 1 / Q)<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
Tc1 = 0.5 * (Q + 1 / Q)<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
V1 = Sin(B * (LonIN - Lon0))<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
U1 = (-V1 * Cos(Gamma0) + S * Sin(Gamma0)) / Tc1<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
vl = A1 * Log((1 - U1) / (1 + U1)) / (2 * B) <o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
temp1 = (S * Cos(Gamma0) + V1 * Sin(Gamma0)) / <st1:place w:st="on"><u1:place u2:st="on">Cos</st1:place></u1:place>(B
* (LonIN - Lon0))<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
ul = (A1 / B) * Atn(temp1)<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
x = vl * Cos(Az) + ul * Sin(Az) + Eb<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
y = ul * Cos(Az) - vl * Sin(Az) + Nb<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
ReDim Preserve CTemp(1 To 2) As Double <o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
CTemp(1) = x<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
CTemp(2) = y<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
G2GREF = CTemp<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>       
<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>End
Function<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'> <o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'> <o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>Public
Function GREF2G(CoordIN() As Double) As Double()<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
Dim M1 As Double ' Paramter<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
Dim m2 As Double ' Paramter<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
Dim t1 As Double ' Paramter<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
Dim t2 As Double ' Paramter<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
Dim t0 As Double ' Paramter<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
Dim n As Double ' Paramter<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
Dim F As Double ' Paramter <o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
Dim Eb As Double ' Paramter<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
Dim Nb As Double ' Paramter<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
Dim PhiOut As Double ' Paramter<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
Dim LonOut As Double ' Paramter<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
MS_GeoRef = "Projection Oblique Mercator; Datum:  NAD83; Ellipsoid: GRS80
" & vbCrLf & _ <o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>       
"Standard Units: Meters" & vbCrLf & _<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>       
"Origin = 86° 00' 00 W and 45° 18' 33 N" & vbCrLf & _<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>       
"Scale factor at projection's center: k= 0.9996" & vbCrLf & _
<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>       
"Azimuth at center of projection: 337° 15' 20" & vbCrLf & _<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>       
"False Easting: 2546731.496, False Northing: -4354009.816"<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>       
<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
Lon1 = -86#                 ' Longitude of projection's origin: 86° 00'
00" W <o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
Lon1 = Lon1 * Pi / 180#<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
Lat1 = 45.309166666667       ' Latitude of projection's origin: 45° 18'
33" N<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
Lat1 = Lat1 * Pi / 180#<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
Az = 337.255555555556       ' Azimuth at center of projection: 337° 15' 20 <o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
Az = Az * Pi / 180#<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
SF = 0.9996                 ' Scale factor at projection's center<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
Eb = 2546731.496            ' False Easting ( Eb = 528600.24)<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
Nb = -4354009.816           ' False Northing (Nb = 499839.834)<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
ttemp = e2 * (Cos(Lat1) ^ 4) / (1 - e2)<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
B = Sqr(1 + ttemp)<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
A1 = a * B * SF * Sqr(1 - e2) / (1 - e2 * (Sin(Lat1)) ^ 2)<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
Temp = ((1 - E * Sin(Lat1)) / (1 + E * Sin(Lat1))) ^ ( 0.5 * E)<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
t0 = Tan(Pi / 4 - (Lat1) / 2) / Temp<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
ttemp1 = Cos(Lat1) * Sqr(1 - e2 * (Sin(Lat1)) ^ 2)<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
D = B * Sqr(1 - e2) / ttemp1<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
F = D + Lat1 / Abs(Lat1) * Sqr(D ^ 2 - 1)       ' Eq. 4.110 <o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>    E1
= F * t0 ^ B                                 ' Eq. 4.111<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
G = 0.5 * (F - 1 / F)                           ' Eq. 4.112<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
Gamma0 = Isin(Sin(Az) / D)                      ' Eq. 4.113<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
Lon0 = Lon1 - Isin(G * Tan(Gamma0)) / B  ' Lambda 0 at Eq. 4.114<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
xIN = CoordIN(1)<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
yIN = CoordIN(2)<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>'Actual
Computations for Reverse case Hotine Oblique Mercator<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
xr = xIN - Eb<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
yr = yIN - Nb<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
vs = xr * Cos(Az) - yr * Sin(Az)<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
us = yr * Cos(Az) + xr * Sin(Az)<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
temp1 = -B * vs / A1<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
Qp = (2.71828182845905) ^ temp1<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
Sp = 0.5 * (Qp - 1 / Qp)<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
Tp = 0.5 * (Qp + 1 / Qp)<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
Vp = Sin(B * us / A1)<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
Up = (Vp * Cos(Gamma0) + Sp * Sin(Gamma0)) / Tp<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
temp2 = (1 + Up) / (1 - Up)<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
t = (E1 / Sqr(temp2)) ^ (1 / B)<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>    PhiOut
= Pi / 2 - 2 * Atn(t)<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>'Iterative
Solution for Phi Out<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>'   
For i = 1 To 30<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>'       
Temp = ((1 - E * Sin(PhiOut)) / (1 + E * Sin(PhiOut))) ^ ( 0.5 * E)<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>'       
PhiOut = Pi / 2 - 2 * Atn(t * Temp)<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>'   
Next i<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>'Single
Line Solution for Phi Out<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>    PhiOut
= PhiOut + Sin(2 * PhiOut) * (e2 / 2 + (5 * e2 ^ 2) / 24 + (e2 ^ 4) / 12 + (13
* e2 ^ 6) / 360) + Sin(4 * PhiOut) * ((7 * e2 ^ 2) / 48 + (29 * e2 ^ 4) / 240 +
(811 * e2 ^ 6) / 11520) + Sin(6 * PhiOut) * ((7 * e2 ^ 4) / 120 + (81 * e2 ^ 6)
/ 1120) + Sin(8 * PhiOut) * ((4279 * e2 ^ 6) / 161280) <o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>           
<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
temp3 = (Sp * Cos(Gamma0) - Vp * Sin(Gamma0)) / <st1:place w:st="on"><u1:place u2:st="on">Cos</st1:place></u1:place>(B
* us / A1)<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
LonOut = Lon0 - Atn(temp3) / B<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>      
<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
ReDim Preserve CTemp(1 To 2) As Double<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
CTemp(1) = r2dms(PhiOut) <o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
CTemp(2) = r2dms(LonOut)<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>   
GREF2G = CTemp<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>End
Function<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>-----Original
Message-----<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>From:
Frank Warmerdam [mailto:fwarmerdam@gmail.com] On Behalf Of Frank Warmerdam<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>Sent:
Saturday, July 15, 2006 10:01 PM<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>To:
<st1:PersonName w:st="on"><u1:PersonName u2:st="on">Clever, Max</st1:PersonName><o:p></o:p></span></u1:PersonName></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>Subject:
Re: [UMN_MAPSERVER-USERS] FW: <st1:State w:st="on"><st1:place w:st="on"><u1:State u2:st="on"><u1:place u2:st="on">Michigan</st1:place></st1:State></u1:place></u1:State>
Georef Projection Problems in Proj4<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><st1:PersonName
w:st="on"><font size=2 face="Courier New"><u1:PersonName u2:st="on"><span
 style='font-size:10.0pt;font-family:"Courier New"'>Clever, Max</span></u1:PersonName></font></st1:PersonName><font
size=2 face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>
wrote:<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>>
Hi,<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>>
<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>> 
<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>>
<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>>
Did anyone see this the last time I sent it?  It relates to Mapserver as <o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>>
well since Mapserver uses Proj4 for its projections. <o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>Max,<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>I
have skimmed this material, but frankly I'm not sure what action item<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>there
is, and I find myself with limited time for work on PROJ.4.<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>Is
the problem that the parameters Melita offered a couple years ago<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>aren't
accurate enough?  Or that the underlying translation from EPSG<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>to
PROJ.4 wasn't fixed so the epsg file keeps getting regenerated<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>wrong? 
If it is a tranlation problem, then that is basically something<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>I
ought to fix.  But I basically need some formulation to recognise<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>a
distinct oblique mercator case for the <st1:State w:st="on"><st1:place w:st="on"><u1:State u2:st="on"><u1:place u2:st="on">michigan</st1:place></st1:State></u1:place></u1:State>
projection from the<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>EPSG
codes (or parameters), and what that should map to in WKT format,<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>and
in PROJ.4 format.  I'm happy to use the ESRI WKT representation if<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>there
isn't an obvious existing form for this special case.<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>If
you can walk me through what should be changed, I'm willing to work<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>on
it.<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>Best
regards,<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>...<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>>
Two years ago, I ran into a problem with the Michigan Georef Projection <o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>>
and the way that proj identified it.  I had sent emails back and forth <o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>>
for a while until someone sent a temporary solution of providing false <o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>>
parameters that worked.. *for the most part*.  This temporary solution, <o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>>
of course, did not actually solve the problem, but instead delayed the <o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>>
fixing of the methods that proj identifies projections and translates <o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>>
them.  For that I am sorry for not remaining vigilant in seeing a true <o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>>
solution being devised.  But now, since I have just now installed the <o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>>
latest version of GRASS 6.1, I have come full circle and face this <o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>>
problem again.  To provide a quick access to the background of what has <o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>>
already been said on this projection please note the previous emails <o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>>
below.  I believe, at this time still, that the *omerc* projection and <o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>>
its parameters as used by proj cannot correctly describe or transform a <o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>>
omerc projection with a "natural origin".  From what I understand, <o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>>
Hotine oblique mercator and Rectified Skew Orthomorphic are one and the <o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>>
same or depend on where the skew is corrected.  Has there been a <o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>>
solution determined for this projection?  If not, maybe a solution to <o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>>
this problem would be to have Proj have oblique mercators split between <o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>>
"natural origins" and cartesian center point origins.  I hope, maybe,
<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>>
someone has been looking at this lately but I doubt it.  Any comments or <o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>>
solutions would be very welcome.  Thanks.<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>-- <o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>---------------------------------------+--------------------------------------<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>I
set the clouds in motion - turn up   | Frank Warmerdam, warmerdam@pobox.com<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>light
and sound - activate the windows | http://pobox.com/~warmerdam<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>and
watch the world go round - Rush    | President OSGF, http://osgeo.org<o:p></o:p></span></font></p>

<p class=MsoPlainText style='margin:0in;margin-bottom:.0001pt'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'><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> </o:p></span></font></p>

</div>

</body>

</html>