Post Reply 
Mercator Sailing: Course and Distance
12-21-2022, 08:31 PM
Post: #26
RE: Mercator Sailing: Course and Distance
(08-31-2018 05:46 AM)Dieter Wrote:  
(08-31-2018 02:15 AM)Gene222 Wrote:  I see what I am doing wrong. The course is 270 (due west) on a Mercator map. I was looking a polar map. I guess starpath.com online Mercator calculator was right.

For the record: my 35s program returns 1875,78 miles and a course exactly West, true course 270°.

By the way, the result 1875,4003 nm of the starpath.com Mercator Calculator simply is 180°·60·cos(80°). This is a simplified formula that ignores (!) the ellipsoid's eccentricity. That's why there is another factor in my same-latitude-formula – which returns the correct result.

(08-31-2018 02:15 AM)Gene222 Wrote:  I still have errors in my program. The Latitude difference for the above problem is 600' and the Meridional parts for point 1 and 2 are not the same.

This really sounds like there are errors. ;-)
For 80° the meridional parts (WGS84) should be 8352,48.

Your results of –3456,8203 and –4507,4040 are the meridional part values for latitudes of –50° and –60°, respectively. Maybe this helps finding the error.

(08-31-2018 02:15 AM)Gene222 Wrote:  My procedure for East-West courses needs to be cleaned up, which should be easy to do.

I can't read your program (no Prime here), but from what I see when I open it in a text editor the program distinguishes various cases for different hemispheres. For instance in one case the absolute values of the meridional parts are added. I don't think this is required – the sign convention handles this automatically. Try it.

Here is the way I do the calculation, in pseudocode. I hope I got it right. ;-)

Code:
e=0,08181919...

M1=Meridionalparts(lat1)    
M2=Meridionalparts(lat2)
DMP=M2-M1

dlong=long2-long1
if dlong < -180 then dlong=dlong+360
if dlong > +180 then dlong=dlong-360    // edit: corrected this line

dlongminutes=60*dlong
dlatminutes=60*(lat2-lat1)

if DMP=0 then
   course=0
   distance=abs(dlongminutes)*cos(lat1)*(1-e^2*sin^2(lat1))/(1-e^2)
else
   course=arctan(abs(dlongminutes/DMP))
   distance=abs(dlatminutes)/cos(course)
end

Finally the true course is calculated. I do it wih the 35s "ARG" command which returns something like ATAN2 in some programming languages, a quadrant-adjusted angle (0...180 for Q1 and Q2, 0...-180 for Q3 and Q4, in this case add 360°), and it also works for DMP=0. You'll know how to do it on the Prime. ;-)

Dieter

Dieter,

Thank you for this. Using your equations (in Excel) for MP and dLon when MP=0, namely:

MP = 60*180/PI()*(ATANH(SIN(RADIANS(Lat)))-0.081819190842622*ATANH(0.081819190842622*SIN(RADIANS((Lat)))))

dLon = Distance/(COS(RADIANS(Lat))*(1-0.081819190842622^2*SIN(RADIANS(Lat)^2))/(1-0.081819190842622^2))

and an e value per WGS84, I get a strange dLon value when traveling E/W along the equator. For a course of either 090 or 270 and a distance of 600nm I calculate a dLon value of 595.98337. Shouldn't this value be 600 (i.e., 10 degrees of Lon)?

Thanks in advance for your assistance.

Vadim
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
RE: Mercator Sailing: Course and Distance - VadimV - 12-21-2022 08:31 PM



User(s) browsing this thread: 1 Guest(s)