def _test_layer(self,layer, attr, typ, tf, attr2=None):
     if attr2 is None:
         attr2=attr
     settings = ls.LayerSettings()
     settings.layer = layer
     settings.startTimeAttribute = attr
     settings.endTimeAttribute = attr2
     iface=Mock()
     timeLayer = timevectorlayer.TimeVectorLayer(settings, iface)
     # TODO
     #self.assertEqual(settings, ls.getSettingsFromLayer(timeLayer))
     self.tlm.registerTimeLayer(timeLayer)
     self.assertEquals(len(self.tlm.getActiveVectors()),1)
     self.assertEquals(len(self.tlm.getActiveRasters()),0)
     self.assertEquals(timeLayer.getDateType(), typ)
     if tf is not None:
         self.assertEquals(timeLayer.getTimeFormat(), tf)
     expected_datetime = time_util.epoch_to_datetime(self.get_start_time())
     self.assertEquals(self.tlm.getCurrentTimePosition(),expected_datetime)
     self.tlm.setTimeFrameType("seconds")
     self.assertEquals(layer.featureCount(),1)
     self.assertEquals(self.tlm.getCurrentTimePosition(),expected_datetime)
     self.tlm.stepForward()
     self.assertEquals(layer.featureCount(),1)
     expected_datetime = time_util.epoch_to_datetime(self.get_start_time()+1)
     self.assertEquals(self.tlm.getCurrentTimePosition(),expected_datetime)
     self.tlm.setTimeFrameSize(2)
     self.assertEquals(layer.featureCount(),2)
 def _test_layer(self, layer, attr, typ, tf, attr2=None):
     if attr2 is None:
         attr2 = attr
     settings = ls.LayerSettings()
     settings.layer = layer
     settings.startTimeAttribute = attr
     settings.endTimeAttribute = attr2
     iface = Mock()
     timeLayer = timevectorlayer.TimeVectorLayer(settings, iface)
     # TODO
     # self.assertEqual(settings, ls.getSettingsFromLayer(timeLayer))
     self.tlm.registerTimeLayer(timeLayer)
     self.assertEquals(len(self.tlm.getActiveVectors()), 1)
     self.assertEquals(len(self.tlm.getActiveRasters()), 0)
     self.assertEquals(timeLayer.getDateType(), typ)
     if tf is not None:
         self.assertEquals(timeLayer.getTimeFormat(), tf)
     expected_datetime = time_util.epoch_to_datetime(self.get_start_time())
     self.assertEquals(self.tlm.getCurrentTimePosition(), expected_datetime)
     self.tlm.setTimeFrameType("seconds")
     self.assertEquals(layer.featureCount(), 1)
     self.assertEquals(self.tlm.getCurrentTimePosition(), expected_datetime)
     self.tlm.stepForward()
     self.assertEquals(layer.featureCount(), 1)
     expected_datetime = time_util.epoch_to_datetime(self.get_start_time() +
                                                     1)
     self.assertEquals(self.tlm.getCurrentTimePosition(), expected_datetime)
     self.tlm.setTimeFrameSize(2)
     self.assertEquals(layer.featureCount(), 2)
    def _test_spatialite_layer(self, attr, layer, is_int=False):

        timeLayer = timevectorlayer.TimeVectorLayer(layer, attr, attr, True,
                                                    time_util.DEFAULT_FORMAT,
                                                    0)
        self.tlm.registerTimeLayer(timeLayer)
        if is_int:
            self.assertEquals(timeLayer.getDateType(),
                              timevectorlayer.DateTypes.IntegerTimestamps)
            self.assertEquals(timeLayer.getTimeFormat(), time_util.UTC)
        else:
            self.assertEquals(timeLayer.getDateType(),
                              timevectorlayer.DateTypes.DatesAsStrings)
            self.assertEquals(timeLayer.getTimeFormat(),
                              time_util.DEFAULT_FORMAT)
        start_time = time_util.str_to_datetime(timeLayer.getMinMaxValues()[0],
                                               time_util.DEFAULT_FORMAT)
        self.assertEquals(time_util.epoch_to_datetime(STARTTIME), start_time)

        self.tlm.setTimeFrameType("minutes")
        self.tlm.stepForward()
        assert (start_time +
                timedelta(minutes=1) == self.tlm.getCurrentTimePosition())
        # only one feature is selected now, because there is one feature per minute
        self.assertEquals(layer.featureCount(), 1)
        FS = 5
        self.tlm.setTimeFrameSize(FS)
        # we have one feature per minute
        self.assertEquals(layer.featureCount(), FS)
        subsetString = layer.subsetString()

        if is_int:
            expectedSubsetString = INT_FORMAT.format(
                attr, self.comparison_op,
                time_util.datetime_to_epoch(self.tlm.getCurrentTimePosition() +
                                            timedelta(minutes=FS)), attr,
                time_util.datetime_to_epoch(self.tlm.getCurrentTimePosition()))

            self.assertEquals(subsetString, expectedSubsetString)
            minimum_bound_seconds = int(subsetString.split(" ")[6])
            self.assertEquals(
                self.tlm.getCurrentTimePosition(),
                time_util.epoch_to_datetime(minimum_bound_seconds))
        if not is_int:
            self.assertEqual(timeLayer.getTimeFormat(),
                             time_util.DEFAULT_FORMAT)
            expectedSubsetString = STRING_FORMAT.format(
                attr, self.comparison_op,
                time_util.datetime_to_str(
                    self.tlm.getCurrentTimePosition() + timedelta(minutes=FS),
                    timeLayer.getTimeFormat()), attr,
                time_util.datetime_to_str(self.tlm.getCurrentTimePosition(),
                                          timeLayer.getTimeFormat()))

            self.assertEquals(subsetString, expectedSubsetString)

        self.tlm.stepForward()
        self.assertEquals(layer.featureCount(), FS)
    def _test_spatialite_layer(self, attr, layer, is_int=False):

        settings = LayerSettings()
        settings.layer = layer
        settings.startTimeAttribute = attr
        settings.endTimeAttribute = attr

        timeLayer = timevectorlayer.TimeVectorLayer(settings, iface=Mock())
        self.tlm.registerTimeLayer(timeLayer)
        if is_int:
            self.assertEquals(timeLayer.getDateType(), timevectorlayer.DateTypes.IntegerTimestamps)
            self.assertEquals(timeLayer.getTimeFormat(), time_util.UTC)
        else:
            self.assertEquals(timeLayer.getDateType(), timevectorlayer.DateTypes.DatesAsStrings)
            self.assertEquals(timeLayer.getTimeFormat(), time_util.DEFAULT_FORMAT)
        start_time = time_util.str_to_datetime(timeLayer.getMinMaxValues()[0], time_util.PENDING)
        self.assertEquals(time_util.epoch_to_datetime(STARTTIME), start_time)

        self.tlm.setTimeFrameType("minutes")
        self.tlm.stepForward()
        assert start_time + timedelta(minutes=1) == self.tlm.getCurrentTimePosition()
        # only one feature is selected now, because there is one feature per minute
        self.assertEquals(layer.featureCount(), 1)
        FS = 5
        self.tlm.setTimeFrameSize(FS)
        # we have one feature per minute
        self.assertEquals(layer.featureCount(), FS)
        subsetString = layer.subsetString()

        if is_int:
            expectedSubsetString = INT_FORMAT.format(
                attr,
                self.comparison_op,
                time_util.datetime_to_epoch(self.tlm.getCurrentTimePosition() + timedelta(minutes=FS)),
                attr,
                time_util.datetime_to_epoch(self.tlm.getCurrentTimePosition()),
            )

            self.assertEquals(subsetString, expectedSubsetString)
            minimum_bound_seconds = int(subsetString.split(" ")[6])
            self.assertEquals(self.tlm.getCurrentTimePosition(), time_util.epoch_to_datetime(minimum_bound_seconds))
        if not is_int:
            self.assertEqual(timeLayer.getTimeFormat(), time_util.DEFAULT_FORMAT)
            expectedSubsetString = STRING_FORMAT.format(
                attr,
                self.comparison_op,
                time_util.datetime_to_str(
                    self.tlm.getCurrentTimePosition() + timedelta(minutes=FS), timeLayer.getTimeFormat()
                ),
                attr,
                time_util.datetime_to_str(self.tlm.getCurrentTimePosition(), timeLayer.getTimeFormat()),
            )

            self.assertEquals(subsetString, expectedSubsetString)

        self.tlm.stepForward()
        self.assertEquals(layer.featureCount(), FS)
Example #5
0
 def test_bc_date_conversions_epoch(self):
     for datestr in self.bc_dates:
         print datestr
         dt = time_util.str_to_datetime(datestr)
         epoch = time_util.datetime_to_epoch(dt)
         dt2 = time_util.epoch_to_datetime(epoch)
         assert (dt == dt2)
Example #6
0
 def test_bc_date_conversions_epoch(self):
     for datestr in self.bc_dates:
         print datestr
         dt = time_util.str_to_datetime(datestr)
         epoch = time_util.datetime_to_epoch(dt)
         dt2 = time_util.epoch_to_datetime(epoch)
         assert (dt == dt2)
Example #7
0
 def test_date_extraction(self):
     epoch = 1393786800
     bandName = "Band 002 / time={} (seconds since 1970-01-01 00:00:00)".format(
         epoch)
     self.assertEqual(
         cdf.CDFRasterLayer.extract_time_from_bandname(bandName),
         time_util.epoch_to_datetime(epoch))
Example #8
0
    def _test_layer(self, layer, attr, typ, tf, attr2=None):
        if attr2 is None:
            attr2 = attr
        timeLayer = timevectorlayer.TimeVectorLayer(layer, attr, attr2, True,
                                                    time_util.DEFAULT_FORMAT,
                                                    0)
        self.tlm.registerTimeLayer(timeLayer)

        self.assertEquals(timeLayer.getDateType(), typ)
        self.assertEquals(timeLayer.getTimeFormat(), tf)
        expected_datetime = time_util.epoch_to_datetime(self.get_start_time())
        self.assertEquals(self.tlm.getCurrentTimePosition(), expected_datetime)
        self.tlm.setTimeFrameType("seconds")
        self.assertEquals(layer.featureCount(), 1)
        self.assertEquals(self.tlm.getCurrentTimePosition(), expected_datetime)
        self.tlm.stepForward()
        self.assertEquals(layer.featureCount(), 1)
        expected_datetime = time_util.epoch_to_datetime(self.get_start_time() +
                                                        1)
        self.assertEquals(self.tlm.getCurrentTimePosition(), expected_datetime)
        self.tlm.setTimeFrameSize(2)
        self.assertEquals(layer.featureCount(), 2)
Example #9
0
 def test_date_extraction(self):
     epoch = 1393786800 
     bandName = "Band 002 / time={} (seconds since 1970-01-01 00:00:00)".format(epoch)
     self.assertEqual(cdf.CDFRasterLayer.extract_time_from_bandname(bandName), time_util.epoch_to_datetime(epoch))