how to get horizontal coordinates a few mile from given coordinates?
2 次查看(过去 30 天)
显示 更早的评论
hello! I'm trying to find the coordinates a few miles horizontally away from given coordinates.
It's like find (38, y) which is 5 nm right side of (38, 125).
I tried drawing 5nm radius circle from (38,125) with scircle1, but as the circle is comprised of
given points. It;s hard to get exact 38.
Is there any trick to find exact coordinates?
3 个评论
采纳的回答
William Rose
2021-2-26
I assume that 38,135 are the latitude and longitude of the center, and that you want the latitude and longitude for a point on a circle of radius 5 nm about that center. Let d=circle radius, R=Earth radius (same units as d), δ=d/R, ()=latitude, longitude of center, and ()=latitude, longitude of points on the circle. Then
If the distance d is small compared to the Earth radius R, then the following approximation (flat-Earth approximation) is quite accurate:
2 个评论
William Rose
2021-2-26
For a 5 n.mi. circle at 38 degrees latitude, the positions by flat Earth approximation differ from the true great circle by 2 meters or less, i.e. radial error is < (1/4500)*circle radius.
更多回答(1 个)
William Rose
2021-2-27
d=5 n.mi., R=earth radius=3440.1 n.mi, =30, =124, =30, δ=d/R.
So the code is
>> d=5; R=3440.1; lat0=30*pi/180; latc=30*pi/180; long0=124*pi/180;
>> longc=long0+sqrt((d/R)^2-(latc-lat0)^2)/cos(lat0);
>> longc=longc*180/pi; fprintf('%.7f\n',longc);
124.0961592
Which is the longitude on the 5 mile circle, at latc=30.00000 degrees.
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!