Plot of spatial co-ordinates (GPS), and wide-band signal intensity from Ryan Jordan's excursion during Wilfried's Dark Heart of Codeness walk. Image created using Python and gnuplot.
The same using google maps with thanks to http://www.gpsvisualizer.com/
And using viking with the gpx file (converted by http://www.gpsvisualizer.com/)
And logged (Martin Howse excursion) on Garmin GPS.
Measurement of white noise generator intensity in the dark heart (point hill) - Tuesday 3rd (6PM) until Friday 6th (2PM) = 68 hours.
Plot of spatial co-ordinates (GPS), wide-band signal intensity and GSR (Galvanic Skin Response) of xname during the self-execution walk in Tyburn. Image created using Python and gnuplot.
Another dark heart (same data set) in Connaught Square (colour as signal intensity).
And from Viking render.
And with GSR colourised!
And from Viking render.
Plot of spatial co-ordinates (GPS), and wide-band signal intensity from mini-scry GPS device.
As above.
And from Viking render.
And from Garmin GPS.
Sampling from FGM-3 magnet sensor (but results are not as expected - sensor and measurement must be re-tested)!
Notes: Still not sure about EW orientation and meter marking!
With credits to: Beginning-Python-Visualization: http://github.com/freephys/Beginning-Python-Visualization
from pylab import * import csv, os, Gnuplot, Gnuplot.funcutils g = Gnuplot.Gnuplot(debug=1) NMI = 1852.0 D2R = pi/180.0 #data = sys.argv[1] #title = sys.argv[2] def read_csv_file(filename): data = [] for row in csv.reader(open(filename)): data.append(row) return data def process_gps_data(data): latitude = [] longitude = [] intensity = [] gsr = [] for row in data: latitude.append(float(row[0][0:2]) + \ float(row[0][2:])/60.0) longitude.append((float(row[1][0:3]) + \ float(row[1][3:])/60.0)) intensity.append(float(row[2])) # gsr.append(float(row[3])) # return (array(latitude), array(longitude), \ # array(intensity), array(gsr)) return (array(latitude), array(longitude), \ array(intensity)) y=read_csv_file('/root/projects/summit/logfiles/riverwalk_short') #(lat, long, intensity, gsr) = process_gps_data(y) (lat, long, intensity) = process_gps_data(y) # translate spherical coordinates to Cartesian py = (lat-min(lat))*NMI*60.0 px = (long-min(long))*NMI*60.0*cos(D2R*lat) newgsr=((gsr-min(gsr))*10.0)+500 #pack px, py, intensity and gsr into newy newy=[] for x,yz,z,zz in zip(px,py,intensity,newgsr): newy.append((x,yz,z,zz)) g('set parametric') g('set style data line') g('set surface') g('unset key') g('unset contour') g('set dgrid3d 40,40,10') g('set xlabel "metres EW"') g('set ylabel "metres SN"') g('set label "signal intensity"at -100,0,1000') g('set view 60,20') g.title("underwater friday 6th") g('set term png size 1200,800') g('set output "/root/projects/summit/logfiles/images/river2.png"') #g.splot(Gnuplot.Data(newy, using=(1,2,3), with='lines'),Gnuplot.Data(newy, using=(1,2,4), with='lines')) g.splot(Gnuplot.Data(newy, using=(1,2,3), with='lines'))
And Emacs Lisp to convert from scrying logfile (stripped down NMEA) to decimal (fixed 15.03.2011):
(defun nmeatodec() (interactive) (goto-char (point-min)) (while (re-search-forward "^[0-9]" nil t) ;; find lat, insert dec point, divide 60, insert (forward-char 1) (insert ".") ;; remove next . (re-search-forward "\\." nil t) (delete-char -1) ;; grab region and /60. (setq pnt (- (point) 2)) (re-search-forward "," nil t) (setq decstring (buffer-substring pnt (- (match-end 0) 1))) (setq dec (/ (string-to-number decstring) 60)) ;; kill and insert (kill-region pnt (- (match-end 0) 1)) (goto-char pnt) (insert (number-to-string dec)) (re-search-forward "," nil t) (forward-char 3) (insert ".") ;; remove next . (re-search-forward "\\." nil t) (delete-char -1) ;; same again (setq pnt (- (point) 2)) (re-search-forward "," nil t) (setq decstring (buffer-substring pnt (- (match-end 0) 1))) (setq dec (/ (string-to-number decstring) 60.0)) ;; now get rid of . (kill-region pnt (- (match-end 0) 1)) (goto-char pnt) (insert (number-to-string dec)) (re-search-backward "\\." nil t) (delete-char 1) (forward-line 1) (beginning-of-line)))
which we can use with:
gpsbabel -t -i unicsv -f testlog -o gpx -F test.gpx
and then import into, say, viking…