Hi, I'm trying to create a layer with nodes representing a route. This occurs indoor so there's no GPS info along the way. I have a starting point with its GPS coordinates in OSM. That point corresponds to a cartesian point, say, (0,0). At a few points I calculate the variation of the cartesian coordinates having then several (x1,y1), (x2,y2), etc. points in meters. I'd like to calculate the GPS coordinates of that points knowing that the initial point (0,0) is the initial GPS coordinate.

I've read about haversine formula about how to calculate distances between two GPS coordinates but I don't know how to do the inverse action.

Can anyone shed some light?

asked 25 Apr '15, 14:06

Viper_scull's gravatar image

Viper_scull
11112
accept rate: 0%

edited 26 Apr '15, 18:42

aseerel4c26's gravatar image

aseerel4c26 ♦
32.1k16239551


Well the basic problem is that the world isn't flat.

You need to project your coodinates on a spheroid on to a plane. There are multiple ways to do this as the wikipedia article points out, but I suspect what you would want to use is the mercator projection, likely scaled to whatever you are using as a local grid.

To get the WGS84 (GPS) coordinates back from your cartesian coordinates you have to naturally do the inverse.

permanent link

answered 26 Apr '15, 10:02

SimonPoole's gravatar image

SimonPoole ♦
38.6k13287612
accept rate: 19%

edited 26 Apr '15, 16:25

For indoor mapping of this kind I would find a local co-ordinate system suitable for calculations in Cartesian geometry (such as OSGB (EPSG:27700 for UK) or CH-1903 or CH-1903+(for CH)). This is effectively what @SimonPoole is suggesting.

(26 Apr '15, 15:43) SK53 ♦

@SK53 I suspect this maybe simply an arbitrary grid laid over the floor plan (or screen coordinates for what it is worth).

(26 Apr '15, 15:58) SimonPoole ♦
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×207
×119

question asked: 25 Apr '15, 14:06

question was seen: 4,642 times

last updated: 26 Apr '15, 18:42

powered by OSQA