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 aseerel4c26 ♦ |
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. answered 26 Apr '15, 10:02 SimonPoole ♦ 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 ♦
|