Active Topics

 


Reply
Thread Tools
Posts: 13 | Thanked: 14 times | Joined on Aug 2010
#1
I'm developing an app (in python) to display the current position in Ordnance Survey (UK) coordinates, and attach these to notes for wildlife (or other) recordings, as unfortunately I can't find an existing app that displays the location in OS coordinates.

I've got the translation between WGS84 (the GPS output coordinate system) and OSGB36 working, using the published specifications for the OSGN02 transformation on the Ordnance Survey's website.

This works well for converting lat/long to an OSGB grid reference and displaying it on screen.

The altitude, however, is reported by QtMobility (and liblocation) as some height about sea level (as calculated by the GPS), rather than the standard WGS84 ellipsoid height. This means that I can't calculate the altitude in reference to the Ordnance Survey datum, as I don't know what correction the internal GPS has made to obtain its output.


Does anyone know
a) how to get the raw WGS84 ellipsoid height from the GPS
or
b) the exact transformation the GPS makes to this raw height to give its corrected height about sea level?


I realise this is a bit academic, as the altitude is not that accurate anyway, and it is easy enough to look at the Ordnance Survey contour map for the current location (which can be displayed fine in Mappero), but I'd like to do things 'properly'.

Last edited by Dr Random; 2010-09-28 at 09:40.
 
dchky's Avatar
Posts: 549 | Thanked: 299 times | Joined on Jun 2010 @ Australian in the Philippines
#2
It's a bit of a black box - the exact method varies between chipset makers, but the most common in use is probably based on EGM<something>

There is a list of corrections here that might be useful. (it's 5 megabytes give or take)

Also this calculator might be of some use.

Apologies if I'm telling you things you already know though. Without the data sheet it's more or less do the math and figure out the most probable method they used.

Last edited by dchky; 2010-09-28 at 11:30.
 

The Following User Says Thank You to dchky For This Useful Post:
Posts: 13 | Thanked: 14 times | Joined on Aug 2010
#3
Thanks - I hadn't seen those - that's clearly what I need if I have to reverse the internal GPS's calculation. Someone somewhere must know which model the N900 chipset uses!

Getting the raw data (which I think would be part of a NMEA message if available) would be much better, but from what I've read it doesn't sound hopeful on that score.

Last edited by Dr Random; 2010-09-28 at 12:34.
 
javispedro's Avatar
Posts: 2,355 | Thanked: 5,249 times | Joined on Jan 2009 @ Barcelona
#4
Originally Posted by Dr Random View Post
Getting the raw data (which I think would be part of a NMEA message if available) would be much better, but from what I've read it doesn't sound hopeful on that score.
You cannot. The GPS chipset is connected to the baseband instead of the main CPU. The information the CPU gets is basically what is made available through liblocation:

http://maemo.org/api_refs/5.0/5.0-fi...onGPSDeviceFix

Last edited by javispedro; 2010-09-28 at 12:56.
 
Reply


 
Forum Jump


All times are GMT. The time now is 22:55.