I'm writing an app (both android and ios) that rely highly on the precision but not accuracy of user's altitude. This means that I'd just like to make sure that whatever device would read the same i.e. consistent altitude values (be it from ellipsoid or sealevel or any fixed layer around the Earth) at one certain horizontal position at any time. I read some articles claiming that the error for altitude readings from GPS is +/-15 meters 95% (and the other 5% even worse i.e. out of range). This has made me realize that it's not a trivial task at all.
I've heard that android and ios devices both use barometers to convert the altitude, and I also find values of altitude from GPS readouts. Some even say there are also readouts from/calculated by mobile towers. But while programming, I'm only familiar with the final converted 3-tuple values of altitude, longitude and latitude.
In any case, I guess I'd need to rule out the barometer one because the air pressure may change over time, yet I'm not sure about the GPS one, especially since to my knowledge, one cannot get raw GPS readouts but instead only converted ones (and that even in different ways). I know nothing about functions to get the values calculated by mobile towers (if ever possible) either.
So could someone explain to me whether it's feasible with those converted values and if yes, which values I should consider?
PS: also, the longitude and latitude don't need to be accurate either but just precise. So is it true that ideally, I would just need the very raw readings from GPS satellites, which in reality isn't possible on either Android or iOS devices?
Thanks in advance!