Current navigation tree: JEBHP 13 >> Earth Offset Calculator

Choose your preferred colorset: | Relative Luminance (for Accessibility):
Version Thirteen

Earth Offset Calculator

Once upon a time, my wife Jennilee was trying to do a problem at work. She had some piece of software that would render a map of a specified point (given by latitude and longitude), and what she needed to do was compute the latitude and longitude for a point that was a specified distance north and a specified distance east of some given point. She was having massive trouble with this, to the point where she was starting here in Champaign and ending up in Indonesia. She showed me the reference she had found, which made no sense to her, and I noticed it was trying to do things that were far more complicated than she had in mind. So after she got home, I chatted with her a bit about it, determined that she wasn't looking at areas of the Earth where the curvature of the Earth was going to be a problem (i.e., fairly small and not too close to the poles), so a quasi-planar model was going to work, and then went on my whiteboard to do a bit of trig.

When I came back, I had formulae for her to try to implement. I also had a utility open on my phone that would draw a circle around a given point. She gave me her starting point, and I drew circles with radius 1000.0m and 1414.2m centered there, so I would know where the point 1km north and 1km east should be. She tested it, and I told her it should be at about Fifth and Healey. Nobody has ever been as happy to be at Fifth and Healey as she was in that moment.

The Model

The model I used for her project has some inaccurate assumptions; I know that, but I did it anyway, because frankly they're not going to affect the answers much. It assumes the Earth is a sphere, which is wrong for two reasons: (1) it's fatter at the equator than at the poles and (2) it has stuff like mountains that make for changes in elevation. I ignored both of these in part because I live in Illinois. It also assumes, and this is more dubious, that a square on the surface of the sphere is the same as a square on a plane. Specifically, it assumes that if you go some distance y north, and then you go some distance x east from there, it's the same as if you first went east and then north, and in turn it's the same as if you went north and sighted a line east, then went back to the start, went east, and sighted a line north, and then went to where the two lines intersect. This really falls apart the closer you get to the poles on Earth, because 1 linear unit east is a lot farther in longitude close to the poles as it is close to the equator. Still, it's good enough for what she was doing, and I can actually compute the amount of error between east-then-north and north-then-east.

Another Model

In addition to Model 1, which is to compute north and east each from the same starting point, and Model 2, which computes east and then computes north from the result (which should be the same) or computes north and then computes east from the result (which is not quite the same), I've come up with a third model. Model 3 looks at the tangent plane to the sphere, decides which directions on that tangent plane represent east and north, finds the new point in the tangent plane, and then projects it back onto the sphere.


As has already been mentioned, Models 1 and 2 perform worse the closer one is to the poles. At the poles, Model 3 fails entirely, because it is impossible to define a direction "east" at the poles. Also, Model 3 fails if the distance is more than a quarter-circumference of the Earth, because the vector for the destination would no longer intersect the tangent plane. It is still possible under that model to compute the (great circle) distance between two points, but it is not possible to compute the bearing or break that into east and north components with the way I have implemented it.

Display preference for latitide/longitude: degrees, minutes, seconds decimal degrees

Starting Location

Latitude: Longitude:


North/South Offset:
East/West Offset:
Computed Total Offset Distance:

Outputs of the Three Models

Model 1/2N Latitude: Model 1/2E Longitude:
Model 2E Latitude: Model 2N Longitude:
Model 3 Latitude: Model 3 Longitude:
Distance between Models 2E and 2N:
Distance between Models 1 and 3:

Ending Location

Latitude: Longitude:
Distance from Start to End:
Heading from Start to End: