Solved

Calculating East/West Latitude/Longitude points that are x miles from a given GPS point

Posted on 2011-09-23
3
694 Views
Last Modified: 2012-05-12
Hello Experts,

I have a GPS point:

51.747724,-0.406958

I want to know what the GPS point is exactly 3 miles east and west of this point.

I've use the formulae to work out the northern position (in PHP):

$lat = 51.747724;
$lng = -0.406958;

$radius_metres = ceil(3 * 1609.344);
$top_lat = $lat + $radius_metres/111111*(cos(10 * pi() / 180));

$north_lat = $top_lat;
$north_lng = $lng;

Open in new window


East point:
$left_lng = $lng - $radius_metres/111111*(cos(10 * pi() / 180));
$east = array($lat,$left_lng);

Open in new window


West point:
$right_lng = $lng + $radius_metres/111111*(cos(10 * pi() / 180));
$west = array($lat,$right_lng);

Open in new window


However, when I use an as-the-crow-files formula, the point is approximately 1.8 miles away
(and not 3 miles)

What is the best way of working out the east and west points.
The maximum distance between my GPS coordinate and these points will be 20 miles (so not a lot).

Many Thanks!
0
Comment
Question by:jagku
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
3 Comments
 
LVL 110

Expert Comment

by:Ray Paseur
ID: 36590494
0
 
LVL 3

Accepted Solution

by:
nrbreen earned 500 total points
ID: 36590940

You aren't taking account of the effect of lattitude on the width of a longitudinal degree,

$longitudinal_distance=3*1609.344;

$lng = -0.406958;
$latitude_degrees=51.747724;
$latitude_radians=$latitude_degrees*pi()/180;

$meridional_radius=6367449;

$longitudinal_delta_degrees =  $longitudinal_distance/(Cos($latitude_radians) * $meridional_radius * Pi() / 180 ) 

$left_lng = $lng - $longitudinal_delta_degrees ;
$east = array($lat,$left_lng);

$right_lng = $lng + $longitudinal_delta_degrees ;
$west = array($lat,$right_lng);

Open in new window

0
 

Author Closing Comment

by:jagku
ID: 36597713
Many Thanks!

I have realised that my formulae for north/south might not work either.
If I can't get it working - I'll post another question.
0

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Generating table dynamically is the most common issue faced by php developers.... So it seems there is a need of an article that explains the basic concept of generating tables dynamically. It just requires a basic knowledge of html and little maths…
These days socially coordinated efforts have turned into a critical requirement for enterprises.
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.

738 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question