2
$\begingroup$

What is the easiest way to add a set number of nautical miles to a known latitude and longitude? I am writing a program in C# that takes a point of origin in decimal notation:

33.4483333, -112.0733333 (Phoenix, AZ)

What I want to to is draw a "box" around that point simulating a sort of "square radius". So if I want a 100 mile radius, I convert 100 statue miles to nautical miles, divide by 2 and add/subtract that value from the point of origin to get the upper, lower, left and right coordinates that form a box where each side is 50 statue miles from the center.

What's the easiest way to achieve this? Right now I'm converting latitude and longitude to degrees, minutes and seconds, and doing some manual calculations to determine how to adjust degrees and minutes to arrive at my desired coordinates, then converting back to decimal notation.

Is there a simpler way like converting DISTANCE (i.e. a certain number of nautical miles) into decimal notation so I can just add/subtract two decimal numbers or is what I'm doing the simplest way to achieve my desired results?

$\endgroup$
1
$\begingroup$

Answered my own question...

One degree of latitude/longitude = ~69 statute miles.

conversionFactor = distance / 69

minimumLatitude = originalLatitude - conversionFactor

maximumLatitude = originalLatitude + conversionFactor

minimumLongitude = originalLongitude - converstionFactor

maximumLongitude = originalLongitude + converstionFactor

$\endgroup$
3
  • 1
    $\begingroup$ You are wrong by a factor of 60. 1 nautical mile is 1.852 km or about 1.15 miles (not 69 miles). It is close to 1 minute of latitude (not degree). Except at the equator, it is not close to 1 minute of longitude: you need to adjust by the cosine of the longitude. $\endgroup$ – Henry Apr 1 '11 at 23:28
  • $\begingroup$ Whoops, I actually meant to say one DEGREE = 69 statute miles, not 1 mile = 69 miles. Post corrected, thanks for pointing out the typo. $\endgroup$ – Scott Apr 2 '11 at 0:40
  • 1
    $\begingroup$ You still missed the point about one degree of longitude only being 69 miles at the equator. It is about $69\cos$(latitude) miles. $\endgroup$ – Ross Millikan Apr 2 '11 at 1:49
1
$\begingroup$

First convert latitude and longitude to UTM using an ellipsoidal model such as WGS84. Within a particular zone, UTM is a cartesian coordinate system so you can easily test if a point lies within a bounding box or even a circle. Dealing with zone boundaries is more complicated.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.