Changeset 131
- Timestamp:
- 01/04/08 23:04:40 (1 year ago)
- Files:
-
- pytrainer/trunk/glade/pytrainer.glade (modified) (1 diff)
- pytrainer/trunk/pytrainer.style (modified) (3 diffs)
- pytrainer/trunk/pytrainer/daygraph.py (modified) (4 diffs)
- pytrainer/trunk/pytrainer/lib/gpx.py (modified) (6 diffs)
- pytrainer/trunk/pytrainer/record.py (modified) (2 diffs)
- pytrainer/trunk/pytrainer/recordgraph.py (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
pytrainer/trunk/glade/pytrainer.glade
r130 r131 1411 1411 <property name="items" translatable="yes">Stage Profile 1412 1412 Stage Velocity 1413 Stage Heart Rate 1413 1414 Stage Profile/velocity</property> 1414 1415 <property name="add_tearoffs">False</property> pytrainer/trunk/pytrainer.style
r4 r131 14 14 FIELD_DELIMITER WHITESPACE 15 15 RECORD_DELIMITER NEWLINE 16 BADCHARS ,'"16 BADCHARS WHITESPACE 17 17 18 18 SHORTLEN 20 … … 28 28 IFIELD GMT_TIME,"","%m/%d/%Y %I:%M:%D %p" 29 29 IFIELD ICON_DESCR, "", "%s" 30 IFIELD HEART_RATE,"","%d" 30 31 31 32 OFIELD LAT_DECIMAL, "", "%08.5f" … … 33 34 OFIELD ALT_METERS, "", "%.0f" 34 35 OFIELD GMT_TIME,"","%s" 36 OFIELD HEART_RATE,"","%d" pytrainer/trunk/pytrainer/daygraph.py
r4 r131 26 26 def drawgraph(self,values): 27 27 value_selected = self.combovalue.get_active() 28 print "value selected " 29 print value_selected 28 30 if value_selected < 0: 29 31 self.combovalue.set_active(0) … … 38 40 self.drawarea.stadistics("plot",[xvalues],[yvalues],[xlabel],[ylabel],[title],[color]) 39 41 if value_selected == 2: 42 xvalues, yvalues = self.get_values(values,value_selected) 43 xlabel,ylabel,title,color = self.get_value_params(value_selected) 44 self.drawarea.stadistics("plot",[xvalues],[yvalues],[xlabel],[ylabel],[title],[color]) 45 if value_selected == 3: 40 46 xvalues, yvalues = self.get_values(values,0) 41 47 xvalues1, yvalues1 = self.get_values(values,1) … … 48 54 return _("Distance (km)"),_("Height (m)"),_("Stage Profile"),"#747400" 49 55 if value == 1: 50 return _("Distance (km)"),_("Velocity (Km/h)"),_("velocity"),"#007474" 56 return _("Distance (km)"),_("Velocity (Km/h)"),_("Velocity"),"#007474" 57 if value == 2: 58 return _("Distance (km)"),_("Beats (bpm)"),_("Heart Rate"),"#740074" 51 59 52 60 def get_values(self,values, value_selected): … … 59 67 if value_selected==1: 60 68 yvalue.append(value[3]) 69 if value_selected==2: 70 yvalue.append(value[5]) 61 71 return xvalue,yvalue 62 72 pytrainer/trunk/pytrainer/lib/gpx.py
r128 r131 65 65 def getTrackList(self): 66 66 return self.Values 67 68 def getHeartRateAverage(self): 69 return self.hr_average 67 70 68 71 def _getValues(self): … … 78 81 dom = trk 79 82 content = """<?xml version="1.0" encoding="UTF-8"?> 80 <gpx 81 version="1.0" 83 84 <gpx 82 85 creator="pytrainer http://pytrainer.e-oss.net" 83 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 84 xmlns="http://www.topografix.com/GPX/1/0" 85 xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd"> 86 version="1.1" 87 xmlns="http://www.topografix.com/GPX/1/1" 88 xmlns:geocache="http://www.groundspeak.com/cache/1/0" 89 xmlns:gpxdata="http://www.cluetrust.com/XML/GPXDATA/1/0" 90 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 91 xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd http://www.cluetrust.com/XML/GPXDATA/1/0 http://www.cluetrust.com/Schemas/gpxdata10.xsd"> 92 93 86 94 """ 87 95 content += dom.toxml() … … 103 111 last_time = "False" 104 112 total_dist = 0 113 total_hr = 0 105 114 tmp_alt = 0 106 115 … … 108 117 lat = trkpoint.attributes["lat"].value 109 118 lon = trkpoint.attributes["lon"].value 119 #get the heart rate value from the gpx extended format file 120 if len(trkpoint.getElementsByTagName("gpxdata:hr")) > 0: 121 hr = int(trkpoint.getElementsByTagName("gpxdata:hr")[0].firstChild.data) 122 else: 123 hr = 0 110 124 if len(trkpoint.getElementsByTagName("time")) > 0: 111 125 time_ = trkpoint.getElementsByTagName("time")[0].firstChild.data … … 129 143 time_ = tmp_time - last_time 130 144 tempnum=(math.sin(last_lat)*math.sin(tmp_lat))+(math.cos(last_lat)*math.cos(tmp_lat)*math.cos(tmp_lon-last_lon)) 131 try: 132 #Obtenemos el punto respecto al punto anterior 133 dist=math.acos(tempnum)*111.302*57.29577951 134 total_dist += dist 135 #dividimos kilometros por hora (no por segundo) 136 tmp_vel = dist/((time_)/3600.0) 137 vel,his_vel = self._calculate_velocity(tmp_vel,his_vel) 138 #si la velocidad es menor de 90 lo damos por bueno 139 if vel<90 and time_ <100: 140 self.total_time += time_ 141 retorno.append((total_dist,tmp_alt, self.total_time,vel,lat,lon)) 142 rel_alt = tmp_alt - last_alt 143 if rel_alt > 0: 144 self.upositive += rel_alt 145 elif rel_alt < 0: 146 self.unegative -= rel_alt 147 except: 148 print tempnum 145 #try: 146 #Obtenemos el punto respecto al punto anterior 147 dist=math.acos(tempnum)*111.302*57.29577951 148 total_dist += dist 149 total_hr += hr 150 #dividimos kilometros por hora (no por segundo) 151 tmp_vel = dist/((time_)/3600.0) 152 vel,his_vel = self._calculate_velocity(tmp_vel,his_vel) 153 #si la velocidad es menor de 90 lo damos por bueno 154 if vel<90 and time_ <100: 155 self.total_time += time_ 156 retorno.append((total_dist,tmp_alt, self.total_time,vel,lat,lon,hr)) 157 rel_alt = tmp_alt - last_alt 158 if rel_alt > 0: 159 self.upositive += rel_alt 160 elif rel_alt < 0: 161 self.unegative -= rel_alt 162 #except: 163 # print tempnum 149 164 150 165 last_lat = tmp_lat … … 153 168 last_time = tmp_time 154 169 170 self.hr_average = total_hr/len(trkpoints) 155 171 self.total_dist = total_dist 156 172 return retorno pytrainer/trunk/pytrainer/record.py
r123 r131 198 198 distance, time = gpx.getMaxValues() 199 199 upositive,unegative = gpx.getUnevenness() 200 print gpx.getTrackRoutes()200 heartrate = gpx.getHeartRateAverage() 201 201 date = gpx.getTrackRoutes()[0][1] 202 202 … … 204 204 self.recordwindow.rcd_upositive.set_text(str(upositive)) 205 205 self.recordwindow.rcd_unegative.set_text(str(unegative)) 206 self.recordwindow.rcd_beats.set_text(str(heartrate)) 206 207 self.recordwindow.set_distance(distance) 207 208 self.recordwindow.set_recordtime(time/60.0/60.0) pytrainer/trunk/pytrainer/recordgraph.py
r21 r131 37 37 xlabel,ylabel,title,color = self.get_value_params(value_selected) 38 38 self.drawarea.stadistics("plot",[xvalues],[yvalues],[xlabel],[ylabel],[title],[color]) 39 if value_selected == 2: 39 if value_selected == 2: 40 xvalues, yvalues = self.get_values(values,value_selected) 41 xlabel,ylabel,title,color = self.get_value_params(value_selected) 42 self.drawarea.stadistics("plot",[xvalues],[yvalues],[xlabel],[ylabel],[title],[color]) 43 if value_selected == 3: 40 44 xvalues, yvalues = self.get_values(values,0) 41 45 xvalues1, yvalues1 = self.get_values(values,1) … … 49 53 if value == 1: 50 54 return _("Distance (km)"),_("Velocity (Km/h)"),_("velocity"),"#007474" 55 if value == 2: 56 return _("Distance (km)"),_("Beats (bpm)"),_("Heart Rate"),"#740074" 57 51 58 52 59 def get_values(self,values, value_selected): … … 59 66 if value_selected==1: 60 67 yvalue.append(value[3]) 68 if value_selected==2: 69 yvalue.append(value[6]) 61 70 return xvalue,yvalue 62 71
