Question with Rhumb Line Distance from Mapping Toolbox

6 views (last 30 days)
I am having a trouble with the geographical distance between 2 coordinates from Matlab's Mapping Toolbox. When I included the referenceEllipsoid('World Geodetic System 1984') to make my calculation more precise, the difference between the 2 output values is huge.
%Input Coordinates
startLat=29.7833;
startLon=49.35;
latC=30.9679414132727;
lonC=55.6527719032408;
%Distance calculation
arclen_check1 = distance('rh',startLat,startLon,latC,lonC);
arclen_check2 = distance('rh',startLat,startLon,latC,lonC,referenceEllipsoid('World Geodetic System 1984'));
Can anyone please explain why the output value between arclen_check1 and arclen_check2 is significantly different. I visitted the Matlab Reference Help but still confused with that.
Thanks for your time reading this

Accepted Answer

Ryan Klots
Ryan Klots on 22 May 2019
Edited: Ryan Klots on 22 May 2019
When you do not specify a reference ellipsoid, the distance function computes the distance between two points on the sphere and returns the answer as an arclength in degrees (angular units).
arclen_check1 = distance('rh',startLat,startLon,latC,lonC); % Answer in degrees
When you specify a reference ellipsoid, it doesn't make sense to return the answer in angular units. Instead, it returns the distance using the same units as the reference ellipsoid itself.
e = wgs84Ellipsoid
e.LengthUnit % 'meter'
This can be verified by using the deg2km function:
arclen_check2 = distance('rh',startLat,startLon,latC,lonC,e); % Answer in meters
arclen1InMeters = deg2km(arclen_check1) * 1000; % Should be close to "arclen_check2"

More Answers (0)

Categories

Find more on Geodesy and Mapping in Help Center and File Exchange

Products


Release

R2019a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!