====== 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...