1GPSRINEX(1)                   GPSD Documentation                   GPSRINEX(1)
2
3
4

NAME

6       gpsrinex - Read data from gpsd convert to RINEX3 and save to a file.
7

SYNOPSIS

9       gpsrinex [OPTIONS] [server[:port[:device]]]
10
11       gpsrinex -h
12
13       gpsrinex -V
14

DESCRIPTION

16       gpsrinex is a tool to connect to gpsd and output the received raw
17       measurements as a RINEX 3 observation file. This is useful for sending
18       raw measurements (pseudorange and carrierphase) from gpsd to a Precise
19       Point Positioning (PPP) program or service.
20
21       gpsrinex does not require root privileges, but may be run as root. Some
22       of the examples in this file may not work when run under sudo. It can
23       be run concurrently with other tools connecting to a local or remote
24       gpsd without causing problems.
25
26       gpsrinex needs the GNSS receiver to be sending raw measurements to
27       gpsd. Only a few GNSS have this capability. In addition, the gpsd
28       driver for that GNSS must support raw mode. Currently only the u-blox
29       driver has this support. Only a few u-blox 8 and 9 receivers implement
30       the required UBX-RXM-RAWX message. The NEO-M8T is known to work, but
31       requires configuration with ubxtool.
32
33       Before using ubxtool be sure to set the UBXOPTS environment variable
34       with the correct protocol version for your u-blox receiver. If your
35       protocol version is 32.00, you would do this:
36
37           export UBXOPTS="-P 32.00"
38
39       RINEX has its own definitions and abbreviations. Be sure to consult
40       their documentation. An observation file (.obs) contains data sets,
41       called epochs, that contain the pseudorange and carrierphase for each
42       satellite seen.
43
44       gpsrinex by default will acquire 20 epochs spaced apart by 30 seconds.
45       That will take 10 minutes to complete. Most users consider the 30
46       second interval to be optimal. Many PPP programs require at least 1 or
47       2 hours data, but no more than 24 or 48 hours of data. Most users
48       consider 4 to 6 hours of data as a minimum for good accuracy.
49       Additional hours will not yield much improvement.
50
51       The output will consist of one RINEX 3 observation file that is ready
52       to be read by your PPP program. The default filename will be in the
53       form: gpsrinex.obs. You can override this filename with the -f option.
54
55       Optionally a server, TCP/IP port number and remote device can be given.
56       If omitted, gpsrinex connects to localhost on the default port (2947)
57       and watches all devices opened by gpsd.
58

OPTIONS

60       -?, -h, --help
61           Print a usage message and exit.
62
63       -D LVL, -debug LVL
64           Set debug level to LVL.
65
66       -f FILE, --fileout FILE
67           save RINEX into FILE.
68
69       -i SECS, --interval SECS
70           wait [interval] seconds between epochs. The interval can be
71           specified to the millisecond. OPUS accepts intervals of 1, 2, 3, 5,
72           10, 15 or,30 seconds. OPUS then reduces the data to 30 second
73           intervals. Default is 30.000.
74
75       -n COUNT, --count COUNT
76           Causes COUNT epochs to be output. OPUS requires a minimum af 15
77           minutes, and a maximum of 48 hours, of data.
78
79       -V, --version
80           makes gpsrinex print its version and exit.
81
82       The following options set strings that are placed in the generated
83       RINEX 3 obs file. They do not change how gpsrinex computes anything.
84
85       --agency AGENCY
86           The name of the agency creating the current file.
87
88       --ant_num NUMBER
89           The antenna serial number.
90
91       --ant_type TYPE
92           The antenna type.
93
94       --marker_name NAME
95           The marker name.
96
97       --marker_type TYPE
98           The marker type
99
100       --observer OBSERVER
101           The name of the observer (you).
102
103       --rec_num NUM
104           The receiver serial number.
105
106       --rec_type TYPE
107           The receiver type.
108
109       --rec_vers VERS
110           The receiver version.
111
112       The following options set floating point numbers that are placed in the
113       generated RINEX 3 obs file. They do not change how gpsrinex computes
114       anything.
115
116       --ant_e EASTING
117           The antenna easting from marker in meters.
118
119       --ant_h HEIGHT
120           The antenna height from marker in meters.
121
122       --ant_n NORTHING
123           The antenna northing from marker in meters.
124

ARGUMENTS

126       By default, clients collect data from the local gpsd daemon running on
127       localhost, using the default GPSD port 2947. The optional argument to
128       any client may override this behavior: [server[:port[:device]]]
129
130       For further explanation, and examples, see the ARGUMENTS section in the
131       gps(1) man page
132

EXAMPLES

134       Example 1:
135
136       Create a 4 hour .obs file. With a running gpsd accessible on the
137       localhost do all of the following, in order. Order matters.
138
139       The raw measurement messages are long. Be sure your serial port speed
140       is high enough:
141
142           gpsctl -s 115200
143
144       Disable all NMEA messages, and enable binary messages:
145
146           ubxtool -d NMEA
147           ubxtool -e BINARY
148
149       The NEO-M8N will only reliably output raw measurements when only the
150       GPS and QZSS constellations are enabled. If your PPP service can use
151       GLONASS, then enable that as well. Be sure to disable, before enable,
152       so as not to momentarily have too many constellations selected.
153       ubxtool, as recommended by u-blox, enables the QZSS constellation in
154       tandem with GPS. Disable all constellations, except GPS (and QZSS):
155
156           ubxtool -d BEIDOU
157           ubxtool -d GALILEO
158           ubxtool -d GLONASS
159           ubxtool -d SBAS
160           ubxtool -e GPS
161
162       Verify the constellations enabled:
163
164           ubxtool -p CFG-GNSS
165
166       Enable the good stuff, the raw measurement messages:
167
168           ubxtool -e RAWX
169
170       Verify raw data messages are being sent:
171
172           ubxtool | fgrep RAWX
173
174       You should see this output:
175
176           UBX-RXM-RAWX:
177           UBX-RXM-RAWX:
178
179       Collect 4 hours of samples at 30 second intervals, save the RINEX 3
180       observations in the file today.obs:
181
182           gpsrinex -i 30 -n 480 -f today.obs
183
184       Wait 4 hours. Enjoy a meal, or do some exercise. When gpsrinex
185       finishes, upload the file today.obs to your favorite PPP service.
186
187       Example 2:
188
189       Collect raw measurement data from a remote gpsd. Then process it later
190       with gpsrinex and gpsprof.
191
192       Ensure the receiver is configured properly, as shown in Example 1.
193
194       Grab 4 hours of raw live data from remote gpsd at 10.168.1.2:
195
196           gpspipe -x 14400 -R 10.168.1.2 > 4h-raw.ubx
197
198       When gpspipe is complete, feed the data to gpsfake:
199
200           gpsfake -1 -P 3000 4h-raw.ubx
201
202       In another window, feed the data to gpsrinex. Use -n 10000000 so that
203       all the data from the raw file is used:
204
205           gpsrinex -i 30 -n 1000000 :3000
206
207       Repeat the process with gpsfake to send the data to gpsprof.
208

RETURN VALUES

210       0
211           on success.
212
213       1
214           on failure
215

SEE ALSO

217       One service known to work with gbsrinex output is at:
218       https://webapp.geod.nrcan.gc.ca/geod/tools-outils/ppp.php
219
220       OPUS requires 2 frequency observation files.
221       https://www.ngs.noaa.gov/OPUS/
222
223       The curious can find the RINEX 3.04 format described here:
224       ftp://igs.org/pub/data/format/rinex304.pdf
225
226       gpsd(8), gps(1), gpsprof(1), gpsfake(1). ubxtool(1)
227

RESOURCES

229       Project web site: https://gpsd.io/
230

COPYING

232       This file is Copyright 2013 by the GPSD project
233       SPDX-License-Identifier: BSD-2-clause
234

AUTHOR

236       Gary E. Miller
237
238
239
240GPSD, Version 3.23.1              2021-09-03                       GPSRINEX(1)
Impressum