`distance` function doesn't work for ellipsoid

조회 수: 2 (최근 30일)
Ray Lee
Ray Lee 2016년 10월 12일
답변: Ray Lee 2016년 10월 12일
e_84 = referenceEllipsoid('wgs84');
[d_84, b_84] = distance([1,2], [30,90], e_84);
throw
Error using /
Matrix dimensions must agree.
Error in geodesicinv>gpnloa (line 361)
cons = (pi - dlon)/(pi*flat);
Error in geodesicinv>gpnhri (line 215)
[az1(q11),az2(q11),sms] = gpnloa(dlon(q11),ellipsoid);
Error in geodesicinv (line 59)
[faz, baz, s] = gpnhri(phi1, lambda1, phi2, lambda2, ellipsoid);
Error in distance (line 113)
[rng(q),az(q)] = geodesicinv(lat1(q), lon1(q), lat2(q), lon2(q), ellipsoid);

채택된 답변

Ray Lee
Ray Lee 2016년 10월 12일
I found that it's a bug in
.../toolbox/map/map/private/geodesicinv.m
Two places of
flat = ecc2flat(ellipsoid);
should be changed to
flat = ecc2flat(ellipsoid(2));

추가 답변 (0개)

Community Treasure Hunt

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

Start Hunting!

Translated by