gooby 1.2.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (257) hide show
  1. data/README +133 -341
  2. data/config/ballantyne.yaml +11 -0
  3. data/config/big_sur_marathon.yaml +11 -0
  4. data/config/crowders_mtn_hike.yaml +11 -0
  5. data/config/davidson1.yaml +16 -0
  6. data/config/gooby_config.yaml +28 -135
  7. data/cucumber.yml +1 -0
  8. data/features/build_gem.feature +88 -0
  9. data/features/gooby.feature +300 -0
  10. data/features/install.feature +78 -0
  11. data/features/steps/gooby_steps.rb +245 -0
  12. data/features/support/env.rb +4 -0
  13. data/lib/gooby.rb +24 -30
  14. data/lib/gooby_activity.rb +63 -0
  15. data/lib/gooby_base_object.rb +46 -0
  16. data/lib/gooby_base_sax_parser.rb +95 -0
  17. data/lib/gooby_configuration.rb +33 -115
  18. data/lib/gooby_counter_hash.rb +28 -87
  19. data/lib/gooby_dttm.rb +88 -66
  20. data/lib/gooby_environment.rb +48 -0
  21. data/lib/gooby_garmin_tcx_parser.rb +92 -0
  22. data/lib/gooby_google_kml_generator.rb +168 -0
  23. data/lib/gooby_google_map_generator.rb +284 -349
  24. data/lib/gooby_gpx_parser.rb +97 -0
  25. data/lib/gooby_help_producer.rb +40 -0
  26. data/lib/gooby_introspection.rb +25 -0
  27. data/lib/gooby_io.rb +30 -0
  28. data/lib/gooby_lap.rb +27 -18
  29. data/lib/gooby_process.rb +281 -0
  30. data/lib/gooby_sax_path_parser.rb +43 -0
  31. data/lib/gooby_tcx_extractor.rb +71 -0
  32. data/lib/gooby_track_log_parser.rb +114 -0
  33. data/lib/gooby_trackpoint.rb +276 -0
  34. data/lib/gooby_xml_object.rb +40 -0
  35. data/{img/gicons → out/images}/blank.png +0 -0
  36. data/{img/gicons → out/images}/dd-end.png +0 -0
  37. data/{img/gicons → out/images}/dd-start.png +0 -0
  38. data/{img/gicons → out/images}/marker.png +0 -0
  39. data/{img/gicons → out/images}/marker0.png +0 -0
  40. data/{img/gicons → out/images}/marker00.png +0 -0
  41. data/{img/gicons → out/images}/marker01.png +0 -0
  42. data/{img/gicons → out/images}/marker02.png +0 -0
  43. data/{img/gicons → out/images}/marker03.png +0 -0
  44. data/{img/gicons → out/images}/marker04.png +0 -0
  45. data/{img/gicons → out/images}/marker05.png +0 -0
  46. data/{img/gicons → out/images}/marker06.png +0 -0
  47. data/{img/gicons → out/images}/marker07.png +0 -0
  48. data/{img/gicons → out/images}/marker08.png +0 -0
  49. data/{img/gicons → out/images}/marker09.png +0 -0
  50. data/{img/gicons → out/images}/marker1.png +0 -0
  51. data/{img/gicons → out/images}/marker10.png +0 -0
  52. data/{img/gicons → out/images}/marker11.png +0 -0
  53. data/{img/gicons → out/images}/marker12.png +0 -0
  54. data/{img/gicons → out/images}/marker13.png +0 -0
  55. data/{img/gicons → out/images}/marker14.png +0 -0
  56. data/{img/gicons → out/images}/marker15.png +0 -0
  57. data/{img/gicons → out/images}/marker16.png +0 -0
  58. data/{img/gicons → out/images}/marker17.png +0 -0
  59. data/{img/gicons → out/images}/marker18.png +0 -0
  60. data/{img/gicons → out/images}/marker19.png +0 -0
  61. data/{img/gicons → out/images}/marker2.png +0 -0
  62. data/{img/gicons → out/images}/marker20.png +0 -0
  63. data/{img/gicons → out/images}/marker21.png +0 -0
  64. data/{img/gicons → out/images}/marker22.png +0 -0
  65. data/{img/gicons → out/images}/marker23.png +0 -0
  66. data/{img/gicons → out/images}/marker24.png +0 -0
  67. data/{img/gicons → out/images}/marker25.png +0 -0
  68. data/{img/gicons → out/images}/marker26.png +0 -0
  69. data/{img/gicons → out/images}/marker27.png +0 -0
  70. data/{img/gicons → out/images}/marker28.png +0 -0
  71. data/{img/gicons → out/images}/marker29.png +0 -0
  72. data/{img/gicons → out/images}/marker3.png +0 -0
  73. data/{img/gicons → out/images}/marker30.png +0 -0
  74. data/{img/gicons → out/images}/marker31.png +0 -0
  75. data/{img/gicons → out/images}/marker32.png +0 -0
  76. data/{img/gicons → out/images}/marker33.png +0 -0
  77. data/{img/gicons → out/images}/marker34.png +0 -0
  78. data/{img/gicons → out/images}/marker35.png +0 -0
  79. data/{img/gicons → out/images}/marker36.png +0 -0
  80. data/{img/gicons → out/images}/marker37.png +0 -0
  81. data/{img/gicons → out/images}/marker38.png +0 -0
  82. data/{img/gicons → out/images}/marker39.png +0 -0
  83. data/{img/gicons → out/images}/marker4.png +0 -0
  84. data/{img/gicons → out/images}/marker40.png +0 -0
  85. data/{img/gicons → out/images}/marker41.png +0 -0
  86. data/{img/gicons → out/images}/marker42.png +0 -0
  87. data/{img/gicons → out/images}/marker43.png +0 -0
  88. data/{img/gicons → out/images}/marker44.png +0 -0
  89. data/{img/gicons → out/images}/marker45.png +0 -0
  90. data/{img/gicons → out/images}/marker46.png +0 -0
  91. data/{img/gicons → out/images}/marker47.png +0 -0
  92. data/{img/gicons → out/images}/marker48.png +0 -0
  93. data/{img/gicons → out/images}/marker49.png +0 -0
  94. data/{img/gicons → out/images}/marker5.png +0 -0
  95. data/{img/gicons → out/images}/marker50.png +0 -0
  96. data/{img/gicons → out/images}/marker51.png +0 -0
  97. data/{img/gicons → out/images}/marker52.png +0 -0
  98. data/{img/gicons → out/images}/marker53.png +0 -0
  99. data/{img/gicons → out/images}/marker54.png +0 -0
  100. data/{img/gicons → out/images}/marker55.png +0 -0
  101. data/{img/gicons → out/images}/marker56.png +0 -0
  102. data/{img/gicons → out/images}/marker57.png +0 -0
  103. data/{img/gicons → out/images}/marker58.png +0 -0
  104. data/{img/gicons → out/images}/marker59.png +0 -0
  105. data/{img/gicons → out/images}/marker6.png +0 -0
  106. data/{img/gicons → out/images}/marker60.png +0 -0
  107. data/{img/gicons → out/images}/marker61.png +0 -0
  108. data/{img/gicons → out/images}/marker62.png +0 -0
  109. data/{img/gicons → out/images}/marker63.png +0 -0
  110. data/{img/gicons → out/images}/marker64.png +0 -0
  111. data/{img/gicons → out/images}/marker65.png +0 -0
  112. data/{img/gicons → out/images}/marker66.png +0 -0
  113. data/{img/gicons → out/images}/marker67.png +0 -0
  114. data/{img/gicons → out/images}/marker68.png +0 -0
  115. data/{img/gicons → out/images}/marker69.png +0 -0
  116. data/{img/gicons → out/images}/marker7.png +0 -0
  117. data/{img/gicons → out/images}/marker70.png +0 -0
  118. data/{img/gicons → out/images}/marker71.png +0 -0
  119. data/{img/gicons → out/images}/marker72.png +0 -0
  120. data/{img/gicons → out/images}/marker73.png +0 -0
  121. data/{img/gicons → out/images}/marker74.png +0 -0
  122. data/{img/gicons → out/images}/marker75.png +0 -0
  123. data/{img/gicons → out/images}/marker76.png +0 -0
  124. data/{img/gicons → out/images}/marker77.png +0 -0
  125. data/{img/gicons → out/images}/marker78.png +0 -0
  126. data/{img/gicons → out/images}/marker79.png +0 -0
  127. data/{img/gicons → out/images}/marker8.png +0 -0
  128. data/{img/gicons → out/images}/marker80.png +0 -0
  129. data/{img/gicons → out/images}/marker81.png +0 -0
  130. data/{img/gicons → out/images}/marker82.png +0 -0
  131. data/{img/gicons → out/images}/marker83.png +0 -0
  132. data/{img/gicons → out/images}/marker84.png +0 -0
  133. data/{img/gicons → out/images}/marker85.png +0 -0
  134. data/{img/gicons → out/images}/marker86.png +0 -0
  135. data/{img/gicons → out/images}/marker87.png +0 -0
  136. data/{img/gicons → out/images}/marker88.png +0 -0
  137. data/{img/gicons → out/images}/marker89.png +0 -0
  138. data/{img/gicons → out/images}/marker9.png +0 -0
  139. data/{img/gicons → out/images}/marker90.png +0 -0
  140. data/{img/gicons → out/images}/marker91.png +0 -0
  141. data/{img/gicons → out/images}/marker92.png +0 -0
  142. data/{img/gicons → out/images}/marker93.png +0 -0
  143. data/{img/gicons → out/images}/marker94.png +0 -0
  144. data/{img/gicons → out/images}/marker95.png +0 -0
  145. data/{img/gicons → out/images}/marker96.png +0 -0
  146. data/{img/gicons → out/images}/marker97.png +0 -0
  147. data/{img/gicons → out/images}/marker98.png +0 -0
  148. data/{img/gicons → out/images}/marker99.png +0 -0
  149. data/{img/gicons → out/images}/markerA.png +0 -0
  150. data/{img/gicons → out/images}/markerB.png +0 -0
  151. data/{img/gicons → out/images}/markerC.png +0 -0
  152. data/{img/gicons → out/images}/markerD.png +0 -0
  153. data/{img/gicons → out/images}/markerE.png +0 -0
  154. data/{img/gicons → out/images}/markerF.png +0 -0
  155. data/{img/gicons → out/images}/markerG.png +0 -0
  156. data/{img/gicons → out/images}/markerH.png +0 -0
  157. data/{img/gicons → out/images}/markerI.png +0 -0
  158. data/{img/gicons → out/images}/markerJ.png +0 -0
  159. data/{img/gicons → out/images}/mm_20_red.png +0 -0
  160. data/{img/gicons → out/images}/mm_20_shadow.png +0 -0
  161. data/{img/gicons → out/images}/shadow50.png +0 -0
  162. data/rakefile.rb +79 -0
  163. data/samples.sh +21 -0
  164. data/samples/2008_04_27_13_49_50_tcx.csv +2449 -0
  165. data/samples/2008_04_27_13_49_50_tcx.xml +24560 -0
  166. data/samples/2009_01_01_14_45_00_tcx.xml +10630 -0
  167. data/samples/ballantyne.csv +27 -0
  168. data/samples/ballantyne.gpx +117 -0
  169. data/samples/ballantyne.kml +91 -0
  170. data/samples/big_sur_marathon.html +2766 -0
  171. data/samples/big_sur_marathon.kml +685 -0
  172. data/samples/build_gem_test_results.txt +6 -0
  173. data/samples/crowders_mtn_hike.csv +1065 -0
  174. data/samples/crowders_mtn_hike.html +1283 -0
  175. data/samples/crowders_mtn_hike.log +1 -0
  176. data/samples/cucumber_test_results.txt +302 -0
  177. data/samples/davidson1.csv +1 -0
  178. data/samples/davidson1.html +75 -0
  179. data/samples/davidson_1_point_tcx.csv +0 -0
  180. data/samples/doc.kml +49 -0
  181. data/samples/gps_track_log_asheville_mt_pisgah.txt +1 -0
  182. data/samples/gps_track_logs.txt +1 -0
  183. data/samples/install_test_results.txt +81 -0
  184. data/samples/mt_pisgah.txt +1 -0
  185. data/samples/rspec_test_results.txt +5 -0
  186. data/setup.rb +66 -0
  187. data/spec/gooby_base_object_spec.rb +116 -0
  188. data/spec/gooby_counter_hash_spec.rb +34 -0
  189. data/spec/gooby_dttm_spec.rb +40 -0
  190. data/spec/gooby_spec_helper.rb +9 -0
  191. data/spec/gooby_xml_object_spec.rb +32 -0
  192. metadata +225 -226
  193. data/bin/code_scan.rb +0 -16
  194. data/bin/gooby_been_there.rb +0 -33
  195. data/bin/gooby_config.rb +0 -24
  196. data/bin/gooby_csv_validation.rb +0 -50
  197. data/bin/gooby_first_trackpoints_as_poi.rb +0 -31
  198. data/bin/gooby_gen_gmap.rb +0 -20
  199. data/bin/gooby_parser.rb +0 -21
  200. data/bin/gooby_splitter.rb +0 -21
  201. data/bin/gooby_version.rb +0 -20
  202. data/bin/run_all.sh +0 -33
  203. data/bin/run_been_there.sh +0 -19
  204. data/bin/run_config.sh +0 -12
  205. data/bin/run_csv_validation.sh +0 -15
  206. data/bin/run_db_gen.sh +0 -11
  207. data/bin/run_db_load.sh +0 -11
  208. data/bin/run_first_trackpoints_as_poi.sh +0 -16
  209. data/bin/run_gen_gmaps.sh +0 -21
  210. data/bin/run_parse_full.sh +0 -45
  211. data/bin/run_parse_samples.sh +0 -21
  212. data/bin/run_split.sh +0 -24
  213. data/bin/run_version.sh +0 -12
  214. data/data/20050305_corporate_cup_hm.csv +0 -251
  215. data/data/20050305_corporate_cup_hm.xml +0 -2208
  216. data/data/20050430_nashville_marathon.xml +0 -10043
  217. data/data/20050430_nashville_marathon_km.csv +0 -1208
  218. data/data/20060115_phoenix_marathon.csv +0 -1280
  219. data/data/20060115_phoenix_marathon.xml +0 -10620
  220. data/data/20070101_davidson_11m.csv +0 -251
  221. data/data/20070101_davidson_11m.xml +0 -2020
  222. data/data/20070505_davidson_5k.xml +0 -2875
  223. data/data/20070505_davidson_5k_km.csv +0 -286
  224. data/data/hrm1.csv +0 -5
  225. data/img/gicons/readme.txt +0 -14
  226. data/lib/gooby_code_scanner.rb +0 -288
  227. data/lib/gooby_command.rb +0 -210
  228. data/lib/gooby_course.rb +0 -117
  229. data/lib/gooby_csv_point.rb +0 -71
  230. data/lib/gooby_csv_reader.rb +0 -71
  231. data/lib/gooby_csv_run.rb +0 -28
  232. data/lib/gooby_delim_line.rb +0 -42
  233. data/lib/gooby_duration.rb +0 -86
  234. data/lib/gooby_forerunner_xml_parser.rb +0 -191
  235. data/lib/gooby_forerunner_xml_splitter.rb +0 -115
  236. data/lib/gooby_history.rb +0 -41
  237. data/lib/gooby_kernel.rb +0 -163
  238. data/lib/gooby_line.rb +0 -80
  239. data/lib/gooby_object.rb +0 -22
  240. data/lib/gooby_point.rb +0 -172
  241. data/lib/gooby_run.rb +0 -213
  242. data/lib/gooby_simple_xml_parser.rb +0 -50
  243. data/lib/gooby_test_helper.rb +0 -23
  244. data/lib/gooby_track.rb +0 -47
  245. data/lib/gooby_track_point.rb +0 -229
  246. data/lib/gooby_training_center_xml_parser.rb +0 -224
  247. data/lib/gooby_training_center_xml_splitter.rb +0 -116
  248. data/lib/split_code.sh +0 -29
  249. data/samples/20050305_corporate_cup_hm.html +0 -450
  250. data/samples/20050430_nashville_marathon.html +0 -1668
  251. data/samples/20060115_phoenix_marathon.html +0 -1596
  252. data/samples/20070101_davidson_11m.html +0 -432
  253. data/samples/20070505_davidson_5k.html +0 -413
  254. data/samples/been_there.txt +0 -92
  255. data/samples/hrm1.html +0 -87
  256. data/sql/gooby.ddl +0 -60
  257. data/sql/gooby_load.dml +0 -62
@@ -1,92 +0,0 @@
1
- CsvReader - file count: 2 total points: 254
2
- file: /devtools/workspace/RF_Gooby/data/20070101_davidson_11m.csv
3
- file: /devtools/workspace/RF_Gooby/data/hrm1.csv
4
-
5
- Course 'RW to Parting Oaks' matched vs run id '2007-01-01T16:38:26Z'
6
-
7
-
8
- Course Point: lat: 35.478023309320065 lng: -80.81953883171082 poi.44 Davidson-Concord Rd at Robert Walker Dr (sidewalk)
9
- Matched Point: lat: 35.47805 lng: -80.8194 time: 16:52:55
10
- course elapsed: 00:00:00
11
- distance: 1.67407552602687
12
- course distance: 0.0
13
- altitude: 225.086
14
- degrees diff: 0.00016552239075196
15
-
16
- Course Point: lat: 35.465135347484896 lng: -80.80901384353638 poi.49 River Ford Dr at Parting Oaks Ln
17
- Matched Point: lat: 35.46548 lng: -80.80912 time: 17:06:52
18
- course elapsed: 00:13:57
19
- distance: 3.26598022280125
20
- course distance: 1.59190469677438
21
- altitude: 231.334
22
- degrees diff: 0.000450808978719408
23
-
24
-
25
- Course 'White Horse Hill' matched vs run id '2007-01-01T16:38:26Z'
26
-
27
-
28
- Course Point: lat: 35.50739140358269 lng: -80.79728722572327 poi.72 Shearer Rd at Gray Rd
29
- Matched Point: lat: 35.50732 lng: -80.79728 time: 17:49:59
30
- course elapsed: 00:00:00
31
- distance: 8.18261541437031
32
- course distance: 0.0
33
- altitude: 254.887
34
- degrees diff: 7.86293059533705e-05
35
-
36
- Course Point: lat: 35.504657706411194 lng: -80.81006526947021 poi.73 Gray Rd at White Horse (guard railing)
37
- Matched Point: lat: 35.50479 lng: -80.80964 time: 17:56:27
38
- course elapsed: 00:06:28
39
- distance: 8.96624369659647
40
- course distance: 0.783628282226161
41
- altitude: 223.163
42
- degrees diff: 0.000557563059004451
43
-
44
- Course Point: lat: 35.500150833163154 lng: -80.81524193286896 poi.74 Gray Rd at Charden Rd
45
- Matched Point: lat: 35.50004 lng: -80.81539 time: 18:01:08
46
- course elapsed: 00:11:09
47
- distance: 9.45241877724206
48
- course distance: 1.26980336287175
49
- altitude: 243.351
50
- degrees diff: 0.000258900294191733
51
-
52
-
53
- Course 'HRM' matched vs run id '2007-01-01T16:38:26Z'
54
-
55
-
56
- Course Point: lat: 35.495499 lng: -80.832152 poi.998 hrm test 1
57
- Matched Point: lat: 35.49552 lng: -80.83217 time: 16:38:26
58
- course elapsed: 00:00:00
59
- distance: 0.0
60
- course distance: 0.0
61
- altitude: 242.87
62
- degrees diff: 7.40000000050145e-05
63
-
64
- Course Point: lat: 35.495465 lng: -80.832151 poi.999 hrm test 2
65
- Matched Point: lat: 35.49552 lng: -80.83217 time: 16:38:26
66
- course elapsed: 00:00:00
67
- distance: 0.0
68
- course distance: 0.0
69
- altitude: 242.87
70
- degrees diff: 7.40000000050145e-05
71
-
72
- Course 'HRM' matched vs run id '2007-07-16T23:42:44Z'
73
-
74
-
75
- Course Point: lat: 35.495499 lng: -80.832152 poi.998 hrm test 1
76
- Matched Point: lat: 35.495499 lng: -80.832152 time: 23:42:46
77
- course elapsed: 00:00:00
78
- distance: 0.000417102641276755
79
- heartbeat: 75.0
80
- course distance: 0.0
81
- altitude: 241.428223
82
- degrees diff: 3.49999999968986e-05
83
-
84
- Course Point: lat: 35.495465 lng: -80.832151 poi.999 hrm test 2
85
- Matched Point: lat: 35.495465 lng: -80.832151 time: 23:47:46
86
- course elapsed: 00:05:00
87
- distance: 0.0109261260004515
88
- heartbeat: 87.0
89
- course distance: 0.0105090233591747
90
- altitude: 242.389648
91
- degrees diff: 0.0
92
-
@@ -1,87 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
- <html xmlns="http://www.w3.org/1999/xhtml">
4
- <head>
5
- <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
6
- <meta name="description" content="Google Map generated with Gooby 1.2.0">
7
- <meta name="keywords" content="Google Map Gooby 1.2.0 GPS">
8
- <title> Google Map by Gooby </title>
9
- <script src='http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAdn5SVzjZKZKs1IRkFdx52xR1l5lLpU9GCFYoS8YrTf8v3gVJ2hRLV1dTSiqDWwWSnMRkM7SVr0EKSA' type='text/javascript'></script>
10
- <script type="text/javascript">
11
- //<![CDATA[
12
- function load() {
13
- if (GBrowserIsCompatible()) {
14
- var map = new GMap2(document.getElementById("map"));
15
- map.addControl(new GLargeMapControl());
16
- map.addControl(new GMapTypeControl());
17
-
18
- var centerPoint = new GLatLng(35.4954935, -80.83219); // Gooby 1.2.0
19
- map.setCenter(centerPoint, 12);
20
-
21
-
22
- var points = new Array();
23
- points.push(new GLatLng(35.495497,-80.832159)); // (1 of 4.0) 2007-07-16T23:42:44Z 0 00:00:00 0.0 Gooby 1.2.0
24
- points.push(new GLatLng(35.495499,-80.832152)); // (2 of 4.0) 2007-07-16T23:42:46Z 2 00:00:02 0.000417102641276755 Gooby 1.2.0
25
- points.push(new GLatLng(35.495522,-80.832229)); // (3 of 4.0) 2007-07-16T23:42:54Z 10 00:00:10 0.00503094417417941 Gooby 1.2.0
26
- points.push(new GLatLng(35.495465,-80.832151)); // (4 of 4.0) 2007-07-16T23:47:46Z 302 00:05:02 0.0109261260004515 Gooby 1.2.0
27
-
28
- var routePolyline = new GPolyline(points);
29
- map.addOverlay(routePolyline);
30
-
31
- // Create a base icon for all of our markers that specifies the
32
- // shadow, icon dimensions, etc.
33
- var baseIcon = new GIcon();
34
- baseIcon.shadow = "http://www.joakim-systems.com/gicons/shadow50.png";
35
- baseIcon.iconSize = new GSize(20, 34);
36
- baseIcon.shadowSize = new GSize(37, 34);
37
- baseIcon.iconAnchor = new GPoint(9, 34);
38
- baseIcon.infoWindowAnchor = new GPoint(9, 2);
39
- baseIcon.infoShadowAnchor = new GPoint(18, 25);
40
-
41
- var iconStart = new GIcon(baseIcon);
42
- iconStart.image = "http://www.joakim-systems.com/gicons/dd-start.png";
43
- var pStart = new GPoint(-80.832159, 35.495497);
44
- var mStart = new GMarker(pStart, iconStart);
45
- GEvent.addListener(mStart, "click", function() {
46
- mStart.openInfoWindowHtml("<table align='left'><tr><td colspan='2'><b>Start!</b></td></tr><tr><td>Distance:</td><td>0.0 mi</td></tr><tr><td>Time of Day:</td><td>2007-07-16T23:42:44Z</td></tr><tr><td>Elapsed Time:</td><td>00:00:00</td></tr><tr><td>Average Pace:</td><td></td></tr><tr><td>Lat/Lng:</td><td>35.495497 , -80.832159</td></tr><tr><td>Altitude:</td><td>241.908936</td></tr><tr><td>Heartbeat:</td><td>75.0</td></tr></table>");
47
- });
48
- map.addOverlay(mStart);
49
-
50
- var iconFinish = new GIcon(baseIcon);
51
- iconFinish.image = "http://www.joakim-systems.com/gicons/dd-end.png";
52
- var pFinish = new GPoint(-80.832151, 35.495465);
53
- var mFinish = new GMarker(pFinish, iconFinish);
54
- GEvent.addListener(mFinish, "click", function() {
55
- mFinish.openInfoWindowHtml("<table align='left'><tr><td colspan='2'><b>Finish!</b></td></tr><tr><td>Distance:</td><td>0.0109261260004515 mi</td></tr><tr><td>Time of Day:</td><td>2007-07-16T23:47:46Z</td></tr><tr><td>Elapsed Time:</td><td>00:05:02</td></tr><tr><td>Average Pace:</td><td>460:40.171 per mi</td></tr><tr><td>Lat/Lng:</td><td>35.495465 , -80.832151</td></tr><tr><td>Altitude:</td><td>242.389648</td></tr><tr><td>Heartbeat:</td><td>87.0</td></tr></table>");
56
- });
57
- map.addOverlay(mFinish);
58
-
59
-
60
-
61
-
62
- GEvent.addListener(map, "click", function() {
63
- var center = map.getCenter();
64
-
65
- document.getElementById("messages").innerHTML = 'click: ' + center.toString();
66
- });
67
- GEvent.addListener(map, "moveend", function() {
68
- var center = map.getCenter();
69
-
70
- document.getElementById("messages").innerHTML = 'moveend: ' + center.toString();
71
- });
72
-
73
- }
74
- }
75
- //]]>
76
-
77
- </script>
78
- </head>
79
- <body onload="load()" onunload="GUnload()">
80
- <center>
81
- <h3> </h3>
82
- <h5> Generated by Gooby Sun Jul 22 09:48:48 EDT 2007 <br> Gooby = Google APIs + Ruby </h5>
83
- <div id="map" style="width: 900px; height: 600px"></div>
84
- <div id="messages"></div>
85
- </center>
86
- </body>
87
- </html>
@@ -1,60 +0,0 @@
1
- -- ***************************************************************************
2
- -- Gooby - Copyright 2007 by Chris Joakim.
3
- -- Gooby is available under GNU General Public License (GPL) license.
4
- -- ============================================================================
5
- --
6
- -- DDL to drop and (re)create the MySQL 'gooby' database for Gooby 1.2.0.
7
- --
8
- -- Execute from shell via command:
9
- -- /usr/local/mysql/bin/mysql < gooby.ddl -u <uid> -p
10
- --
11
- -- Example data - each line contains the following pipe-delimited fields:
12
- -- column index value
13
- -- --------------- ----- --------------------
14
- -- primary_key 0 [2007-05-05T12:28:32Z.285]
15
- -- run_id 1 [2007-05-05T12:28:32Z]
16
- -- date 2 [2007-05-05]
17
- -- time 3 [12:55:11]
18
- -- tkpt_num 4 [285]
19
- -- latitude 5 [35.498395]
20
- -- longitude 6 [-80.847871]
21
- -- altitude 7 [251.041382]
22
- -- heartbeat 8 [-1]
23
- -- run_distance 9 [5.09338915928222]
24
- -- uom 10 [km]
25
- -- run_elapsed 11 [00:26:39]
26
- -- lap_tkpt_number 12 [285]
27
- -- lap_distance 13 [5.09338915928222]
28
- -- lap_elapsed 14 [00:26:39]
29
- --
30
- -- ***************************************************************************
31
-
32
- create database if not exists gooby;
33
-
34
- use gooby;
35
-
36
- -- ============================================================================
37
- -- This table contains GPS data parsed from Garmin export files.
38
-
39
- drop table if exists gps_data;
40
-
41
- create table gps_data (
42
- id varchar(32),
43
- run_id varchar(24),
44
- run_date date,
45
- run_time time,
46
- tkpt_num smallint,
47
- latitude decimal(13,10),
48
- longitude decimal(13,10),
49
- altitude decimal(15,10),
50
- heartbeat smallint,
51
- run_distance decimal(16,10),
52
- uom varchar(2),
53
- run_elapsed time,
54
- lap_tkpt_number smallint,
55
- lap_distance decimal(16,10),
56
- lap_elapsed time,
57
- primary key(id)
58
- );
59
-
60
- describe gps_data;
@@ -1,62 +0,0 @@
1
- -- ****************************************************************************
2
- -- Gooby = Google APIs + Ruby
3
- -- Gooby - Copyright 2007 by Chris Joakim.
4
- -- Gooby is available under GNU General Public License (GPL) license.
5
- -- ============================================================================
6
- --
7
- -- DML to load the MySQL 'gooby' database 'gps_data' for Gooby 1.2.0.
8
- -- See file 'gooby.ddl' which contains the DDL statements to create the DB.
9
- --
10
- -- Execute from shell via command:
11
- -- /usr/local/mysql/bin/mysql < gooby_load.dml -u <uid> -p
12
- --
13
- -- ****************************************************************************
14
-
15
- use gooby;
16
-
17
- -- Query the row count before loading.
18
- select count(*) from gps_data;
19
-
20
- LOAD DATA INFILE '/devtools/workspace/RF_Gooby/data/20050305_corporate_cup_hm.csv'
21
- INTO TABLE gooby.gps_data
22
- FIELDS TERMINATED BY '|'
23
- LINES TERMINATED BY '\n'
24
- IGNORE 1 LINES;
25
-
26
- LOAD DATA INFILE '/devtools/workspace/RF_Gooby/data/20050430_nashville_marathon_km.csv'
27
- INTO TABLE gooby.gps_data
28
- FIELDS TERMINATED BY '|'
29
- LINES TERMINATED BY '\n'
30
- IGNORE 1 LINES;
31
-
32
- LOAD DATA INFILE '/devtools/workspace/RF_Gooby/data/20060115_phoenix_marathon.csv'
33
- INTO TABLE gooby.gps_data
34
- FIELDS TERMINATED BY '|'
35
- LINES TERMINATED BY '\n'
36
- IGNORE 1 LINES;
37
-
38
- LOAD DATA INFILE '/devtools/workspace/RF_Gooby/data/20070101_davidson_11m.csv'
39
- INTO TABLE gooby.gps_data
40
- FIELDS TERMINATED BY '|'
41
- LINES TERMINATED BY '\n'
42
- IGNORE 1 LINES;
43
-
44
- LOAD DATA INFILE '/devtools/workspace/RF_Gooby/data/20070505_davidson_5k_km.csv'
45
- INTO TABLE gooby.gps_data
46
- FIELDS TERMINATED BY '|'
47
- LINES TERMINATED BY '\n'
48
- IGNORE 1 LINES;
49
-
50
-
51
- LOAD DATA INFILE '/devtools/workspace/RF_Gooby/data/hrm1.csv'
52
- INTO TABLE gooby.gps_data
53
- FIELDS TERMINATED BY '|'
54
- LINES TERMINATED BY '\n'
55
- IGNORE 1 LINES;
56
-
57
- -- Query the data after loading.
58
- select count(*) from gps_data;
59
- select distinct run_id from gps_data;
60
- select * from gps_data where id = '2007-01-01T16:38:26Z.1'; -- garmin 201
61
- select * from gps_data where id = '2007-05-05T12:28:32Z.258'; -- garmin 205
62
- select * from gps_data where id = '2007-07-16T23:42:44Z.2'; -- garmin 305