====== all data ======
{{:summit:summitlogs.zip|}}
====== dark heart of codeness .walk (Tue 3rd August) ======
{{:summit:dotwalk.png|}}
Plot of spatial co-ordinates (GPS), and wide-band signal intensity from Ryan Jordan's excursion during Wilfried's [[summit:dark_heart_of_codeness_a_.walk|Dark Heart of Codeness]] walk. Image created using Python and gnuplot.
{{:summit:dot1google.png|}}
The same using google maps with thanks to [[http://www.gpsvisualizer.com/]]
{{:summit:joined.png|}}
And using viking with the gpx file (converted by [[http://www.gpsvisualizer.com/]])
{{:summit:darkgps.jpg|}}
And logged (Martin Howse excursion) on Garmin GPS.
====== dark heart of codeness finale (Friday 6th August) ======
{{:summit:finale.png|}}
Measurement of white noise generator intensity in the dark heart (point hill) - Tuesday 3rd (6PM) until Friday 6th (2PM) = 68 hours.
====== Tyburn self-execution (Thursday 5th) ======
{{:summit:tyburn1.png|}}
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.
{{:summit:tyburn1google.png|}}
Another dark heart (same data set) in Connaught Square (colour as signal intensity).
{{:summit:tyburnrf.png|}}
And from Viking render.
{{:summit:tyburn2google.png|}}
And with GSR colourised!
{{:summit:tyburngsr.png|}}
And from Viking render.
{{:summit:tyburn2.png|}}
Plot of spatial co-ordinates (GPS), and wide-band signal intensity from mini-scry GPS device.
{{:summit:tyburn3google.png|}}
As above.
{{:summit:tyburnother.png|}}
And from Viking render.
{{:summit:tyburngps.jpg|}}
And from Garmin GPS.
====== SPACE magnetic field (Wednesday 4th -> Sunday 8th) ======
{{:summit:magnet.png|}}
Sampling from FGM-3 magnet sensor (but results are not as expected - sensor and measurement must be re-tested)!
====== Underwater scry Friday 6th ======
{{:summit:river2.png|}}
{{:summit:river.jpg|}}
{{:summit:rivergps.jpg|}}
And river walk Garmin GPS
====== executed/scryed site of cross bone Saturday 7th ======
{{:summit:bonegps.jpg|}}
Garmin GPS only.
====== code/HOWTO/notes ======
Notes: Still not sure about EW orientation and meter marking!
===== Code =====
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...