[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Unclear about dgps precision?
From: |
Gary E. Miller |
Subject: |
Re: Unclear about dgps precision? |
Date: |
Fri, 29 Mar 2024 13:52:21 -0700 |
Yo M!
On Fri, 29 Mar 2024 10:05:59 +0000 (UTC)
M de Luis <gimme_the_giffs@yahoo.com> wrote:
> I'm really not understanding the JSON position output of dspd,
It is decribed in "man gpsd_json". But it is simple.
The NMEA is less simple:
$GPRMC,095535.00,A,4502.23935,S,12753.35213,E,0.284,,290454,,,A*6A
That is in DDMM.MMMM. So:
Latitude: 45"02.23935' S
Longitude: 127"53.35213' E
What are you doing in the Indian Ocean south of Australia?
> and
> why it seems so unexpectedly stable, given that the ublox GPS output
> varies randomly within a several metre bound.
4 seconds of data tells me little. But I can show you hw to decode
a single message. I put one message in a file (tmp.josn). Like this;
$ cat tmp.json
{"class":"TPV","device":"/dev/ttyUSB0","mode":3,"time":"2024-03-29T09:44:53.000Z","leapseconds":18,"ept":0.005,"lat":-45.037311667,"lon":127.889237333,"altHAE":-17.7000,"altMSL":13.0000,"alt":13.0000,"epx":11.661,"epy":14.897,"epv":46.690,"magvar":-1.9,"speed":0.150,"climb":0.000,"eps":0.93,"epc":93.38,"ecefx":-2362992.11,"ecefy":4868718.27,"ecefz":-3363929.13,"ecefvx":-0.07,"ecefvy":-0.14,"ecefvz":-0.14,"ecefpAcc":15.26,"ecefvAcc":0.93,"geoidSep":-30.700,"eph":23.560,"sep":45.220}
S jq -s < tmp.json
[
{
"class": "TPV",
"device": "/dev/ttyUSB0",
"mode": 3,
"time": "2024-03-29T09:44:53.000Z",
"leapseconds": 18,
"ept": 0.005,
"lat": -45.037311667,
"lon": 127.889237333,
"altHAE": -17.7000,
"altMSL": 13.0000,
"alt": 13.0000,
"epx": 11.661,
"epy": 14.897,
"epv": 46.690,
"magvar": -1.9,
"speed": 0.150,
"climb": 0.000,
"eps": 0.93,
"epc": 93.38,
"ecefx": -2362992.11,
"ecefy": 4868718.27,
"ecefz": -3363929.13,
"ecefvx": -0.07,
"ecefvy": -0.14,
"ecefvz": -0.14,
"ecefpAcc": 15.26,
"ecefvAcc": 0.93,
"geoidSep": -30.700,
"eph": 23.560,
"sep": 45.220
}
]
From that, and after reading "man gpsd_json", you can find your latitude and
longitude, which are in decimal degrees:
"lat": -45.037311667,
"lon": 127.889237333,
If you look at "GPSD Numbers Matter":
https://gpsd.io/gpsd-numbers-matter.html
You see 9 digits after the decimal point of degrees and the precision is
111 µm
Compare that to the NMEA:
Latitude: 45"02.23935' S
Longitude: 127"53.35213' E
5 digits after the minutes decimal ppoint, and the precision is 111.319
mm.
So the JSON is 1,000 times more precise than the NMEA 0183. One would expect
the JSON to jump more than the NMEA.
Did you capture the NMEA while gpsd was running?
More interesting, your "expected" errors in latitude, longitude, and altitude,
in meters, are:
"epx": 11.661,
"epy": 14.897,
"epv": 46.690,
Sadly, SiRF does not tell us if you can expect that 50% of the time,
one sigma, 95%, two sigma, over minutes, hours or days.
I am still mystified at how you get anything from gpsd when you specify
no input socket or serial port to gpsd! And how do you live in the ocean
south of Australia?
RGDS
GARY
---------------------------------------------------------------------------
Gary E. Miller Rellim 109 NW Wilmington Ave., Suite E, Bend, OR 97703
gem@rellim.com Tel:+1 541 382 8588
Veritas liberabit vos. -- Quid est veritas?
"If you can't measure it, you can't improve it." - Lord Kelvin
pgpglROt72Uxq.pgp
Description: OpenPGP digital signature