Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

GPS coordinates: 1km square around a point

I was hoping someone out there could provide me with an equation to calculate a 1km square (X from a.aaa to b.bbb, Y from c.ccc to c.ccc) around a given point, say lat = 53.38292839 and lon = -6.1843984? I'll also need 2km, 5km and 10km squares around a point.

I've tried googling around to no avail... It's late at night and was hoping someone might have quick fix handy before I delve into the trigonometry...

I'll be running all this in Javascript, although any language is fine.

like image 431
Eamorr Avatar asked Oct 22 '10 20:10

Eamorr


People also ask

How precise can GPS coordinates be?

The government provides the GPS signal in space with a global average user range rate error (URRE) of ≤0.006 m/sec over any 3-second interval, with 95% probability.

What is the best GPS for coordinates?

1. Google Maps. For Android users, Google Maps is the simplest way to either enter latitude and longitude coordinates or to find out your current coordinates.

How do you convert latitude and longitude to meters?

Multiply the degrees of separation of longitude and latitude by 111,139 to get the corresponding linear distances in meters.


2 Answers

If the world were a perfect sphere, according to basic trigonometry...

Degrees of latitude have the same linear distance anywhere in the world, because all lines of latitude are the same size. So 1 degree of latitude is equal to 1/360th of the circumference of the Earth, which is 1/360th of 40,075 km.

The length of a lines of longitude depends on the latitude. The line of longitude at latitude l will be cos(l)*40,075 km. One degree of longitude will be 1/360th of that.

So you can work backwards from that. Assuming you want something very close to one square kilometre, you'll want 1 * (360/40075) = 0.008983 degrees of latitude.

At your example latitude of 53.38292839, the line of longitude will be cos(53.38292839)*40075 = [approx] 23903.297 km long. So 1 km is 1 * (360/23903.297) = 0.015060 degrees.

In reality the Earth isn't a perfect sphere, it's fatter at the equator. And the above gives a really good answer for most of the useful area of the world, but is prone to go a little odd near the poles (where rectangles in long/lat stop looking anything like rectangles on the globe). If you were on the equator, for example, the hypothetical line of longitude is 0 km long. So how you'd deal with a need to count degrees on that will depend on why you want the numbers.

like image 72
Tommy Avatar answered Oct 04 '22 17:10

Tommy


Here is something from my notes to be used on Android with its decimal GPS.

Lat Long: NY City 40N 47 73W 58 40.783333 73.966667

Wash DC 38N 53 77W 02 38.883333 77.033333

yields = 209 miles !! VERY CLOSE

Distance (miles) (x) = 69.1 (lat2-lat1) Distance(miles) (y) = 53.0 (long2 - long1) As crow flys sqrt (x2 + y2) ... duh!@

delta(LAT) / Mile = .014472 delta(LONG) / Mile = .018519

Using a box as approximation To find someone within 100 miles (100 north / 100 south, 100 E / 100 W) From 0,0 -14.472 / + 14.472 , -18.519 / 18.519

like image 45
Jim Avatar answered Oct 04 '22 17:10

Jim