def test_temporal_extent1(self): """Testing the temporal extent operators. """ ta = tgis.TemporalVectorAlgebraParser(run = True, debug = True) ta.parse(expression="R = A {:,during,r} C", basename="r", overwrite=True) D = tgis.open_old_stds("R", type="stvds") self.assertTrue(D.is_in_db()) D.select() D.print_info() maplist = D.get_registered_maps_as_objects() self.assertEqual(D.metadata.get_number_of_maps(), 2) start, end = D.get_absolute_time() self.assertEqual(start, datetime.datetime(2001, 1, 2)) self.assertEqual(end, datetime.datetime(2001, 1, 4)) self.assertEqual(D.check_temporal_topology(), False) self.assertEqual(D.get_granularity(), u'2 days')
def test_temporal_buff_operators_1(self): """Testing the bufferoperator.""" tva = tgis.TemporalVectorAlgebraParser(run=True, debug=True) tva.parse(expression="R = buff_p(A,0.5)", basename="r", overwrite=True) D = tgis.open_old_stds("R", type="stvds") D.select() self.assertEqual(D.metadata.get_number_of_maps(), 4) self.assertEqual(D.metadata.get_number_of_points(), 0) self.assertEqual(D.metadata.get_number_of_areas(), 80) self.assertEqual(D.metadata.get_number_of_centroids(), 80) start, end = D.get_absolute_time() self.assertEqual(start, datetime.datetime(2001, 1, 1)) self.assertEqual(end, datetime.datetime(2001, 1, 5)) self.assertEqual(D.check_temporal_topology(), True) self.assertEqual(D.get_granularity(), u'1 day')
def test_temporal_overlay_operators_3(self): """Testing the spatial overlay operator.""" tva = tgis.TemporalVectorAlgebraParser(run = True, debug = True) tva.parse(expression="R = buff_p(A,2.5) {&,during,l} buff_p(C,2.5)", basename="r", overwrite=True) D = tgis.open_old_stds("R", type="stvds") self.assertTrue(D.is_in_db()) D.select() self.assertEqual(D.metadata.get_number_of_maps(), 2) self.assertEqual(D.metadata.get_number_of_points(), 0) self.assertEqual(D.metadata.get_number_of_areas(), 8) self.assertEqual(D.metadata.get_number_of_centroids(), 8) start, end = D.get_absolute_time() self.assertEqual(start, datetime.datetime(2001, 1, 2)) self.assertEqual(end, datetime.datetime(2001, 1, 4)) self.assertEqual(D.check_temporal_topology(), True) self.assertEqual(D.get_granularity(), u'1 day')
def test_temporal_select_operators(self): """Testing the temporal select operator. Including temporal relations. """ tva = tgis.TemporalVectorAlgebraParser(run = True, debug = True) tva.parse(expression="R = A {:,during} C", basename="r", overwrite=True) D = tgis.open_old_stds("R", type="stvds") self.assertTrue(D.is_in_db()) D.select() self.assertEqual(D.metadata.get_number_of_maps(), 2) self.assertEqual(D.metadata.get_number_of_points(), 40) self.assertEqual(D.metadata.get_number_of_areas(), 0) self.assertEqual(D.metadata.get_number_of_centroids(), 0) start, end = D.get_absolute_time() self.assertEqual(start, datetime.datetime(2001, 1, 2)) self.assertEqual(end, datetime.datetime(2001, 1, 4)) self.assertEqual(D.check_temporal_topology(), True) self.assertEqual(D.get_granularity(), u'1 day')
def main(): # lazy imports import grass.temporal as tgis expression = options['expression'] basename = options['basename'] spatial = flags["s"] stdstype = "stvds" # Check for PLY istallation try: import ply.lex as lex import ply.yacc as yacc except: grass.script.fatal(_("Please install PLY (Lex and Yacc Python implementation) to use the temporal algebra modules.")) tgis.init(True) p = tgis.TemporalVectorAlgebraParser(run = True, debug=False, spatial = spatial) p.parse(expression, basename, grass.script.overwrite())