Changeset 69586


Ignore:
Timestamp:
Sep 27, 2016, 11:53:19 AM (8 years ago)
Author:
huhabla
Message:

temporal framework: Register function fixed issue #3168

Location:
grass/trunk/lib/python/temporal
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • grass/trunk/lib/python/temporal/register.py

    r69544 r69586  
    284284        # Try to read an existing time stamp from the grass spatial database
    285285        # in case this map wasn't already registered in the temporal database
    286         if not is_in_db:
     286        # Read the spatial database time stamp only, if no time stamp was provided for this map
     287        # as method argument or in the input file
     288        if not is_in_db and not start:
    287289            map.read_timestamp_from_grass()
    288290
  • grass/trunk/lib/python/temporal/testsuite/test_register_function.py

    r66525 r69586  
    4545
    4646        self.strds_abs = tgis.open_new_stds(name="register_test_abs", type="strds", temporaltype="absolute",
    47                                             title="Test strds", descr="Test strds", semantic="field", 
     47                                            title="Test strds", descr="Test strds", semantic="field",
    4848                                            overwrite=True)
    4949        self.strds_rel = tgis.open_new_stds(name="register_test_rel", type="strds", temporaltype="relative",
     
    115115        self.assertEqual(end, datetime.datetime(2001, 1, 3))
    116116
     117    def test_absolute_time_strds_3(self):
     118        """Test the registration of maps with absolute time in a
     119           space time raster dataset. The timestamps are set via method arguments and with the
     120           c-interface. The timestamps of the method arguments should overwrite the
     121           time stamps set via the C-interface.
     122        """
     123
     124        ciface = tgis.get_tgis_c_library_interface()
     125        ciface.write_raster_timestamp("register_map_1", tgis.get_current_mapset(), "1 Jan 2001/2 Jan 2001")
     126
     127        tgis.register_maps_in_space_time_dataset(type="raster", name=self.strds_abs.get_name(),
     128                                                 maps="register_map_1",
     129                                                 start="2001-02-01", increment="1 day",
     130                                                 interval=True)
     131
     132        map = tgis.RasterDataset("register_map_1@" + tgis.get_current_mapset())
     133        map.select()
     134        start, end = map.get_absolute_time()
     135        self.assertEqual(start, datetime.datetime(2001, 2, 1))
     136        self.assertEqual(end, datetime.datetime(2001, 2, 2))
     137
     138        self.strds_abs.select()
     139        start, end = self.strds_abs.get_absolute_time()
     140        self.assertEqual(start, datetime.datetime(2001, 2, 1))
     141        self.assertEqual(end, datetime.datetime(2001, 2, 2))
     142
     143    def test_absolute_time_strds_4(self):
     144        """Test the registration of maps with absolute time in a
     145           space time raster dataset. The timestamps are set via method arguments and with the
     146           c-interface. The timestamps of the method arguments should overwrite the
     147           time stamps set via the C-interface. The C-interface sets relative time stamps.
     148        """
     149
     150        ciface = tgis.get_tgis_c_library_interface()
     151        ciface.write_raster_timestamp("register_map_1", tgis.get_current_mapset(), "1 day")
     152
     153        tgis.register_maps_in_space_time_dataset(type="raster", name=self.strds_abs.get_name(),
     154                                                 maps="register_map_1",
     155                                                 start="2001-02-01", increment="1 day",
     156                                                 interval=True)
     157
     158        map = tgis.RasterDataset("register_map_1@" + tgis.get_current_mapset())
     159        map.select()
     160        start, end = map.get_absolute_time()
     161        self.assertEqual(start, datetime.datetime(2001, 2, 1))
     162        self.assertEqual(end, datetime.datetime(2001, 2, 2))
     163
     164        self.strds_abs.select()
     165        start, end = self.strds_abs.get_absolute_time()
     166        self.assertEqual(start, datetime.datetime(2001, 2, 1))
     167        self.assertEqual(end, datetime.datetime(2001, 2, 2))
     168
    117169    def test_absolute_time_1(self):
    118170        """Test the registration of maps with absolute time
Note: See TracChangeset for help on using the changeset viewer.