gpsd-users
[Top][All Lists]
Advanced

[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

Attachment: pgpglROt72Uxq.pgp
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]