summaryrefslogtreecommitdiff
path: root/gpsprof
diff options
context:
space:
mode:
authorGary E. Miller <gem@rellim.com>2016-04-12 19:28:40 -0700
committerGary E. Miller <gem@rellim.com>2016-04-12 19:28:40 -0700
commit30b68f054913c4c17a5591c7d896b9be73a4107b (patch)
treefc27476fd4a1613b496b8358b25e1bacf822bf12 /gpsprof
parent6323959a95c6d66d8d6514d1ba1495d3559aa138 (diff)
downloadgpsd-30b68f054913c4c17a5591c7d896b9be73a4107b.tar.gz
Plot to %.3f meters.
This is in preparation for cm-level accuracy.
Diffstat (limited to 'gpsprof')
-rwxr-xr-xgpsprof29
1 files changed, 16 insertions, 13 deletions
diff --git a/gpsprof b/gpsprof
index d0aad600..1f1b29c0 100755
--- a/gpsprof
+++ b/gpsprof
@@ -196,7 +196,7 @@ class spaceplot(plotter):
for i in range(len(self.recentered)):
(lat, lon) = self.recentered[i][:2]
(raw1, raw2, alt) = self.fixes[i]
- res += "%f\t%f\t%f\t%f\t%f\n" % (lat, lon, raw1, raw2, alt)
+ res += "%.7f\t%.7f\t%.7f\t%.7f\t%.7f\n" % (lat, lon, raw1, raw2, alt)
return res
def plot(self):
@@ -226,18 +226,20 @@ class spaceplot(plotter):
alt_fixes.sort(key=lambda a: abs(alt_avg - a))
alt_ep = abs(alt_fixes[len(alt_fixes) // 2] - alt_avg)
if self.centroid[0] < 0:
- latstring = "%fS" % -self.centroid[0]
+ latstring = "%.7fS" % -self.centroid[0]
elif self.centroid[0] == 0:
latstring = "0"
else:
- latstring = "%fN" % self.centroid[0]
+ latstring = "%.7fN" % self.centroid[0]
if self.centroid[1] < 0:
- lonstring = "%fW" % -self.centroid[1]
+ lonstring = "%.7fW" % -self.centroid[1]
elif self.centroid[1] == 0:
lonstring = "0"
else:
- lonstring = "%fE" % self.centroid[1]
+ lonstring = "%.7fE" % self.centroid[1]
fmt = "set autoscale\n"
+ fmt += "set format x \"%.3f\"\n"
+ fmt += "set format y \"%.3f\"\n"
fmt += 'set key below\n'
fmt += 'set key title "%s"\n' % gps.misc.isotime(int(time.time()))
fmt += 'set size ratio -1\n'
@@ -247,12 +249,13 @@ class spaceplot(plotter):
fmt += 'set ylabel "Meters north from %s"\n' % latstring
fmt += 'set border 15\n'
if not gps.isnan(alt_avg):
- fmt += 'set y2label "Meters Altitude from %f"\n' % alt_avg
+ fmt += 'set y2label "Meters Altitude from %.3f"\n' % alt_avg
fmt += 'set ytics nomirror\n'
fmt += 'set y2tics\n'
- fmt += 'cep=%f\n' % self.d((0, 0), self.recentered[len(self.fixes) // 2])
- fmt += 'cep95=%f\n' % self.d((0, 0), self.recentered[int(len(self.fixes) * 0.95)])
- fmt += 'cep99=%f\n' % self.d((0, 0), self.recentered[int(len(self.fixes) * 0.99)])
+ fmt += "set format y2 \"%.3f\"\n"
+ fmt += 'cep=%.7f\n' % self.d((0, 0), self.recentered[len(self.fixes) // 2])
+ fmt += 'cep95=%.7f\n' % self.d((0, 0), self.recentered[int(len(self.fixes) * 0.95)])
+ fmt += 'cep99=%.7f\n' % self.d((0, 0), self.recentered[int(len(self.fixes) * 0.99)])
fmt += 'set parametric\n'
fmt += 'set trange [0:2*pi]\n'
fmt += 'cx(t, r) = sin(t)*r\n'
@@ -266,10 +269,10 @@ class spaceplot(plotter):
plot_style = 'points'
fmt += 'plot "-" using 1:2 with ' + plot_style + ' ls 3 title "%d GPS fixes" ' % (len(self.fixes))
if not gps.isnan(alt_avg):
- fmt += ', "-" using ( %f ):($5 < 100000 ? $5 - %f : 1/0) axes x1y2 with %s ls 2 title " %d Altitude fixes, Average = %f, EP (50%%) = %f"' % (lon_max + 1, alt_avg, plot_style, alt_num, alt_avg, alt_ep)
- fmt += ', cx(t, cep),cy(t, cep) ls 1 title "CEP (50%%) = %f meters"' % (cep_meters)
- fmt += ', cx(t, cep95),cy(t, cep95) title "CEP (95%%) = %f meters"' % (cep95_meters)
- fmt += ', cx(t, cep99),cy(t, cep99) title "CEP (99%%) = %f meters"' % (cep99_meters)
+ fmt += ', "-" using ( %.3f ):($5 < 100000 ? $5 - %.3f : 1/0) axes x1y2 with %s ls 2 title " %d Altitude fixes, Average = %.3f, EP (50%%) = %.3f"' % (lon_max + 1, alt_avg, plot_style, alt_num, alt_avg, alt_ep)
+ fmt += ', cx(t, cep),cy(t, cep) ls 1 title "CEP (50%%) = %.3f meters"' % (cep_meters)
+ fmt += ', cx(t, cep95),cy(t, cep95) title "CEP (95%%) = %.3f meters"' % (cep95_meters)
+ fmt += ', cx(t, cep99),cy(t, cep99) title "CEP (99%%) = %.3f meters"' % (cep99_meters)
fmt += "\n"
fmt += self.header()
fmt += self.data()