Exemplo n.º 1
0
    def test_assign_elevation_from_points(self):
        track = Track("TestTrack",
                      [
                          TrackingPoint(
                              3.5, 8.8,
                              datetime.datetime.strptime(
                                  '2016-11-11T12:00:00.000Z', datetimeFormat)),
                          TrackingPoint(
                              3.4, 8.8,
                              datetime.datetime.strptime(
                                  '2016-11-11T12:00:10.000Z', datetimeFormat)),
                          TrackingPoint(
                              3.3, 8.8,
                              datetime.datetime.strptime(
                                  '2016-11-11T12:00:10.000Z', datetimeFormat))
                      ])
        elevationPoints = [
            ElevationPoint(3.3, 8.8, 30.0),
            ElevationPoint(3.4, 8.8, 20.0),
            ElevationPoint(3.5, 8.8, 10.0)
        ]
        track.assignElevation(elevationPoints)
        track.calculateRise()

        self.assertEqual(track.trackingpoints[0].elevationInMeters, 10.0)
        self.assertEqual(track.trackingpoints[1].elevationInMeters, 20.0)
        self.assertEqual(track.trackingpoints[2].elevationInMeters, 30.0)
        self.assertGreater(track.trackingpoints[1].rise, 0.0)
def generateFeatures(tracks, elevationPoints):    
    for track in tracks:
        track.assignElevation(elevationPoints)
        for range in track.ranges:
            tempTrack = Track(track.name, track.filterPoints(range[0], range[1]))
            tempTrack.calculateRise()
            for point in tempTrack.trackingpoints:
                yield (point.latitude, point.longitude, round(point.velocity, 1), int(point.rise * 100.0))
Exemplo n.º 3
0
 def test_calculate_rise(self):
     track = Track("TestTrack",
                   [
                       TrackingPoint(
                           3.5, 8.8,
                           datetime.datetime.strptime(
                               '2016-11-11T12:00:00.000Z', datetimeFormat)),
                       TrackingPoint(
                           3.4, 8.8,
                           datetime.datetime.strptime(
                               '2016-11-11T12:00:10.000Z', datetimeFormat))
                   ])
     track.assignElevationAt(1, 100.0)
     track.calculateRise()
     self.assertEqual(track.trackingpoints[0].rise, 0.0)
     self.assertGreater(track.trackingpoints[1].rise, 0.0)