Browse Source

pythontemporal: make doxygen more happy

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@51185 15284696-431f-4ddb-bdfa-cd5b030d7da7
Martin Landa 13 years ago
parent
commit
d36fc9d137

+ 26 - 26
lib/python/temporal/abstract_dataset.py

@@ -27,28 +27,28 @@ from spatial_extent import *
 from metadata import *
 
 class abstract_dataset(object):
-    """This is the base class for all datasets (raster, vector, raster3d, strds, stvds, str3ds)"""
+    """!This is the base class for all datasets (raster, vector, raster3d, strds, stvds, str3ds)"""
 
     def reset(self, ident):
-	"""Reset the internal structure and set the identifier
+	"""!Reset the internal structure and set the identifier
 
            @param ident: The identifier of the dataset
         """
 	raise IOError("This method must be implemented in the subclasses")
 
     def get_type(self):
-        """Return the type of this class"""
+        """!Return the type of this class"""
         raise IOError("This method must be implemented in the subclasses")
     
     def get_new_instance(self, ident):
-        """Return a new instance with the type of this class
+        """!Return a new instance with the type of this class
 
            @param ident: The identifier of the dataset
         """
         raise IOError("This method must be implemented in the subclasses")
 
     def spatial_overlapping(self, dataset):
-        """Return True if the spatial extents are overlapping"""
+        """!Return True if the spatial extents are overlapping"""
 
         raise IOError("This method must be implemented in the subclasses")
 
@@ -58,15 +58,15 @@ class abstract_dataset(object):
         raise IOError("This method must be implemented in the subclasses")
     
     def print_info(self):
-        """Print information about this class in human readable style"""
+        """!Print information about this class in human readable style"""
 	raise IOError("This method must be implemented in the subclasses")
         
     def print_shell_info(self):
-        """Print information about this class in shell style"""
+        """!Print information about this class in shell style"""
 	raise IOError("This method must be implemented in the subclasses")
  
     def print_self(self):
-	"""Print the content of the internal structure to stdout"""
+	"""!Print the content of the internal structure to stdout"""
 	self.base.print_self()
 	if self.is_time_absolute():
 	    self.absolute_time.print_self()
@@ -76,19 +76,19 @@ class abstract_dataset(object):
 	self.metadata.print_self()
 
     def get_id(self):
-	"""Return the unique identifier of the dataset"""
+	"""!Return the unique identifier of the dataset"""
         return self.base.get_id()
 
     def get_name(self):
-	"""Return the name"""
+	"""!Return the name"""
         return self.base.get_name()
 
     def get_mapset(self):
-	"""Return the mapset"""
+	"""!Return the mapset"""
         return self.base.get_mapset()
 
     def build_id(name, mapset, layer=None):
-	"""Build and return the id (primary key) based on name, mapset and layer of a dataset.
+	"""!Build and return the id (primary key) based on name, mapset and layer of a dataset.
 	
 	   @param name: The name of the map
 	   @param mapset: The name of the mapset
@@ -112,7 +112,7 @@ class abstract_dataset(object):
 	
 
     def get_valid_time(self):
-        """Returns a tuple of the start, the end valid time, this can be either datetime or double values
+        """!Returns a tuple of the start, the end valid time, this can be either datetime or double values
            @return A tuple of (start_time, end_time)
         """
 
@@ -129,7 +129,7 @@ class abstract_dataset(object):
         return (start, end)
  
     def get_absolute_time(self):
-        """Returns a tuple of the start, the end valid time and the timezone of the map
+        """!Returns a tuple of the start, the end valid time and the timezone of the map
            @return A tuple of (start_time, end_time, timezone)
         """
                
@@ -140,7 +140,7 @@ class abstract_dataset(object):
         return (start, end, tz)
     
     def get_relative_time(self):
-        """Returns the relative time interval (start_time, end_time, unit) or None if not present"""
+        """!Returns the relative time interval (start_time, end_time, unit) or None if not present"""
 
         start = self.relative_time.get_start_time()
         end = self.relative_time.get_end_time()
@@ -149,14 +149,14 @@ class abstract_dataset(object):
         return (start, end, unit)
  
     def get_relative_time_unit(self):
-        """Returns the relative time unit or None if not present"""
+        """!Returns the relative time unit or None if not present"""
 
         unit = self.relative_time.get_unit()
 
         return unit
 
     def check_relative_time_unit(self, unit):
-        """Check if unit is of type  years, months, days, hours, minutes or seconds
+        """!Check if unit is of type  years, months, days, hours, minutes or seconds
         
            Return True if success or False otherwise 
         """
@@ -167,11 +167,11 @@ class abstract_dataset(object):
         return True
  
     def get_temporal_type(self):
-        """Return the temporal type of this dataset"""
+        """!Return the temporal type of this dataset"""
         return self.base.get_ttype()
     
     def get_spatial_extent(self):
-        """Return a tuple of spatial extent (north, south, east, west, top, bottom) """
+        """!Return a tuple of spatial extent (north, south, east, west, top, bottom) """
         
         north = self.spatial_extent.get_north()
         south = self.spatial_extent.get_south()
@@ -183,7 +183,7 @@ class abstract_dataset(object):
         return (north, south, east, west, top, bottom)
 
     def select(self, dbif=None):
-	"""Select temporal dataset entry from database and fill up the internal structure"""
+	"""!Select temporal dataset entry from database and fill up the internal structure"""
 
         connect = False
 
@@ -208,15 +208,15 @@ class abstract_dataset(object):
             dbif.close()
         
     def is_in_db(self, dbif=None):
-	"""Check if the temporal dataset entry is in the database"""
+	"""!Check if the temporal dataset entry is in the database"""
 	return self.base.is_in_db(dbif)
 
     def delete(self):
-	"""Delete temporal dataset entry from database if it exists"""
+	"""!Delete temporal dataset entry from database if it exists"""
         raise IOError("This method must be implemented in the subclasses")
 
     def insert(self, dbif=None):
-	"""Insert temporal dataset entry into database from the internal structure"""
+	"""!Insert temporal dataset entry into database from the internal structure"""
 
         connect = False
 
@@ -242,7 +242,7 @@ class abstract_dataset(object):
             dbif.close()
  
     def update(self, dbif=None):
-	"""Update temporal dataset entry of database from the internal structure
+	"""!Update temporal dataset entry of database from the internal structure
 	   excluding None variables
 	"""
 
@@ -270,7 +270,7 @@ class abstract_dataset(object):
             dbif.close()
  
     def update_all(self, dbif=None):
-	"""Update temporal dataset entry of database from the internal structure
+	"""!Update temporal dataset entry of database from the internal structure
 	   and include None varuables.
 
            @param dbif: The database interface to be used
@@ -318,7 +318,7 @@ class abstract_dataset(object):
 	    return None
 
     def temporal_relation(self, map):
-	"""Return the temporal relation of this and the provided temporal map"""
+	"""!Return the temporal relation of this and the provided temporal map"""
 	if self.is_time_absolute() and map.is_time_absolute():
 	    return self.absolute_time.temporal_relation(map.absolute_time)
         if self.is_time_relative() and map.is_time_relative():

+ 23 - 23
lib/python/temporal/abstract_map_dataset.py

@@ -26,23 +26,23 @@ from datetime_math import *
 ###############################################################################
 
 class abstract_map_dataset(abstract_dataset):
-    """This is the base class for all maps (raster, vector, raster3d) 
+    """!This is the base class for all maps (raster, vector, raster3d) 
        providing additional function to set the valid time and the spatial extent.
     """
       
     def get_new_stds_instance(self, ident):
-        """Return a new space time dataset instance in which maps are stored with the type of this class
+        """!Return a new space time dataset instance in which maps are stored with the type of this class
 
            @param ident: The identifier of the dataset
         """
         raise IOError("This method must be implemented in the subclasses")
     
     def get_stds_register(self):
-        """Return the space time dataset register table name in which stds are listed in which this map is registered"""
+        """!Return the space time dataset register table name in which stds are listed in which this map is registered"""
         raise IOError("This method must be implemented in the subclasses")
 
     def set_stds_register(self, name):
-        """Set the space time dataset register table name.
+        """!Set the space time dataset register table name.
         
            This table stores all space time datasets in which this map is registered.
 
@@ -51,15 +51,15 @@ class abstract_map_dataset(abstract_dataset):
         raise IOError("This method must be implemented in the subclasses")
       
     def get_timestamp_module_name(self):
-        """Return the name of the C-module to set the time stamp in the file system"""
+        """!Return the name of the C-module to set the time stamp in the file system"""
         raise IOError("This method must be implemented in the subclasses")
    
     def load(self):
-        """Load the content of this object from map files"""
+        """!Load the content of this object from map files"""
         raise IOError("This method must be implemented in the subclasses")
  
     def check_resolution_with_current_region(self):
-        """Check if the raster or voxel resolution is finer than the current resolution
+        """!Check if the raster or voxel resolution is finer than the current resolution
            Return "finer" in case the raster/voxel resolution is finer than the current region
            Return "coarser" in case the raster/voxel resolution is coarser than the current region
 
@@ -68,7 +68,7 @@ class abstract_map_dataset(abstract_dataset):
         raise IOError("This method must be implemented in the subclasses")
 
     def get_map_id(self):
-	"""Return the map id. The map id is the unique map identifier in grass and must not be equal to the 
+	"""!Return the map id. The map id is the unique map identifier in grass and must not be equal to the 
 	   primary key identifier (id) of the map in the database. Since vector maps may have layer information,
 	   the unique id is a combination of name, layer and mapset.
 	   
@@ -79,7 +79,7 @@ class abstract_map_dataset(abstract_dataset):
         return self.base.get_map_id()
 
     def build_id(self, name, mapset, layer=None):
-	"""Convenient method to build the unique identifier
+	"""!Convenient method to build the unique identifier
 	
 	    Existing layer and mapset definitions in the name string will be reused
 
@@ -100,11 +100,11 @@ class abstract_map_dataset(abstract_dataset):
 	    return "%s@%s"%(name, mapset)
 	    
     def get_layer(self):
-	"""Return the layer of the map or None in case no layer is defined"""
+	"""!Return the layer of the map or None in case no layer is defined"""
 	return self.base.get_layer()
         
     def print_info(self):
-        """Print information about this class in human readable style"""
+        """!Print information about this class in human readable style"""
         
         if self.get_type() == "raster":
             #                1         2         3         4         5         6         7
@@ -145,7 +145,7 @@ class abstract_map_dataset(abstract_dataset):
         print " +----------------------------------------------------------------------------+"
 
     def print_shell_info(self):
-        """Print information about this class in shell style"""
+        """!Print information about this class in shell style"""
 	self.base.print_shell_info()
 	if self.is_time_absolute():
 	    self.absolute_time.print_shell_info()
@@ -165,7 +165,7 @@ class abstract_map_dataset(abstract_dataset):
         print "registered_datasets=" + string
 
     def set_absolute_time(self, start_time, end_time=None, timezone=None):
-        """Set the absolute time interval with start time and end time
+        """!Set the absolute time interval with start time and end time
         
            @param start_time: a datetime object specifying the start time of the map
            @param end_time: a datetime object specifying the end time of the map
@@ -202,7 +202,7 @@ class abstract_map_dataset(abstract_dataset):
         self.absolute_time.set_timezone(timezone)
 
     def update_absolute_time(self, start_time, end_time=None, timezone=None, dbif = None):
-        """Update the absolute time
+        """!Update the absolute time
 
            This method should always be used to set the absolute time. Do not use insert() or update()
            to the the time. This update functions assures that the *.timestamp commands are invoked.
@@ -228,7 +228,7 @@ class abstract_map_dataset(abstract_dataset):
         self.write_absolute_time_to_file()
 
     def write_absolute_time_to_file(self):
-        """Start the grass timestamp module to set the time in the file system"""
+        """!Start the grass timestamp module to set the time in the file system"""
 
         start_time, end_time, unit = self.get_absolute_time()
         start = datetime_to_grass_datetime_string(start_time)
@@ -239,7 +239,7 @@ class abstract_map_dataset(abstract_dataset):
         core.run_command(self.get_timestamp_module_name(), map=self.get_map_id(), date=start)
 
     def set_relative_time(self, start_time, end_time, unit):
-        """Set the relative time interval 
+        """!Set the relative time interval 
         
            @param start_time: A double value 
            @param end_time: A double value 
@@ -281,7 +281,7 @@ class abstract_map_dataset(abstract_dataset):
         return True
 
     def update_relative_time(self, start_time, end_time, unit, dbif = None):
-        """Update the relative time interval
+        """!Update the relative time interval
 
            This method should always be used to set the absolute time. Do not use insert() or update()
            to the the time. This update functions assures that the *.timestamp commands are invoked.
@@ -308,7 +308,7 @@ class abstract_map_dataset(abstract_dataset):
         self.write_relative_time_to_file()
 
     def write_relative_time_to_file(self):
-        """Start the grass timestamp module to set the time in the file system"""
+        """!Start the grass timestamp module to set the time in the file system"""
 
         start_time, end_time, unit = self.get_relative_time()
         start = "%i %s"%(int(start_time), unit)
@@ -318,7 +318,7 @@ class abstract_map_dataset(abstract_dataset):
         core.run_command(self.get_timestamp_module_name(), map=self.get_map_id(), date=start)
 
     def set_spatial_extent(self, north, south, east, west, top=0, bottom=0):
-        """Set the spatial extent of the map
+        """!Set the spatial extent of the map
 
            @param north: The northern edge
            @param south: The southern edge
@@ -330,7 +330,7 @@ class abstract_map_dataset(abstract_dataset):
         self.spatial_extent.set_spatial_extent(north, south, east, west, top, bottom)
         
     def check_valid_time(self):
-        """Check for correct valid time"""
+        """!Check for correct valid time"""
         if self.is_time_absolute():
             start, end, tz = self.get_absolute_time()
         else:
@@ -351,7 +351,7 @@ class abstract_map_dataset(abstract_dataset):
         return True
 
     def delete(self, dbif=None, update=True):
-	"""Delete a map entry from database if it exists
+	"""!Delete a map entry from database if it exists
         
             Remove dependent entries:
             * Remove the map entry in each space time dataset in which this map is registered
@@ -407,7 +407,7 @@ class abstract_map_dataset(abstract_dataset):
             dbif.close()
 
     def unregister(self, dbif=None, update=True):
-	""" Remove the map entry in each space time dataset in which this map is registered
+	"""! Remove the map entry in each space time dataset in which this map is registered
 
            @param dbif: The database interface to be used
            @param update: Call for each unregister statement the update from registered maps 
@@ -454,7 +454,7 @@ class abstract_map_dataset(abstract_dataset):
             dbif.close()
             
     def get_registered_datasets(self, dbif=None):
-        """Return all space time dataset ids in which this map is registered as
+        """!Return all space time dataset ids in which this map is registered as
            dictionary like rows with column "id" or None if this map is not registered in any
            space time dataset.
 

+ 29 - 29
lib/python/temporal/abstract_space_time_dataset.py

@@ -27,7 +27,7 @@ from temporal_relationships import *
 ###############################################################################
 
 class abstract_space_time_dataset(abstract_dataset):
-    """Abstract space time dataset class
+    """!Abstract space time dataset class
 
        This class represents a space time dataset. Convenient functions
        to select, update, insert or delete objects of this type in the SQL
@@ -43,18 +43,18 @@ class abstract_space_time_dataset(abstract_dataset):
         self.map_counter = 0
 
     def get_new_map_instance(self, ident=None):
-        """Return a new instance of a map dataset which is associated with the type of this class
+        """!Return a new instance of a map dataset which is associated with the type of this class
 
            @param ident: The unique identifier of the new object
         """
         raise IOError("This method must be implemented in the subclasses")
 
     def get_map_register(self):
-        """Return the name of the map register table"""
+        """!Return the name of the map register table"""
         raise IOError("This method must be implemented in the subclasses")
 
     def set_map_register(self, name):
-        """Set the name of the map register table
+        """!Set the name of the map register table
 
         This table stores all map names which are registered in this space time dataset.
 
@@ -63,7 +63,7 @@ class abstract_space_time_dataset(abstract_dataset):
         raise IOError("This method must be implemented in the subclasses")
  
     def print_self(self):
-	"""Print the content of the internal structure to stdout"""
+	"""!Print the content of the internal structure to stdout"""
 	self.base.print_self()
 	if self.is_time_absolute():
 	    self.absolute_time.print_self()
@@ -73,7 +73,7 @@ class abstract_space_time_dataset(abstract_dataset):
 	self.metadata.print_self()
 
     def print_info(self):
-        """Print information about this class in human readable style"""
+        """!Print information about this class in human readable style"""
         
         if self.get_type() == "strds":
             #                1         2         3         4         5         6         7
@@ -101,7 +101,7 @@ class abstract_space_time_dataset(abstract_dataset):
         print " +----------------------------------------------------------------------------+"
 
     def print_shell_info(self):
-        """Print information about this class in shell style"""
+        """!Print information about this class in shell style"""
 	self.base.print_shell_info()
 	if self.is_time_absolute():
 	    self.absolute_time.print_shell_info()
@@ -112,7 +112,7 @@ class abstract_space_time_dataset(abstract_dataset):
 
     def set_initial_values(self, temporal_type, semantic_type, \
                            title=None, description=None):
-        """Set the initial values of the space time dataset
+        """!Set the initial values of the space time dataset
 
            @param temporal_type: The temporal type of this space time dataset (absolute or relative)
            @param semantic_type: The semantic type of this dataset
@@ -132,11 +132,11 @@ class abstract_space_time_dataset(abstract_dataset):
         self.metadata.set_description(description)
 
     def get_semantic_type(self):
-        """Return the semantic type of this dataset"""
+        """!Return the semantic type of this dataset"""
         return self.base.get_semantic_type()
 
     def get_initial_values(self):
-        """Return the initial values: temporal_type, semantic_type, title, description"""
+        """!Return the initial values: temporal_type, semantic_type, title, description"""
         
         temporal_type = self.get_temporal_type()
         semantic_type = self.base.get_semantic_type()
@@ -146,7 +146,7 @@ class abstract_space_time_dataset(abstract_dataset):
         return temporal_type, semantic_type, title, description
 
     def get_granularity(self):
-        """Return the granularity"""
+        """!Return the granularity"""
         
         temporal_type = self.get_temporal_type()
 
@@ -171,7 +171,7 @@ class abstract_space_time_dataset(abstract_dataset):
             core.fatal(_("Unknown temporal type \"%s\"") % (temporal_type))
 
     def set_relative_time_unit(self, unit):
-        """Set the relative time unit which may be of type: years, months, days, hours, minutes or seconds
+        """!Set the relative time unit which may be of type: years, months, days, hours, minutes or seconds
         
            All maps registered in a (relative time) space time dataset must have the same unit
         """
@@ -184,7 +184,7 @@ class abstract_space_time_dataset(abstract_dataset):
             self.relative_time.set_unit(unit)
 
     def get_map_time(self):
-        """Return the type of the map time, interval, point, mixed or invalid"""
+        """!Return the type of the map time, interval, point, mixed or invalid"""
         
         temporal_type = self.get_temporal_type()
 
@@ -196,7 +196,7 @@ class abstract_space_time_dataset(abstract_dataset):
         return map_time
 
     def count_temporal_types(self, maps=None, dbif=None):
-        """Return the temporal type of the registered maps as dictionary
+        """!Return the temporal type of the registered maps as dictionary
 
            The map list must be ordered by start time
 
@@ -238,7 +238,7 @@ class abstract_space_time_dataset(abstract_dataset):
         return tcount
 
     def count_gaps(self, maps=None, dbif=None):
-        """Count the number of gaps between temporal neighbors
+        """!Count the number of gaps between temporal neighbors
         
            @param maps: A sorted (start_time) list of abstract_dataset objects
            @param dbif: The database interface to be used
@@ -260,7 +260,7 @@ class abstract_space_time_dataset(abstract_dataset):
         return gaps
         
     def print_temporal_relation_matrix(self, maps=None, dbif=None):
-        """Print the temporal relation matrix of all registered maps to stdout
+        """!Print the temporal relation matrix of all registered maps to stdout
 
            The temporal relation matrix includes the temporal relations between
            all registered maps. The relations are strings stored in a list of lists.
@@ -275,7 +275,7 @@ class abstract_space_time_dataset(abstract_dataset):
 	print_temporal_relations(maps, maps)
 
     def get_temporal_relation_matrix(self, maps=None, dbif=None):
-        """Return the temporal relation matrix of all registered maps as list of lists
+        """!Return the temporal relation matrix of all registered maps as list of lists
 
            The map list must be ordered by start time
 
@@ -291,7 +291,7 @@ class abstract_space_time_dataset(abstract_dataset):
         return get_temporal_relation_matrix(maps, maps)
 
     def count_temporal_relations(self, maps=None, dbif=None):
-        """Count the temporal relations between the registered maps.
+        """!Count the temporal relations between the registered maps.
 
            The map list must be ordered by start time. Temporal relations are counted 
            by analysing the sparse upper right side temporal relationships matrix.
@@ -307,7 +307,7 @@ class abstract_space_time_dataset(abstract_dataset):
         return count_temporal_relations(maps, maps)
 
     def check_temporal_topology(self, maps=None, dbif=None):
-        """Check the temporal topology
+        """!Check the temporal topology
 
            Correct topology means, that time intervals are not overlap or
            that intervals does not contain other intervals. Equal time intervals or
@@ -369,7 +369,7 @@ class abstract_space_time_dataset(abstract_dataset):
         return True
 
     def sample_by_dataset(self, stds, method=None, spatial=False, dbif=None):
-        """Sample this space time dataset with the temporal topology of a second space time dataset
+        """!Sample this space time dataset with the temporal topology of a second space time dataset
 
            The sample dataset must have "interval" as temporal map type, so all sample maps have valid interval time.
 
@@ -539,7 +539,7 @@ class abstract_space_time_dataset(abstract_dataset):
         return obj_list
 
     def get_registered_maps_as_objects_by_granularity(self, gran=None, dbif=None):
-        """Return all registered maps as ordered (by start_time) object list with 
+        """!Return all registered maps as ordered (by start_time) object list with 
            "gap" map objects (id==None) for temporal topological operations using the
            granularity of the space time dataset as increment. Each list entry is a list of map objects
            which are potentially located in the actual granule.
@@ -609,7 +609,7 @@ class abstract_space_time_dataset(abstract_dataset):
         return obj_list
 
     def get_registered_maps_as_objects_with_gaps(self, where=None, dbif=None):
-        """Return all registered maps as ordered (by start_time) object list with 
+        """!Return all registered maps as ordered (by start_time) object list with 
            "gap" map objects (id==None) for temporal topological operations
 
            Gaps between maps are identified as maps with id==None
@@ -663,7 +663,7 @@ class abstract_space_time_dataset(abstract_dataset):
         return obj_list
 
     def get_registered_maps_as_objects(self, where=None, order="start_time", dbif=None):
-        """Return all registered maps as ordered object list for temporal topological operations
+        """!Return all registered maps as ordered object list for temporal topological operations
 
            The objects are initialized with the id and the temporal extent (temporal type, start time, end time).
            In case more map information are needed, use the select() method for each listed object.
@@ -706,7 +706,7 @@ class abstract_space_time_dataset(abstract_dataset):
         return obj_list
 
     def get_registered_maps(self, columns=None, where = None, order = None, dbif=None):
-        """Return sqlite rows of all registered maps.
+        """!Return sqlite rows of all registered maps.
         
            In case columns are not specified, each row includes all columns specified in the datatype specific view
 
@@ -759,7 +759,7 @@ class abstract_space_time_dataset(abstract_dataset):
         return rows
 
     def delete(self, dbif=None):
-        """Delete a space time dataset from the temporal database
+        """!Delete a space time dataset from the temporal database
 
            This method removes the space time dataset from the temporal database and drops its map register table
 
@@ -813,7 +813,7 @@ class abstract_space_time_dataset(abstract_dataset):
             dbif.close()
             
     def register_map(self, map, dbif=None):
-        """ Register a map in the space time dataset.
+        """!Register a map in the space time dataset.
 
             This method takes care of the registration of a map
             in a space time dataset.
@@ -1032,7 +1032,7 @@ class abstract_space_time_dataset(abstract_dataset):
         return True
 
     def unregister_map(self, map, dbif = None):
-        """Unregister a map from the space time dataset.
+        """!Unregister a map from the space time dataset.
 
            This method takes care of the un-registration of a map
            from a space time dataset.
@@ -1107,7 +1107,7 @@ class abstract_space_time_dataset(abstract_dataset):
         self.map_counter -= 1
             
     def update_from_registered_maps(self, dbif = None):
-        """This methods updates the spatial and temporal extent as well as
+        """!This methods updates the spatial and temporal extent as well as
            type specific metadata. It should always been called after maps are registered
            or unregistered/deleted from the space time dataset.
 
@@ -1302,7 +1302,7 @@ class abstract_space_time_dataset(abstract_dataset):
 
 def create_temporal_relation_sql_where_statement(start, end, use_start=True, use_during=False, 
                                         use_overlap=False, use_contain=False, use_equal=False):
-    """ Create a SQL WHERE statement for temporal relation selection of maps in space time datasets
+    """!Create a SQL WHERE statement for temporal relation selection of maps in space time datasets
 
         @param start: The start time
         @param end: The end time

+ 2 - 2
lib/python/temporal/aggregation.py

@@ -27,7 +27,7 @@ from space_time_datasets import *
 ###############################################################################
 
 def collect_map_names(sp, dbif, start, end, sampling):
-    """Gather all maps from dataset using a specific sample method
+    """!Gather all maps from dataset using a specific sample method
 
        @param sp: The space time raster dataset to select aps from
        @param dbif: The temporal database interface to use
@@ -81,7 +81,7 @@ def collect_map_names(sp, dbif, start, end, sampling):
 ###############################################################################
 
 def aggregate_raster_maps(orig_ds, dataset, mapset, inputs, base, start, end, count, method, register_null, dbif):
-    """Aggregate a list of raster input maps with r.series
+    """!Aggregate a list of raster input maps with r.series
        
        @param orig_ds: Original space time raster dataset from which the maps are selected
        @param dataset: The new space time raster dataset to insert the aggregated map

+ 40 - 40
lib/python/temporal/base.py

@@ -34,7 +34,7 @@ class dict_sql_serializer(object):
     def __init__(self):
         self.D = {}
     def serialize(self, type, table, where=None):
-	"""Convert the internal dictionary into a string of semicolon separated SQL statements
+	"""!Convert the internal dictionary into a string of semicolon separated SQL statements
 	   The keys are the column names and the values are the row entries
 
 	   @type must be SELECT. INSERT, UPDATE
@@ -140,7 +140,7 @@ class dict_sql_serializer(object):
     	return sql, tuple(args)
 
     def deserialize(self, row):
-	"""Convert the content of the dbmi dictionary like row into the internal dictionary
+	"""!Convert the content of the dbmi dictionary like row into the internal dictionary
 
            @param row: The dictionary like row to store in the internal dict
         """
@@ -149,7 +149,7 @@ class dict_sql_serializer(object):
 	    self.D[key] = row[key]
 
     def clear(self):
-	"""Initialize the internal storage"""
+	"""!Initialize the internal storage"""
 	self.D = {}
 
     def print_self(self):
@@ -174,7 +174,7 @@ class dict_sql_serializer(object):
 ###############################################################################
 
 class sql_database_interface(dict_sql_serializer):
-    """This class represents the SQL database interface
+    """!This class represents the SQL database interface
 
        Functions to insert, select and update the internal structure of this class
        in the temporal database are implemented. The following DBMS are supported:
@@ -189,7 +189,7 @@ class sql_database_interface(dict_sql_serializer):
        * Metadata
     """
     def __init__(self, table=None, ident=None):
-        """Constructor of this class
+        """!Constructor of this class
 
            @param table: The name of the table
            @param ident: The identifier (primary key) of this object in the database table
@@ -200,11 +200,11 @@ class sql_database_interface(dict_sql_serializer):
         self.ident = ident
 
     def get_table_name(self):
-        """Return the name of the table in which the internal data are inserted, updated or selected"""
+        """!Return the name of the table in which the internal data are inserted, updated or selected"""
         return self.table
 
     def connect(self):
-        """Connect to the DBMI to execute SQL statements
+        """!Connect to the DBMI to execute SQL statements
 
            Supported backends are sqlite3 and postgresql
         """
@@ -223,7 +223,7 @@ class sql_database_interface(dict_sql_serializer):
 	    self.cursor = self.connection.cursor(cursor_factory=dbmi.extras.DictCursor)
 
     def close(self):
-        """Close the DBMI connection"""
+        """!Close the DBMI connection"""
         #print "Close connection to",  self.database
 	self.connection.commit()
         self.cursor.close()
@@ -232,7 +232,7 @@ class sql_database_interface(dict_sql_serializer):
 	return "DELETE FROM " + self.get_table_name() + " WHERE id = \'" + str(self.ident) + "\'"
 
     def delete(self, dbif=None):
-        """Delete the entry of this object from the temporal database"""
+        """!Delete the entry of this object from the temporal database"""
 	sql = self.get_delete_statement()
         #print sql
         
@@ -247,7 +247,7 @@ class sql_database_interface(dict_sql_serializer):
 	return "SELECT id FROM " + self.get_table_name() + " WHERE id = \'" + str(self.ident) + "\'"
 
     def is_in_db(self, dbif=None):
-        """Check if this object is present in the temporal database
+        """!Check if this object is present in the temporal database
 
            @param dbif: The database interface to be used
         """
@@ -274,7 +274,7 @@ class sql_database_interface(dict_sql_serializer):
 	return self.serialize("SELECT", self.get_table_name(), "WHERE id = \'" + str(self.ident) + "\'")
 
     def select(self, dbif=None):
-        """Select the content from the temporal database and store it
+        """!Select the content from the temporal database and store it
            in the internal dictionary structure
 
            @param dbif: The database interface to be used
@@ -313,7 +313,7 @@ class sql_database_interface(dict_sql_serializer):
 	return self.serialize("INSERT", self.get_table_name())
 
     def insert(self, dbif=None):
-        """Serialize the content of this object and store it in the temporal
+        """!Serialize the content of this object and store it in the temporal
            database using the internal identifier
 
            @param dbif: The database interface to be used
@@ -333,7 +333,7 @@ class sql_database_interface(dict_sql_serializer):
 	return self.serialize("UPDATE", self.get_table_name(), "WHERE id = \'" + str(self.ident) + "\'")
 
     def update(self, dbif=None):
-        """Serialize the content of this object and update it in the temporal
+        """!Serialize the content of this object and update it in the temporal
            database using the internal identifier
 
            Only object entries which are exists (not None) are updated
@@ -358,7 +358,7 @@ class sql_database_interface(dict_sql_serializer):
 	return self.serialize("UPDATE ALL", self.get_table_name(), "WHERE id = \'" + str(self.ident) + "\'")
 
     def update_all(self, dbif=None):
-        """Serialize the content of this object, including None objects, and update it in the temporal
+        """!Serialize the content of this object, including None objects, and update it in the temporal
            database using the internal identifier
 
            @param dbif: The database interface to be used
@@ -380,7 +380,7 @@ class sql_database_interface(dict_sql_serializer):
 ###############################################################################
 
 class dataset_base(sql_database_interface):
-    """This is the base class for all maps and spacetime datasets storing basic identification information"""
+    """!This is the base class for all maps and spacetime datasets storing basic identification information"""
     def __init__(self, table=None, ident=None, name=None, mapset=None, creator=None, ctime=None,\
 		    mtime=None, ttype=None, revision=1):
 
@@ -401,7 +401,7 @@ class dataset_base(sql_database_interface):
 	#self.set_revision(revision)
 
     def set_id(self, ident):
-	"""Convenient method to set the unique identifier (primary key)
+	"""!Convenient method to set the unique identifier (primary key)
 
            @param ident: The unique identifier should be a combination of the dataset name, layer name and the mapset name@mapset
         """
@@ -409,21 +409,21 @@ class dataset_base(sql_database_interface):
 	self.D["id"] = ident
 
     def set_name(self, name):
-	"""Set the name of the dataset
+	"""!Set the name of the dataset
 
            @param name: The name of the dataset
         """
 	self.D["name"] = name
 
     def set_mapset(self, mapset):
-	"""Set the mapset of the dataset
+	"""!Set the mapset of the dataset
 
            @param mapsets: The name of the mapset in which this dataset is stored
         """
 	self.D["mapset"] = mapset
 
     def set_layer(self, layer):
-	"""Convenient method to set the layer of the map (part of primary key)
+	"""!Convenient method to set the layer of the map (part of primary key)
 	
 	   Layer are currently supported for vector maps
 
@@ -432,14 +432,14 @@ class dataset_base(sql_database_interface):
 	self.D["layer"] = layer
 
     def set_creator(self, creator):
-	"""Set the creator of the dataset
+	"""!Set the creator of the dataset
 
            @param creator: The name of the creator
         """
 	self.D["creator"] = creator
 
     def set_ctime(self, ctime=None):
-	"""Set the creation time of the dataset, if nothing set the current time is used
+	"""!Set the creation time of the dataset, if nothing set the current time is used
 
            @param ctime: The current time of type datetime
         """
@@ -449,7 +449,7 @@ class dataset_base(sql_database_interface):
             self.D["creation_time"] = ctime
 
     def set_ttype(self, ttype):
-	"""Set the temporal type of the dataset: absolute or relative, if nothing set absolute time will assumed
+	"""!Set the temporal type of the dataset: absolute or relative, if nothing set absolute time will assumed
 
            @param ttype: The temporal type of the dataset "absolute or relative"
         """
@@ -459,18 +459,18 @@ class dataset_base(sql_database_interface):
 	    self.D["temporal_type"] = ttype
 
 #    def set_mtime(self, mtime=None):
-#	"""Set the modification time of the map, if nothing set the current time is used"""
+#	"""!Set the modification time of the map, if nothing set the current time is used"""
 #	if mtime == None:
 #            self.D["modification_time"] = datetime.now()
 #	else:
 #            self.D["modification_time"] = mtime
 
 #    def set_revision(self, revision=1):
-#	"""Set the revision of the map: if nothing set revision 1 will assumed"""
+#	"""!Set the revision of the map: if nothing set revision 1 will assumed"""
 #	self.D["revision"] = revision
 
     def get_id(self):
-	"""Convenient method to get the unique identifier (primary key)
+	"""!Convenient method to get the unique identifier (primary key)
         
 	   @return None if not found
 	"""
@@ -480,7 +480,7 @@ class dataset_base(sql_database_interface):
 	    return None
 
     def get_map_id(self):
-	"""Convenient method to get the unique map identifier without layer information
+	"""!Convenient method to get the unique map identifier without layer information
 
            @param return the name of the vector map as name@mapset
         """
@@ -492,7 +492,7 @@ class dataset_base(sql_database_interface):
 	    return id
 	    
     def get_layer(self):
-	"""Convenient method to get the layer of the map (part of primary key)
+	"""!Convenient method to get the layer of the map (part of primary key)
 	
 	   Layer are currently supported for vector maps
         
@@ -504,7 +504,7 @@ class dataset_base(sql_database_interface):
 	    return None
 
     def get_name(self):
-	"""Get the name of the dataset
+	"""!Get the name of the dataset
 	   @return None if not found"""
 	if self.D.has_key("name"):
 	    return self.D["name"]
@@ -512,7 +512,7 @@ class dataset_base(sql_database_interface):
 	    return None
 
     def get_mapset(self):
-	"""Get the name of mapset of this dataset
+	"""!Get the name of mapset of this dataset
 	   @return None if not found"""
 	if self.D.has_key("mapset"):
 	    return self.D["mapset"]
@@ -520,7 +520,7 @@ class dataset_base(sql_database_interface):
 	    return None
 
     def get_creator(self):
-	"""Get the creator of the dataset
+	"""!Get the creator of the dataset
 	   @return None if not found"""
 	if self.D.has_key("creator"):
 	    return self.D["creator"]
@@ -528,7 +528,7 @@ class dataset_base(sql_database_interface):
 	    return None
 
     def get_ctime(self):
-	"""Get the creation time of the dataset, datatype is datetime
+	"""!Get the creation time of the dataset, datatype is datetime
 	   @return None if not found"""
 	if self.D.has_key("creation_time"):
 	    return self.D["creation_time"]
@@ -536,7 +536,7 @@ class dataset_base(sql_database_interface):
 	    return None
 
     def get_ttype(self):
-	"""Get the temporal type of the map
+	"""!Get the temporal type of the map
 	   @return None if not found"""
 	if self.D.has_key("temporal_type"):
 	    return self.D["temporal_type"]
@@ -544,7 +544,7 @@ class dataset_base(sql_database_interface):
 	    return None
 
 #    def get_mtime(self):
-#	"""Get the modification time of the map, datatype is datetime
+#	"""!Get the modification time of the map, datatype is datetime
 #	   @return None if not found"""
 #	if self.D.has_key("modification_time"):
 #	    return self.D["modification_time"]
@@ -552,7 +552,7 @@ class dataset_base(sql_database_interface):
 #	    return None
 
 #    def get_revision(self):
-#	"""Get the revision of the map
+#	"""!Get the revision of the map
 #	   @return None if not found"""
 #	if self.D.has_key("revision"):
 #	    return self.D["revision"]
@@ -560,7 +560,7 @@ class dataset_base(sql_database_interface):
 #	    return None
 
     def print_info(self):
-        """Print information about this class in human readable style"""
+        """!Print information about this class in human readable style"""
         #      0123456789012345678901234567890
         print " +-------------------- Basic information -------------------------------------+"
         print " | Id: ........................ " + str(self.get_id())
@@ -575,7 +575,7 @@ class dataset_base(sql_database_interface):
 #        print " | Revision in database: ...... " + str(self.get_revision())
         
     def print_shell_info(self):
-        """Print information about this class in shell style"""
+        """!Print information about this class in shell style"""
         print "id=" + str(self.get_id())
         print "name=" + str(self.get_name())
         print "mapset=" + str(self.get_mapset())
@@ -630,11 +630,11 @@ class stds_base(dataset_base):
 	self.set_semantic_type(semantic_type)
 
     def set_semantic_type(self, semantic_type):
-	"""Set the semantic type of the space time dataset"""
+	"""!Set the semantic type of the space time dataset"""
 	self.D["semantic_type"] = semantic_type
 
     def get_semantic_type(self):
-	"""Get the semantic type of the space time dataset
+	"""!Get the semantic type of the space time dataset
 	   @return None if not found"""
 	if self.D.has_key("semantic_type"):
 	    return self.D["semantic_type"]
@@ -642,13 +642,13 @@ class stds_base(dataset_base):
 	    return None
 
     def print_info(self):
-        """Print information about this class in human readable style"""
+        """!Print information about this class in human readable style"""
         dataset_base.print_info(self)
         #      0123456789012345678901234567890
         print " | Semantic type:.............. " + str(self.get_semantic_type())
 
     def print_shell_info(self):
-        """Print information about this class in shell style"""
+        """!Print information about this class in shell style"""
         dataset_base.print_shell_info(self)
         print "semantic_type=" + str(self.get_semantic_type())
 

+ 1 - 1
lib/python/temporal/core.py

@@ -76,7 +76,7 @@ def get_sql_template_path():
 ###############################################################################
 
 def create_temporal_database():
-    """This function creates the grass location database structure for raster, vector and raster3d maps
+    """!This function creates the grass location database structure for raster, vector and raster3d maps
        as well as for the space-time datasets strds, str3ds and stvds
 
        This functions must be called before any spatio-temporal processing is started

+ 8 - 8
lib/python/temporal/datetime_math.py

@@ -28,7 +28,7 @@ from dateutil import parser
 ###############################################################################
 
 def relative_time_to_time_delta(value):
-    """Convert the double value representing days
+    """!Convert the double value representing days
        into a timedelta object.
     """
 
@@ -41,7 +41,7 @@ def relative_time_to_time_delta(value):
 ###############################################################################
 
 def time_delta_to_relative_time(delta):
-    """Convert the time delta into a
+    """!Convert the time delta into a
        double value, representing days.
     """
 
@@ -50,7 +50,7 @@ def time_delta_to_relative_time(delta):
 ###############################################################################
 
 def increment_datetime_by_string(mydate, increment, mult = 1):
-    """Return a new datetime object incremented with the provided relative dates specified as string.
+    """!Return a new datetime object incremented with the provided relative dates specified as string.
        Additional a multiplier can be specified to multiply the increment before adding to the provided datetime object.
 
        @param mydate A datetime object to incremented
@@ -103,7 +103,7 @@ def increment_datetime_by_string(mydate, increment, mult = 1):
 ###############################################################################
 
 def increment_datetime(mydate, years=0, months=0, weeks=0, days=0, hours=0, minutes=0, seconds=0):
-    """Return a new datetime object incremented with the provided relative dates and times"""
+    """!Return a new datetime object incremented with the provided relative dates and times"""
 
     tdelta_seconds = timedelta(seconds=seconds)
     tdelta_minutes = timedelta(minutes=minutes)
@@ -146,7 +146,7 @@ def increment_datetime(mydate, years=0, months=0, weeks=0, days=0, hours=0, minu
 ###############################################################################
 
 def adjust_datetime_to_granularity(mydate, granularity):
-    """Mofiy the datetime object to fit the given granularity    """
+    """!Mofiy the datetime object to fit the given granularity    """
 
     if granularity:
 
@@ -231,7 +231,7 @@ def adjust_datetime_to_granularity(mydate, granularity):
 ###############################################################################
 
 def compute_datetime_delta(start, end):
-    """Return a dictionary with the accumulated delta in year, month, day, hour, minute and second
+    """!Return a dictionary with the accumulated delta in year, month, day, hour, minute and second
     
        @return A dictionary with year, month, day, hour, minute and second as keys()
     """
@@ -319,7 +319,7 @@ def compute_datetime_delta(start, end):
 ###############################################################################
 
 def string_to_datetime(time_string):
-    """Convert a string into a datetime object using the dateutil parser. Return None in case of failure"""
+    """!Convert a string into a datetime object using the dateutil parser. Return None in case of failure"""
 
     # BC is not supported
     if time_string.find("bc") > 0:
@@ -335,7 +335,7 @@ def string_to_datetime(time_string):
 ###############################################################################
 
 def datetime_to_grass_datetime_string(dt):
-    """Convert a python datetime object into a GRASS datetime string"""
+    """!Convert a python datetime object into a GRASS datetime string"""
 
     # GRASS datetime month names
     month_names  = ["", "jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec"]

+ 80 - 80
lib/python/temporal/metadata.py

@@ -25,7 +25,7 @@ from base import *
 ###############################################################################
 
 class raster_metadata_base(sql_database_interface):
-    """This is the raster metadata base class for raster and raster3d maps"""
+    """!This is the raster metadata base class for raster and raster3d maps"""
     def __init__(self, table=None, ident=None, datatype=None, cols=None, rows=None, number_of_cells=None, nsres=None, ewres=None, min=None, max=None):
 
 	sql_database_interface.__init__(self, table, ident)
@@ -41,44 +41,44 @@ class raster_metadata_base(sql_database_interface):
 	self.set_max(max)
 
     def set_id(self, ident):
-	"""Convenient method to set the unique identifier (primary key)"""
+	"""!Convenient method to set the unique identifier (primary key)"""
 	self.ident = ident
 	self.D["id"] = ident
 
     def set_datatype(self, datatype):
-	"""Set the datatype"""
+	"""!Set the datatype"""
 	self.D["datatype"] = datatype
 
     def set_cols(self, cols):
-	"""Set the number of cols"""
+	"""!Set the number of cols"""
 	self.D["cols"] = cols
 
     def set_rows(self, rows):
-	"""Set the number of rows"""
+	"""!Set the number of rows"""
 	self.D["rows"] = rows
 
     def set_number_of_cells(self, number_of_cells):
-	"""Set the number of cells"""
+	"""!Set the number of cells"""
 	self.D["number_of_cells"] = number_of_cells
 
     def set_nsres(self, nsres):
-	"""Set the north-south resolution"""
+	"""!Set the north-south resolution"""
 	self.D["nsres"] = nsres
 
     def set_ewres(self, ewres):
-	"""Set the east-west resolution"""
+	"""!Set the east-west resolution"""
 	self.D["ewres"] = ewres
 
     def set_min(self, min):
-	"""Set the minimum raster value"""
+	"""!Set the minimum raster value"""
 	self.D["min"] = min
 
     def set_max(self, max):
-	"""Set the maximum raster value"""
+	"""!Set the maximum raster value"""
 	self.D["max"] = max
 
     def get_id(self):
-	"""Convenient method to get the unique identifier (primary key)
+	"""!Convenient method to get the unique identifier (primary key)
 	   @return None if not found
 	"""
 	if self.D.has_key("id"):
@@ -87,7 +87,7 @@ class raster_metadata_base(sql_database_interface):
 	    return None
 
     def get_datatype(self):
-	"""Get the map type 
+	"""!Get the map type 
 	   @return None if not found"""
 	if self.D.has_key("datatype"):
 	    return self.D["datatype"]
@@ -95,7 +95,7 @@ class raster_metadata_base(sql_database_interface):
 	    return None
 
     def get_cols(self):
-	"""Get number of cols 
+	"""!Get number of cols 
 	   @return None if not found"""
 	if self.D.has_key("cols"):
 	    return self.D["cols"]
@@ -103,7 +103,7 @@ class raster_metadata_base(sql_database_interface):
 	    return None
 
     def get_rows(self):
-	"""Get number of rows
+	"""!Get number of rows
 	   @return None if not found"""
 	if self.D.has_key("rows"):
 	    return self.D["rows"]
@@ -111,7 +111,7 @@ class raster_metadata_base(sql_database_interface):
 	    return None
 
     def get_number_of_cells(self):
-	"""Get number of cells 
+	"""!Get number of cells 
 	   @return None if not found"""
 	if self.D.has_key("number_of_cells"):
 	    return self.D["number_of_cells"]
@@ -119,7 +119,7 @@ class raster_metadata_base(sql_database_interface):
 	    return None
 
     def get_nsres(self):
-	"""Get the north-south resolution
+	"""!Get the north-south resolution
 	   @return None if not found"""
 	if self.D.has_key("nsres"):
 	    return self.D["nsres"]
@@ -127,7 +127,7 @@ class raster_metadata_base(sql_database_interface):
 	    return None
 
     def get_ewres(self):
-	"""Get east-west resolution
+	"""!Get east-west resolution
 	   @return None if not found"""
 	if self.D.has_key("ewres"):
 	    return self.D["ewres"]
@@ -135,7 +135,7 @@ class raster_metadata_base(sql_database_interface):
 	    return None
 
     def get_min(self):
-	"""Get the minimum cell value 
+	"""!Get the minimum cell value 
 	   @return None if not found"""
 	if self.D.has_key("min"):
 	    return self.D["min"]
@@ -143,7 +143,7 @@ class raster_metadata_base(sql_database_interface):
 	    return None
 
     def get_max(self):
-	"""Get the maximum cell value 
+	"""!Get the maximum cell value 
 	   @return None if not found"""
 	if self.D.has_key("max"):
 	    return self.D["max"]
@@ -151,7 +151,7 @@ class raster_metadata_base(sql_database_interface):
 	    return None
 
     def print_info(self):
-        """Print information about this class in human readable style"""
+        """!Print information about this class in human readable style"""
         #      0123456789012345678901234567890
         print " | Datatype:................... " + str(self.get_datatype())
         print " | Number of columns:.......... " + str(self.get_cols())
@@ -163,7 +163,7 @@ class raster_metadata_base(sql_database_interface):
         print " | Maximum value:.............. " + str(self.get_max())
 
     def print_shell_info(self):
-        """Print information about this class in shell style"""
+        """!Print information about this class in shell style"""
         print "datatype=" + str(self.get_datatype())
         print "cols=" + str(self.get_cols())
         print "rows=" + str(self.get_rows())
@@ -176,7 +176,7 @@ class raster_metadata_base(sql_database_interface):
 ###############################################################################
 
 class raster_metadata(raster_metadata_base):
-    """This is the raster metadata class"""
+    """!This is the raster metadata class"""
     def __init__(self, ident=None, strds_register=None, datatype=None, cols=None, rows=None, number_of_cells=None, nsres=None, ewres=None, min=None, max=None):
 
 	raster_metadata_base.__init__(self, "raster_metadata", ident, datatype, cols, rows, number_of_cells, nsres, ewres, min, max)
@@ -184,11 +184,11 @@ class raster_metadata(raster_metadata_base):
 	self.set_strds_register(strds_register)
 
     def set_strds_register(self, strds_register):
-	"""Set the space time raster dataset register table name"""
+	"""!Set the space time raster dataset register table name"""
 	self.D["strds_register"] = strds_register
 
     def get_strds_register(self):
-	"""Get the space time raster dataset register table name
+	"""!Get the space time raster dataset register table name
 	   @return None if not found"""
 	if self.D.has_key("strds_register"):
 	    return self.D["strds_register"]
@@ -196,21 +196,21 @@ class raster_metadata(raster_metadata_base):
 	    return None
 
     def print_info(self):
-        """Print information about this class in human readable style"""
+        """!Print information about this class in human readable style"""
         print " +-------------------- Metadata information ----------------------------------+"
         #      0123456789012345678901234567890
         raster_metadata_base.print_info(self)
         print " | STRDS register table ....... " + str(self.get_strds_register())
 
     def print_shell_info(self):
-        """Print information about this class in shell style"""
+        """!Print information about this class in shell style"""
         raster_metadata_base.print_shell_info(self)
         print "strds_register=" + str(self.get_strds_register())
 
 ###############################################################################
 
 class raster3d_metadata(raster_metadata_base):
-    """This is the raster3d metadata class"""
+    """!This is the raster3d metadata class"""
     def __init__(self, ident=None, str3ds_register=None, datatype=None, cols=None, rows=None, depths=None, number_of_cells=None, nsres=None, ewres=None, tbres=None, min=None, max=None):
 
 	raster_metadata_base.__init__(self, "raster3d_metadata", ident, datatype, cols, rows, number_of_cells, nsres, ewres, min, max)
@@ -220,19 +220,19 @@ class raster3d_metadata(raster_metadata_base):
 	self.set_depths(depths)
 
     def set_str3ds_register(self, str3ds_register):
-	"""Set the space time raster3d dataset register table name"""
+	"""!Set the space time raster3d dataset register table name"""
 	self.D["str3ds_register"] = str3ds_register
 
     def set_depths(self, depths):
-	"""Set the number of depths"""
+	"""!Set the number of depths"""
 	self.D["depths"] = depths
 
     def set_tbres(self, tbres):
-	"""Set the top-bottom resolution"""
+	"""!Set the top-bottom resolution"""
 	self.D["tbres"] = tbres
 
     def get_str3ds_register(self):
-	"""Get the space time raster3d dataset register table name
+	"""!Get the space time raster3d dataset register table name
 	   @return None if not found"""
 	if self.D.has_key("str3ds_register"):
 	    return self.D["str3ds_register"]
@@ -240,7 +240,7 @@ class raster3d_metadata(raster_metadata_base):
 	    return None
 
     def get_depths(self):
-	"""Get number of depths
+	"""!Get number of depths
 	   @return None if not found"""
 	if self.D.has_key("depths"):
 	    return self.D["depths"]
@@ -248,7 +248,7 @@ class raster3d_metadata(raster_metadata_base):
 	    return None
 
     def get_tbres(self):
-	"""Get top-bottom resolution
+	"""!Get top-bottom resolution
 	   @return None if not found"""
 	if self.D.has_key("tbres"):
 	    return self.D["tbres"]
@@ -256,7 +256,7 @@ class raster3d_metadata(raster_metadata_base):
 	    return None
 
     def print_info(self):
-        """Print information about this class in human readable style"""
+        """!Print information about this class in human readable style"""
         print " +-------------------- Metadata information ----------------------------------+"
         #      0123456789012345678901234567890
         raster_metadata_base.print_info(self)
@@ -266,7 +266,7 @@ class raster3d_metadata(raster_metadata_base):
         print " | STR3DS register table ...... " + str(self.get_str3ds_register())
 
     def print_shell_info(self):
-        """Print information about this class in shell style"""
+        """!Print information about this class in shell style"""
         print "str3ds_register=" + str(self.get_str3ds_register())
         print "depths=" + str(self.get_depths())
         print "tbres=" + str(self.get_tbres())
@@ -275,7 +275,7 @@ class raster3d_metadata(raster_metadata_base):
 ###############################################################################
 
 class vector_metadata(sql_database_interface):
-    """This is the vector metadata class"""
+    """!This is the vector metadata class"""
     def __init__(self, ident=None, stvds_register=None):
 
 	sql_database_interface.__init__(self, "vector_metadata", ident)
@@ -284,16 +284,16 @@ class vector_metadata(sql_database_interface):
 	self.set_stvds_register(stvds_register)
 
     def set_id(self, ident):
-	"""Convenient method to set the unique identifier (primary key)"""
+	"""!Convenient method to set the unique identifier (primary key)"""
 	self.ident = ident
 	self.D["id"] = ident
 
     def set_stvds_register(self, stvds_register):
-	"""Set the space time vector dataset register table name"""
+	"""!Set the space time vector dataset register table name"""
 	self.D["stvds_register"] = stvds_register
 
     def get_id(self):
-	"""Convenient method to get the unique identifier (primary key)
+	"""!Convenient method to get the unique identifier (primary key)
 	   @return None if not found
 	"""
 	if self.D.has_key("id"):
@@ -302,7 +302,7 @@ class vector_metadata(sql_database_interface):
 	    return None
 
     def get_stvds_register(self):
-	"""Get the space time vector dataset register table name
+	"""!Get the space time vector dataset register table name
 	   @return None if not found"""
 	if self.D.has_key("stvds_register"):
 	    return self.D["stvds_register"]
@@ -311,19 +311,19 @@ class vector_metadata(sql_database_interface):
 
 
     def print_info(self):
-        """Print information about this class in human readable style"""
+        """!Print information about this class in human readable style"""
         #      0123456789012345678901234567890
         print " +-------------------- Metadata information ----------------------------------+"
         print " | STVDS register table ....... " + str(self.get_stvds_register())
 
     def print_shell_info(self):
-        """Print information about this class in shell style"""
+        """!Print information about this class in shell style"""
         print "stvds_register=" + str(self.get_stvds_register())
 
 ###############################################################################
 
 class stds_metadata_base(sql_database_interface):
-    """This is the space time dataset metadata base class for strds, stvds and str3ds datasets
+    """!This is the space time dataset metadata base class for strds, stvds and str3ds datasets
        setting/getting the id, the title and the description
     """
     def __init__(self, table=None, ident=None, title=None, description=None):
@@ -337,20 +337,20 @@ class stds_metadata_base(sql_database_interface):
         self.D["number_of_maps"] = None
 
     def set_id(self, ident):
-	"""Convenient method to set the unique identifier (primary key)"""
+	"""!Convenient method to set the unique identifier (primary key)"""
 	self.ident = ident
 	self.D["id"] = ident
 
     def set_title(self, title):
-	"""Set the title"""
+	"""!Set the title"""
 	self.D["title"] = title
 
     def set_description(self, description):
-	"""Set the number of cols"""
+	"""!Set the number of cols"""
 	self.D["description"] = description
 
     def get_id(self):
-	"""Convenient method to get the unique identifier (primary key)
+	"""!Convenient method to get the unique identifier (primary key)
 	   @return None if not found
 	"""
 	if self.D.has_key("id"):
@@ -359,7 +359,7 @@ class stds_metadata_base(sql_database_interface):
 	    return None
 
     def get_title(self):
-	"""Get the title 
+	"""!Get the title 
 	   @return None if not found"""
 	if self.D.has_key("title"):
 	    return self.D["title"]
@@ -367,7 +367,7 @@ class stds_metadata_base(sql_database_interface):
 	    return None
 
     def get_description(self):
-	"""Get description 
+	"""!Get description 
 	   @return None if not found"""
 	if self.D.has_key("description"):
 	    return self.D["description"]
@@ -375,7 +375,7 @@ class stds_metadata_base(sql_database_interface):
 	    return None
 
     def get_number_of_maps(self):
-	"""Get the number of registered maps, this value is set in the database
+	"""!Get the number of registered maps, this value is set in the database
            automatically via SQL trigger, so no setter exists
 	   @return None if not found"""
 	if self.D.has_key("number_of_maps"):
@@ -384,7 +384,7 @@ class stds_metadata_base(sql_database_interface):
 	    return None
 
     def print_info(self):
-        """Print information about this class in human readable style"""
+        """!Print information about this class in human readable style"""
         #      0123456789012345678901234567890
         print " | Number of registered maps:.. " + str(self.get_number_of_maps())
         print " | Title:"
@@ -393,13 +393,13 @@ class stds_metadata_base(sql_database_interface):
         print " | " + str(self.get_description())
 
     def print_shell_info(self):
-        """Print information about this class in shell style"""
+        """!Print information about this class in shell style"""
         print "number_of_maps=" + str(self.get_number_of_maps())
 
 ###############################################################################
     
 class stds_raster_metadata_base(stds_metadata_base):
-    """This is the space time dataset metadata base class for strds and str3ds datasets
+    """!This is the space time dataset metadata base class for strds and str3ds datasets
        
        Most of the metadata values are set by triggers in the database when 
        new raster of voxel maps are added. Therefor only some set- an many get-functions 
@@ -420,7 +420,7 @@ class stds_raster_metadata_base(stds_metadata_base):
         self.D["ewres_max"] = None
 
     def get_max_min(self):
-	"""Get the minimal maximum of all registered maps, this value is set in the database
+	"""!Get the minimal maximum of all registered maps, this value is set in the database
            automatically via SQL trigger, so no setter exists
 	   @return None if not found"""
 	if self.D.has_key("max_min"):
@@ -429,7 +429,7 @@ class stds_raster_metadata_base(stds_metadata_base):
 	    return None
 
     def get_min_min(self):
-	"""Get the minimal minimum of all registered maps, this value is set in the database
+	"""!Get the minimal minimum of all registered maps, this value is set in the database
            automatically via SQL trigger, so no setter exists
 	   @return None if not found"""
 	if self.D.has_key("min_min"):
@@ -438,7 +438,7 @@ class stds_raster_metadata_base(stds_metadata_base):
 	    return None
 
     def get_max_max(self):
-	"""Get the maximal maximum of all registered maps, this value is set in the database
+	"""!Get the maximal maximum of all registered maps, this value is set in the database
            automatically via SQL trigger, so no setter exists
 	   @return None if not found"""
 	if self.D.has_key("max_max"):
@@ -447,7 +447,7 @@ class stds_raster_metadata_base(stds_metadata_base):
 	    return None
 
     def get_min_max(self):
-	"""Get the maximal minimum of all registered maps, this value is set in the database
+	"""!Get the maximal minimum of all registered maps, this value is set in the database
            automatically via SQL trigger, so no setter exists
 	   @return None if not found"""
 	if self.D.has_key("min_max"):
@@ -456,7 +456,7 @@ class stds_raster_metadata_base(stds_metadata_base):
 	    return None
 
     def get_nsres_min(self):
-	"""Get the minimal north-south resolution of all registered maps, this value is set in the database
+	"""!Get the minimal north-south resolution of all registered maps, this value is set in the database
            automatically via SQL trigger, so no setter exists
 	   @return None if not found"""
 	if self.D.has_key("nsres_min"):
@@ -465,7 +465,7 @@ class stds_raster_metadata_base(stds_metadata_base):
 	    return None
 
     def get_nsres_max(self):
-	"""Get the maximal north-south resolution of all registered maps, this value is set in the database
+	"""!Get the maximal north-south resolution of all registered maps, this value is set in the database
            automatically via SQL trigger, so no setter exists
 	   @return None if not found"""
 	if self.D.has_key("nsres_max"):
@@ -474,7 +474,7 @@ class stds_raster_metadata_base(stds_metadata_base):
 	    return None
 
     def get_ewres_min(self):
-	"""Get the minimal east-west resolution of all registered maps, this value is set in the database
+	"""!Get the minimal east-west resolution of all registered maps, this value is set in the database
            automatically via SQL trigger, so no setter exists
 	   @return None if not found"""
 	if self.D.has_key("ewres_min"):
@@ -483,7 +483,7 @@ class stds_raster_metadata_base(stds_metadata_base):
 	    return None
 
     def get_ewres_max(self):
-	"""Get the maximal east-west resolution of all registered maps, this value is set in the database
+	"""!Get the maximal east-west resolution of all registered maps, this value is set in the database
            automatically via SQL trigger, so no setter exists
 	   @return None if not found"""
 	if self.D.has_key("ewres_max"):
@@ -492,7 +492,7 @@ class stds_raster_metadata_base(stds_metadata_base):
 	    return None
 
     def print_info(self):
-        """Print information about this class in human readable style"""
+        """!Print information about this class in human readable style"""
         stds_metadata_base.print_info(self)
         #      0123456789012345678901234567890
         print " | North-South resolution min:. " + str(self.get_nsres_min())
@@ -505,7 +505,7 @@ class stds_raster_metadata_base(stds_metadata_base):
         print " | Maximum value max:.......... " + str(self.get_max_max())
 
     def print_shell_info(self):
-        """Print information about this class in shell style"""
+        """!Print information about this class in shell style"""
         stds_metadata_base.print_shell_info(self)
         print "nsres_min=" + str(self.get_nsres_min())
         print "nsres_max=" + str(self.get_nsres_max())
@@ -520,7 +520,7 @@ class stds_raster_metadata_base(stds_metadata_base):
 ###############################################################################
 
 class strds_metadata(stds_raster_metadata_base):
-    """This is the raster metadata class"""
+    """!This is the raster metadata class"""
     def __init__(self, ident=None, raster_register=None,  title=None, description=None):
 
 	stds_raster_metadata_base.__init__(self, "strds_metadata", ident, title, description)
@@ -528,11 +528,11 @@ class strds_metadata(stds_raster_metadata_base):
 	self.set_raster_register(raster_register)
 
     def set_raster_register(self, raster_register):
-	"""Set the raster map register table name"""
+	"""!Set the raster map register table name"""
 	self.D["raster_register"] = raster_register
 
     def get_raster_register(self):
-	"""Get the raster map register table name
+	"""!Get the raster map register table name
 	   @return None if not found"""
 	if self.D.has_key("raster_register"):
 	    return self.D["raster_register"]
@@ -540,21 +540,21 @@ class strds_metadata(stds_raster_metadata_base):
 	    return None
 
     def print_info(self):
-        """Print information about this class in human readable style"""
+        """!Print information about this class in human readable style"""
         print " +-------------------- Metadata information ----------------------------------+"
         #      0123456789012345678901234567890
         stds_raster_metadata_base.print_info(self)
         print " | Raster register table:...... " + str(self.get_raster_register())
 
     def print_shell_info(self):
-        """Print information about this class in shell style"""
+        """!Print information about this class in shell style"""
         stds_raster_metadata_base.print_shell_info(self)
         print "raster_register=" + str(self.get_raster_register())
 
 ###############################################################################
 
 class str3ds_metadata(stds_raster_metadata_base):
-    """This is the space time raster3d metadata class"""
+    """!This is the space time raster3d metadata class"""
     def __init__(self, ident=None, raster3d_register=None,  title=None, description=None):
 
 	stds_raster_metadata_base.__init__(self, "str3ds_metadata", ident, title, description)
@@ -564,11 +564,11 @@ class str3ds_metadata(stds_raster_metadata_base):
         self.D["tbres_max"] = None
 
     def set_raster3d_register(self, raster3d_register):
-	"""Set the raster map register table name"""
+	"""!Set the raster map register table name"""
 	self.D["raster3d_register"] = raster3d_register
 
     def get_raster3d_register(self):
-	"""Get the raster3d map register table name
+	"""!Get the raster3d map register table name
 	   @return None if not found"""
 	if self.D.has_key("raster3d_register"):
 	    return self.D["raster3d_register"]
@@ -576,7 +576,7 @@ class str3ds_metadata(stds_raster_metadata_base):
 	    return None
 
     def get_tbres_min(self):
-	"""Get the minimal top-bottom resolution of all registered maps, this value is set in the database
+	"""!Get the minimal top-bottom resolution of all registered maps, this value is set in the database
            automatically via SQL trigger, so no setter exists
 	   @return None if not found"""
 	if self.D.has_key("tbres_min"):
@@ -585,7 +585,7 @@ class str3ds_metadata(stds_raster_metadata_base):
 	    return None
 
     def get_tbres_max(self):
-	"""Get the maximal top-bottom resolution of all registered maps, this value is set in the database
+	"""!Get the maximal top-bottom resolution of all registered maps, this value is set in the database
            automatically via SQL trigger, so no setter exists
 	   @return None if not found"""
 	if self.D.has_key("tbres_max"):
@@ -594,7 +594,7 @@ class str3ds_metadata(stds_raster_metadata_base):
 	    return None
 
     def print_info(self):
-        """Print information about this class in human readable style"""
+        """!Print information about this class in human readable style"""
         print " +-------------------- Metadata information ----------------------------------+"
         #      0123456789012345678901234567890
         stds_raster_metadata_base.print_info(self)
@@ -604,7 +604,7 @@ class str3ds_metadata(stds_raster_metadata_base):
         print " | Raster3d register table:.... " + str(self.get_raster3d_register())
 
     def print_shell_info(self):
-        """Print information about this class in shell style"""
+        """!Print information about this class in shell style"""
         stds_raster_metadata_base.print_shell_info(self)
         print "tbres_min=" + str(self.get_tbres_min())
         print "tbres_max=" + str(self.get_tbres_max())
@@ -613,7 +613,7 @@ class str3ds_metadata(stds_raster_metadata_base):
 ###############################################################################
 
 class stvds_metadata(stds_metadata_base):
-    """This is the raster metadata class"""
+    """!This is the raster metadata class"""
     def __init__(self, ident=None, vector_register=None,  title=None, description=None):
 
 	stds_metadata_base.__init__(self, "stvds_metadata", ident, title, description)
@@ -621,11 +621,11 @@ class stvds_metadata(stds_metadata_base):
 	self.set_vector_register(vector_register)
 
     def set_vector_register(self, vector_register):
-	"""Set the vector map register table name"""
+	"""!Set the vector map register table name"""
 	self.D["vector_register"] = vector_register
 
     def get_vector_register(self):
-	"""Get the vector map register table name
+	"""!Get the vector map register table name
 	   @return None if not found"""
 	if self.D.has_key("vector_register"):
 	    return self.D["vector_register"]
@@ -633,14 +633,14 @@ class stvds_metadata(stds_metadata_base):
 	    return None
 
     def print_info(self):
-        """Print information about this class in human readable style"""
+        """!Print information about this class in human readable style"""
         print " +-------------------- Metadata information ----------------------------------+"
         #      0123456789012345678901234567890
         stds_metadata_base.print_info(self)
         print " | Vector register table:...... " + str(self.get_vector_register())
 
     def print_shell_info(self):
-        """Print information about this class in shell style"""
+        """!Print information about this class in shell style"""
         stds_metadata_base.print_shell_info(self)
         print "vector_register=" + str(self.get_vector_register())
 

+ 49 - 49
lib/python/temporal/space_time_datasets.py

@@ -33,7 +33,7 @@ from abstract_space_time_dataset import *
 ###############################################################################
 
 class raster_dataset(abstract_map_dataset):
-    """Raster dataset class
+    """!Raster dataset class
 
        This class provides functions to select, update, insert or delete raster
        map information and valid time stamps into the SQL temporal database.
@@ -45,27 +45,27 @@ class raster_dataset(abstract_map_dataset):
         return "raster"
 
     def get_new_instance(self, ident):
-        """Return a new instance with the type of this class"""
+        """!Return a new instance with the type of this class"""
         return raster_dataset(ident)
 
     def get_new_stds_instance(self, ident):
-        """Return a new space time dataset instance in which maps are stored with the type of this class"""
+        """!Return a new space time dataset instance in which maps are stored with the type of this class"""
         return space_time_raster_dataset(ident)
 
     def get_stds_register(self):
-        """Return the space time dataset register table name in which stds are listed in which this map is registered"""
+        """!Return the space time dataset register table name in which stds are listed in which this map is registered"""
         return self.metadata.get_strds_register()
 
     def set_stds_register(self, name):
-        """Set the space time dataset register table name in which stds are listed in which this map is registered"""
+        """!Set the space time dataset register table name in which stds are listed in which this map is registered"""
         self.metadata.set_strds_register(name)
  
     def get_timestamp_module_name(self):
-        """Return the name of the C-module to set the time stamp in the file system"""
+        """!Return the name of the C-module to set the time stamp in the file system"""
         return "r.timestamp"
 
     def spatial_overlapping(self, dataset):
-        """Return True if the spatial extents 2d overlap"""
+        """!Return True if the spatial extents 2d overlap"""
         
         return self.spatial_extent.overlapping_2d(dataset.spatial_extent)
 
@@ -75,7 +75,7 @@ class raster_dataset(abstract_map_dataset):
         return self.spatial_extent.spatial_relation_2d(dataset.spatial_extent)
 	
     def reset(self, ident):
-	"""Reset the internal structure and set the identifier"""
+	"""!Reset the internal structure and set the identifier"""
 	self.ident = ident
 
 	self.base = raster_base(ident=ident)
@@ -85,7 +85,7 @@ class raster_dataset(abstract_map_dataset):
 	self.metadata = raster_metadata(ident=ident)
 
     def load(self):
-        """Load all info from an existing raster map into the internal structure"""
+        """!Load all info from an existing raster map into the internal structure"""
 
         # Get the data from an existing raster map
         kvp = raster.raster_info(self.get_map_id())
@@ -121,7 +121,7 @@ class raster_dataset(abstract_map_dataset):
 ###############################################################################
 
 class raster3d_dataset(abstract_map_dataset):
-    """Raster3d dataset class
+    """!Raster3d dataset class
 
        This class provides functions to select, update, insert or delete raster3d
        map information and valid time stamps into the SQL temporal database.
@@ -133,27 +133,27 @@ class raster3d_dataset(abstract_map_dataset):
         return "raster3d"
 
     def get_new_instance(self, ident):
-        """Return a new instance with the type of this class"""
+        """!Return a new instance with the type of this class"""
         return raster3d_dataset(ident)
 
     def get_new_stds_instance(self, ident):
-        """Return a new space time dataset instance in which maps are stored with the type of this class"""
+        """!Return a new space time dataset instance in which maps are stored with the type of this class"""
         return space_time_raster3d_dataset(ident)
 
     def get_stds_register(self):
-        """Return the space time dataset register table name in which stds are listed in which this map is registered"""
+        """!Return the space time dataset register table name in which stds are listed in which this map is registered"""
         return self.metadata.get_str3ds_register()
 
     def set_stds_register(self, name):
-        """Set the space time dataset register table name in which stds are listed in which this map is registered"""
+        """!Set the space time dataset register table name in which stds are listed in which this map is registered"""
         self.metadata.set_str3ds_register(name)
  
     def get_timestamp_module_name(self):
-        """Return the name of the C-module to set the time stamp in the file system"""
+        """!Return the name of the C-module to set the time stamp in the file system"""
         return "r3.timestamp"
 
     def spatial_overlapping(self, dataset):
-        """Return True if the spatial extents overlap"""
+        """!Return True if the spatial extents overlap"""
         
         if self.get_type() == dataset.get_type() or dataset.get_type() == "str3ds":
             return self.spatial_extent.overlapping(dataset.spatial_extent)
@@ -169,7 +169,7 @@ class raster3d_dataset(abstract_map_dataset):
             return self.spatial_extent.spatial_relation_2d(dataset.spatial_extent)
         
     def reset(self, ident):
-	"""Reset the internal structure and set the identifier"""
+	"""!Reset the internal structure and set the identifier"""
 	self.ident = ident
 
 	self.base = raster3d_base(ident=ident)
@@ -179,7 +179,7 @@ class raster3d_dataset(abstract_map_dataset):
 	self.metadata = raster3d_metadata(ident=ident)
 
     def load(self):
-        """Load all info from an existing raster3d map into the internal structure"""
+        """!Load all info from an existing raster3d map into the internal structure"""
 
         # Get the data from an existing raster map
         kvp = raster3d.raster3d_info(self.get_map_id())
@@ -219,7 +219,7 @@ class raster3d_dataset(abstract_map_dataset):
 ###############################################################################
 
 class vector_dataset(abstract_map_dataset):
-    """Vector dataset class
+    """!Vector dataset class
 
        This class provides functions to select, update, insert or delete vector
        map information and valid time stamps into the SQL temporal database.
@@ -231,31 +231,31 @@ class vector_dataset(abstract_map_dataset):
         return "vector"
 
     def get_new_instance(self, ident):
-        """Return a new instance with the type of this class"""
+        """!Return a new instance with the type of this class"""
         return vector_dataset(ident)
 
     def get_new_stds_instance(self, ident):
-        """Return a new space time dataset instance in which maps are stored with the type of this class"""
+        """!Return a new space time dataset instance in which maps are stored with the type of this class"""
         return space_time_vector_dataset(ident)
 
     def get_stds_register(self):
-        """Return the space time dataset register table name in which stds are listed in which this map is registered"""
+        """!Return the space time dataset register table name in which stds are listed in which this map is registered"""
         return self.metadata.get_stvds_register()
 
     def set_stds_register(self, name):
-        """Set the space time dataset register table name in which stds are listed in which this map is registered"""
+        """!Set the space time dataset register table name in which stds are listed in which this map is registered"""
         self.metadata.set_stvds_register(name)
  
     def get_timestamp_module_name(self):
-        """Return the name of the C-module to set the time stamp in the file system"""
+        """!Return the name of the C-module to set the time stamp in the file system"""
         return "v.timestamp"
 
     def get_layer(self):
-        """Return the layer"""
+        """!Return the layer"""
         return self.base.get_layer()
 
     def spatial_overlapping(self, dataset):
-        """Return True if the spatial extents 2d overlap"""
+        """!Return True if the spatial extents 2d overlap"""
         
         return self.spatial_extent.overlapping_2d(dataset.spatial_extent)
 
@@ -266,7 +266,7 @@ class vector_dataset(abstract_map_dataset):
 	
 
     def reset(self, ident):
-	"""Reset the internal structure and set the identifier"""
+	"""!Reset the internal structure and set the identifier"""
 	self.ident = ident
 
 	self.base = vector_base(ident=ident)
@@ -276,7 +276,7 @@ class vector_dataset(abstract_map_dataset):
 	self.metadata = vector_metadata(ident=ident)
 
     def load(self):
-        """Load all info from an existing vector map into the internal structure"""
+        """!Load all info from an existing vector map into the internal structure"""
 
         # Get the data from an existing raster map
         kvp = vector.vector_info(self.get_map_id())
@@ -301,7 +301,7 @@ class vector_dataset(abstract_map_dataset):
 ###############################################################################
 
 class space_time_raster_dataset(abstract_space_time_dataset):
-    """Space time raster dataset class
+    """!Space time raster dataset class
     """
     def __init__(self, ident):
         abstract_space_time_dataset.__init__(self, ident)
@@ -310,23 +310,23 @@ class space_time_raster_dataset(abstract_space_time_dataset):
         return "strds"
 
     def get_new_instance(self, ident):
-        """Return a new instance with the type of this class"""
+        """!Return a new instance with the type of this class"""
         return space_time_raster_dataset(ident)
 
     def get_new_map_instance(self, ident):
-        """Return a new instance of a map dataset which is associated with the type of this class"""
+        """!Return a new instance of a map dataset which is associated with the type of this class"""
         return raster_dataset(ident)
 
     def get_map_register(self):
-        """Return the name of the map register table"""
+        """!Return the name of the map register table"""
         return self.metadata.get_raster_register()
 
     def set_map_register(self, name):
-        """Set the name of the map register table"""
+        """!Set the name of the map register table"""
         self.metadata.set_raster_register(name)
 
     def spatial_overlapping(self, dataset):
-        """Return True if the spatial extents 2d overlap"""
+        """!Return True if the spatial extents 2d overlap"""
         
         return self.spatial_extent.overlapping_2d(dataset.spatial_extent)
 
@@ -337,7 +337,7 @@ class space_time_raster_dataset(abstract_space_time_dataset):
 	
     def reset(self, ident):
 
-	"""Reset the internal structure and set the identifier"""
+	"""!Reset the internal structure and set the identifier"""
 	self.ident = ident
 
 	self.base = strds_base(ident=ident)
@@ -354,7 +354,7 @@ class space_time_raster_dataset(abstract_space_time_dataset):
 ###############################################################################
 
 class space_time_raster3d_dataset(abstract_space_time_dataset):
-    """Space time raster3d dataset class
+    """!Space time raster3d dataset class
     """
 
     def __init__(self, ident):
@@ -364,23 +364,23 @@ class space_time_raster3d_dataset(abstract_space_time_dataset):
         return "str3ds"
 
     def get_new_instance(self, ident):
-        """Return a new instance with the type of this class"""
+        """!Return a new instance with the type of this class"""
         return space_time_raster3d_dataset(ident)
 
     def get_new_map_instance(self, ident):
-        """Return a new instance of a map dataset which is associated with the type of this class"""
+        """!Return a new instance of a map dataset which is associated with the type of this class"""
         return raster3d_dataset(ident)
 
     def get_map_register(self):
-        """Return the name of the map register table"""
+        """!Return the name of the map register table"""
         return self.metadata.get_raster3d_register()
 
     def set_map_register(self, name):
-        """Set the name of the map register table"""
+        """!Set the name of the map register table"""
         self.metadata.set_raster3d_register(name)
 
     def spatial_overlapping(self, dataset):
-        """Return True if the spatial extents overlap"""
+        """!Return True if the spatial extents overlap"""
         
         if self.get_type() == dataset.get_type() or dataset.get_type() == "str3ds":
             return self.spatial_extent.overlapping(dataset.spatial_extent)
@@ -397,7 +397,7 @@ class space_time_raster3d_dataset(abstract_space_time_dataset):
         
     def reset(self, ident):
 
-	"""Reset the internal structure and set the identifier"""
+	"""!Reset the internal structure and set the identifier"""
 	self.ident = ident
 
 	self.base = str3ds_base(ident=ident)
@@ -414,7 +414,7 @@ class space_time_raster3d_dataset(abstract_space_time_dataset):
 ###############################################################################
 
 class space_time_vector_dataset(abstract_space_time_dataset):
-    """Space time vector dataset class
+    """!Space time vector dataset class
     """
 
     def __init__(self, ident):
@@ -424,23 +424,23 @@ class space_time_vector_dataset(abstract_space_time_dataset):
         return "stvds"
 
     def get_new_instance(self, ident):
-        """Return a new instance with the type of this class"""
+        """!Return a new instance with the type of this class"""
         return space_time_vector_dataset(ident)
 
     def get_new_map_instance(self, ident):
-        """Return a new instance of a map dataset which is associated with the type of this class"""
+        """!Return a new instance of a map dataset which is associated with the type of this class"""
         return vector_dataset(ident)
 
     def get_map_register(self):
-        """Return the name of the map register table"""
+        """!Return the name of the map register table"""
         return self.metadata.get_vector_register()
 
     def set_map_register(self, name):
-        """Set the name of the map register table"""
+        """!Set the name of the map register table"""
         self.metadata.set_vector_register(name)
 
     def spatial_overlapping(self, dataset):
-        """Return True if the spatial extents 2d overlap"""
+        """!Return True if the spatial extents 2d overlap"""
         
         return self.spatial_extent.overlapping_2d(dataset.spatial_extent)
 
@@ -451,7 +451,7 @@ class space_time_vector_dataset(abstract_space_time_dataset):
 
     def reset(self, ident):
 
-	"""Reset the internal structure and set the identifier"""
+	"""!Reset the internal structure and set the identifier"""
 	self.ident = ident
 
 	self.base = stvds_base(ident=ident)

+ 5 - 5
lib/python/temporal/space_time_datasets_tools.py

@@ -29,7 +29,7 @@ from space_time_datasets import *
 def register_maps_in_space_time_dataset(type, name, maps=None, file=None, start=None, \
                                         end=None, unit=None, increment=None, dbif = None, \
                                         interval=False, fs="|"):
-    """Use this method to register maps in space time datasets. This function is generic and
+    """!Use this method to register maps in space time datasets. This function is generic and
 
        Additionally a start time string and an increment string can be specified
        to assign a time interval automatically to the maps.
@@ -231,7 +231,7 @@ def register_maps_in_space_time_dataset(type, name, maps=None, file=None, start=
 ###############################################################################
 
 def assign_valid_time_to_map(ttype, map, start, end, unit, increment=None, mult=1, dbif = None, interval=False):
-    """Assign the valid time to a map dataset
+    """!Assign the valid time to a map dataset
 
        @param ttype: The temporal type which should be assigned and which the time format is of
        @param map: A map dataset object derived from abstract_map_dataset
@@ -300,7 +300,7 @@ def assign_valid_time_to_map(ttype, map, start, end, unit, increment=None, mult=
 ###############################################################################
 
 def dataset_factory(type, id):
-    """A factory functions to create space time or map datasets
+    """!A factory functions to create space time or map datasets
     
        @param type: the dataset type: rast, rast3d, vect, strds, str3ds, stvds
        @param id: The id of the dataset ("name@mapset")
@@ -326,7 +326,7 @@ def dataset_factory(type, id):
 ###############################################################################
 
 def list_maps_of_stds(type, input, columns, order, where, separator, method, header):
-    """ List the maps of a space time dataset using diffetent methods
+    """! List the maps of a space time dataset using diffetent methods
 
         @param type: The type of the maps raster, raster3d or vector
         @param input: Name of a space time raster dataset
@@ -472,7 +472,7 @@ def list_maps_of_stds(type, input, columns, order, where, separator, method, hea
 ###############################################################################
 
 def sample_stds_by_stds_topology(intype, sampletype, inputs, sampler, header, separator, method, spatial=False):
-    """ Sample the input space time datasets with a sample space time dataset and print the result to stdout
+    """! Sample the input space time datasets with a sample space time dataset and print the result to stdout
 
         In case multiple maps are located in the current granule, the map names are separated by comma.
         

+ 5 - 5
lib/python/temporal/spatial_extent.py

@@ -23,7 +23,7 @@ for details.
 from base import *
 
 class spatial_extent(sql_database_interface):
-    """This is the spatial extent base class for all maps and spacetime datasets"""
+    """!This is the spatial extent base class for all maps and spacetime datasets"""
     def __init__(self, table=None, ident=None, north=None, south=None, east=None, west=None, top=None, bottom=None, proj="XY"):
 
 	sql_database_interface.__init__(self, table, ident)
@@ -32,7 +32,7 @@ class spatial_extent(sql_database_interface):
 	self.set_projection(proj)
         
     def overlapping_2d(self, extent):
-        """Return True if the two dimensional extents overlap. Code is lend from wind_overlap.c in lib/gis
+        """!Return True if the two dimensional extents overlap. Code is lend from wind_overlap.c in lib/gis
         
 	   Overlapping includes the spatial relations:
 	   * contain
@@ -76,7 +76,7 @@ class spatial_extent(sql_database_interface):
         return True
 
     def overlapping(self, extent):
-        """Return True if the three dimensional extents overlap
+        """!Return True if the three dimensional extents overlap
         
 	   Overlapping includes the spatial relations:
 	   * contain
@@ -101,7 +101,7 @@ class spatial_extent(sql_database_interface):
         return True
 
     def intersect_2d(self, extent):
-	"""Return the two dimensional intersection as spatial_extent object or None
+	"""!Return the two dimensional intersection as spatial_extent object or None
 	   in case no intersection was found.
 	"""
 	
@@ -148,7 +148,7 @@ class spatial_extent(sql_database_interface):
 	return new
 
     def intersect(self, extent):
-	"""Return the three dimensional intersection as spatial_extent object or None
+	"""!Return the three dimensional intersection as spatial_extent object or None
 	   in case no intersection was found.
 	"""
 	

+ 47 - 47
lib/python/temporal/temporal_extent.py

@@ -25,7 +25,7 @@ from base import *
 ###############################################################################
 
 class abstract_temporal_extent(sql_database_interface):
-    """This is the abstract time base class for relative and absolute time objects"""
+    """!This is the abstract time base class for relative and absolute time objects"""
     def __init__(self, table=None, ident=None, start_time=None, end_time=None):
 
 	sql_database_interface.__init__(self, table, ident)
@@ -35,7 +35,7 @@ class abstract_temporal_extent(sql_database_interface):
 	self.set_end_time(end_time)
 
     def starts(self, extent):
-	"""Return True if this time object starts at the start of the provided time object and finishes within it
+	"""!Return True if this time object starts at the start of the provided time object and finishes within it
 	   A  |-----|
 	   B  |---------|
 	"""
@@ -48,7 +48,7 @@ class abstract_temporal_extent(sql_database_interface):
 	    return False
 
     def started(self, extent):
-	"""Return True if this time object is started at the start of the provided time object
+	"""!Return True if this time object is started at the start of the provided time object
 	   A  |---------|
 	   B  |-----|
 	"""
@@ -61,7 +61,7 @@ class abstract_temporal_extent(sql_database_interface):
 	    return False
 
     def finishes(self, extent):
-	"""Return True if this time object finishes at the end and within of the provided time object
+	"""!Return True if this time object finishes at the end and within of the provided time object
 	   A      |-----|
 	   B  |---------|
 	"""
@@ -74,7 +74,7 @@ class abstract_temporal_extent(sql_database_interface):
 	    return False
 
     def finished(self, extent):
-	"""Return True if this time object finished at the end of the provided time object
+	"""!Return True if this time object finished at the end of the provided time object
 	   A  |---------|
 	   B      |-----|
 	"""
@@ -87,7 +87,7 @@ class abstract_temporal_extent(sql_database_interface):
 	    return False
 
     def after(self, extent):
-	"""Return True if this time object is temporal located after the provided time object
+	"""!Return True if this time object is temporal located after the provided time object
 	   A             |---------|
 	   B  |---------|
 	"""
@@ -103,7 +103,7 @@ class abstract_temporal_extent(sql_database_interface):
 	    return False
 
     def before(self, extent):
-	"""Return True if this time object is temporal located before the provided time object
+	"""!Return True if this time object is temporal located before the provided time object
 	   A  |---------|
 	   B             |---------|
 	"""
@@ -119,7 +119,7 @@ class abstract_temporal_extent(sql_database_interface):
 	    return False
 
     def adjacent(self, extent):
-	"""Return True if this time object is a meeting neighbour the provided time object
+	"""!Return True if this time object is a meeting neighbour the provided time object
 	   A            |---------|
 	   B  |---------|
 	   A  |---------|
@@ -134,7 +134,7 @@ class abstract_temporal_extent(sql_database_interface):
 	    return False
 
     def follows(self, extent):
-	"""Return True if this time object is temporal follows the provided time object
+	"""!Return True if this time object is temporal follows the provided time object
 	   A            |---------|
 	   B  |---------|
 	"""
@@ -147,7 +147,7 @@ class abstract_temporal_extent(sql_database_interface):
 	    return False
 
     def precedes(self, extent):
-	"""Return True if this time object is temporal precedes the provided time object
+	"""!Return True if this time object is temporal precedes the provided time object
 	   A  |---------|
 	   B            |---------|
 	"""
@@ -160,7 +160,7 @@ class abstract_temporal_extent(sql_database_interface):
 	    return False
 
     def during(self, extent):
-	"""Return True if this time object is temporal located during the provided time object
+	"""!Return True if this time object is temporal located during the provided time object
 	   A   |-------|
 	   B  |---------|
 	"""
@@ -181,7 +181,7 @@ class abstract_temporal_extent(sql_database_interface):
 	    return False
 
     def contains(self, extent):
-	"""Return True if this time object contains the provided time object
+	"""!Return True if this time object contains the provided time object
 	   A  |---------|
 	   B   |-------|
 	"""
@@ -202,7 +202,7 @@ class abstract_temporal_extent(sql_database_interface):
 	    return False
 
     def equivalent(self, extent):
-	"""Return True if this time object is temporal located equivalent the provided time object
+	"""!Return True if this time object is temporal located equivalent the provided time object
 	   A  |---------|
 	   B  |---------|
 	"""
@@ -221,7 +221,7 @@ class abstract_temporal_extent(sql_database_interface):
 	    return False
 
     def overlaps(self, extent):
-	"""Return True if this time object is temporal overlaps the provided time object
+	"""!Return True if this time object is temporal overlaps the provided time object
            A  |---------|
 	   B    |---------|
 	"""
@@ -235,7 +235,7 @@ class abstract_temporal_extent(sql_database_interface):
 	    return False
 
     def overlapped(self, extent):
-	"""Return True if this time object is temporal overlapped by the provided time object
+	"""!Return True if this time object is temporal overlapped by the provided time object
 	   A    |---------|
            B  |---------|
 	"""
@@ -249,7 +249,7 @@ class abstract_temporal_extent(sql_database_interface):
 	    return False
 
     def temporal_relation(self, extent):
-	"""Returns the temporal relation between temporal objects
+	"""!Returns the temporal relation between temporal objects
 	   Temporal relationships are implemented after [Allen and Ferguson 1994 Actions and Events in Interval Temporal Logic]
 	"""
         
@@ -295,20 +295,20 @@ class abstract_temporal_extent(sql_database_interface):
         return None
 
     def set_id(self, ident):
-	"""Convenient method to set the unique identifier (primary key)"""
+	"""!Convenient method to set the unique identifier (primary key)"""
 	self.ident = ident
 	self.D["id"] = ident
 
     def set_start_time(self, start_time):
-	"""Set the valid start time of the extent"""
+	"""!Set the valid start time of the extent"""
 	self.D["start_time"] = start_time
 
     def set_end_time(self, end_time):
-	"""Set the valid end time of the extent"""
+	"""!Set the valid end time of the extent"""
 	self.D["end_time"] = end_time
 
     def get_id(self):
-	"""Convenient method to get the unique identifier (primary key)
+	"""!Convenient method to get the unique identifier (primary key)
 	   @return None if not found
 	"""
 	if self.D.has_key("id"):
@@ -317,7 +317,7 @@ class abstract_temporal_extent(sql_database_interface):
 	    return None
 
     def get_start_time(self):
-	"""Get the valid start time of the extent
+	"""!Get the valid start time of the extent
 	   @return None if not found"""
 	if self.D.has_key("start_time"):
 	    return self.D["start_time"]
@@ -325,7 +325,7 @@ class abstract_temporal_extent(sql_database_interface):
 	    return None
 
     def get_end_time(self):
-	"""Get the valid end time of the extent
+	"""!Get the valid end time of the extent
 	   @return None if not found"""
 	if self.D.has_key("end_time"):
 	    return self.D["end_time"]
@@ -333,20 +333,20 @@ class abstract_temporal_extent(sql_database_interface):
 	    return None
 
     def print_info(self):
-        """Print information about this class in human readable style"""
+        """!Print information about this class in human readable style"""
         #      0123456789012345678901234567890
         print " | Start time:................. " + str(self.get_start_time())
         print " | End time:................... " + str(self.get_end_time())
 
     def print_shell_info(self):
-        """Print information about this class in shell style"""
+        """!Print information about this class in shell style"""
         print "start_time=" + str(self.get_start_time())
         print "end_time=" + str(self.get_end_time())
 
 ###############################################################################
 
 class absolute_temporal_extent(abstract_temporal_extent):
-    """This is the absolute time class for all maps and spacetime datasets
+    """!This is the absolute time class for all maps and spacetime datasets
 
        start_time and end_time must be of type datetime
     """
@@ -357,13 +357,13 @@ class absolute_temporal_extent(abstract_temporal_extent):
 	self.set_timezone(timezone)
 
     def set_timezone(self, timezone):
-	"""Set the timezone of the map, the timezone is of type string.
+	"""!Set the timezone of the map, the timezone is of type string.
            Timezones are not supported yet, instead the timezone is set in the datetime string as offset in minutes.
         """
 	self.D["timezone"] = timezone
 
     def get_timezone(self):
-	"""Get the timezone of the map
+	"""!Get the timezone of the map
            Timezones are not supported yet, instead the timezone is set in the datetime string as offset in minutes.
 	   @return None if not found"""
 	if self.D.has_key("timezone"):
@@ -372,14 +372,14 @@ class absolute_temporal_extent(abstract_temporal_extent):
 	    return None
 
     def print_info(self):
-        """Print information about this class in human readable style"""
+        """!Print information about this class in human readable style"""
         #      0123456789012345678901234567890
         print " +-------------------- Absolute time -----------------------------------------+"
         abstract_temporal_extent.print_info(self)
         #print " | Timezone:................... " + str(self.get_timezone())
 
     def print_shell_info(self):
-        """Print information about this class in shell style"""
+        """!Print information about this class in shell style"""
         abstract_temporal_extent.print_shell_info(self)
         #print "timezone=" + str(self.get_timezone())
 
@@ -407,11 +407,11 @@ class stds_absolute_time(absolute_temporal_extent):
         self.set_map_time(map_time)
 
     def set_granularity(self, granularity):
-	"""Set the granularity of the space time dataset"""
+	"""!Set the granularity of the space time dataset"""
 	self.D["granularity"] = granularity
 
     def set_map_time(self, map_time):
-	"""Set the type of the map time
+	"""!Set the type of the map time
 
            Registered maps may have different types of time:
            Single point of time "point"
@@ -423,7 +423,7 @@ class stds_absolute_time(absolute_temporal_extent):
 	self.D["map_time"] = map_time
 
     def get_granularity(self):
-	"""Get the granularity of the space time dataset
+	"""!Get the granularity of the space time dataset
 	   @return None if not found"""
 	if self.D.has_key("granularity"):
 	    return self.D["granularity"]
@@ -431,7 +431,7 @@ class stds_absolute_time(absolute_temporal_extent):
 	    return None
 
     def get_map_time(self):
-	"""Get the type of the map time
+	"""!Get the type of the map time
 
            Registered maps may have different types of time:
            Single point of time "point"
@@ -446,14 +446,14 @@ class stds_absolute_time(absolute_temporal_extent):
 	    return None
 
     def print_info(self):
-        """Print information about this class in human readable style"""
+        """!Print information about this class in human readable style"""
         absolute_temporal_extent.print_info(self)
         #      0123456789012345678901234567890
         print " | Granularity:................ " + str(self.get_granularity())
         print " | Temporal type of maps:...... " + str(self.get_map_time())
 
     def print_shell_info(self):
-        """Print information about this class in shell style"""
+        """!Print information about this class in shell style"""
         absolute_temporal_extent.print_shell_info(self)
         print "granularity=" + str(self.get_granularity())
         print "map_time=" + str(self.get_map_time())
@@ -475,7 +475,7 @@ class stvds_absolute_time(stds_absolute_time):
 ###############################################################################
 
 class relative_temporal_extent(abstract_temporal_extent):
-    """This is the relative time class for all maps and spacetime datasets
+    """!This is the relative time class for all maps and spacetime datasets
 
        start_time and end_time must be of type integer
     """
@@ -485,7 +485,7 @@ class relative_temporal_extent(abstract_temporal_extent):
 	self.D["unit"] = unit
 
     def set_unit(self, unit):
-        """Set the unit of the relative time. Valid units are:
+        """!Set the unit of the relative time. Valid units are:
            * years
            * months
            * days
@@ -496,7 +496,7 @@ class relative_temporal_extent(abstract_temporal_extent):
 	self.D["unit"] = unit
 
     def get_unit(self):
-	"""Get the unit of the relative time
+	"""!Get the unit of the relative time
 	   @return None if not found"""
 	if self.D.has_key("unit"):
 	    return self.D["unit"]
@@ -504,7 +504,7 @@ class relative_temporal_extent(abstract_temporal_extent):
 	    return None
 
     def temporal_relation(self, map):
-	"""Returns the temporal relation between temporal objects
+	"""!Returns the temporal relation between temporal objects
 	   Temporal relationships are implemented after [Allen and Ferguson 1994 Actions and Events in Interval Temporal Logic]
 	"""
         
@@ -521,14 +521,14 @@ class relative_temporal_extent(abstract_temporal_extent):
 	return abstract_temporal_extent.temporal_relation(self, map)
 
     def print_info(self):
-        """Print information about this class in human readable style"""
+        """!Print information about this class in human readable style"""
         #      0123456789012345678901234567890
         print " +-------------------- Relative time -----------------------------------------+"
         abstract_temporal_extent.print_info(self)
         print " | Relative time unit:......... " + str(self.get_unit())
 
     def print_shell_info(self):
-        """Print information about this class in shell style"""
+        """!Print information about this class in shell style"""
         abstract_temporal_extent.print_shell_info(self)
         print "unit=" + str(self.get_unit())
 
@@ -556,11 +556,11 @@ class stds_relative_time(relative_temporal_extent):
         self.set_map_time(map_time)
 
     def set_granularity(self, granularity):
-	"""Set the granularity of the space time dataset"""
+	"""!Set the granularity of the space time dataset"""
 	self.D["granularity"] = granularity
 
     def set_map_time(self, map_time):
-	"""Set the type of the map time
+	"""!Set the type of the map time
 
            Registered maps may have different types of time:
            Single point of time "point"
@@ -572,7 +572,7 @@ class stds_relative_time(relative_temporal_extent):
 	self.D["map_time"] = map_time
 
     def get_granularity(self):
-	"""Get the granularity of the space time dataset
+	"""!Get the granularity of the space time dataset
 	   @return None if not found"""
 	if self.D.has_key("granularity"):
 	    return self.D["granularity"]
@@ -580,7 +580,7 @@ class stds_relative_time(relative_temporal_extent):
 	    return None
 
     def get_map_time(self):
-	"""Get the type of the map time
+	"""!Get the type of the map time
 
            Registered maps may have different types of time:
            Single point of time "point"
@@ -595,14 +595,14 @@ class stds_relative_time(relative_temporal_extent):
 	    return None
 
     def print_info(self):
-        """Print information about this class in human readable style"""
+        """!Print information about this class in human readable style"""
         relative_temporal_extent.print_info(self)
         #      0123456789012345678901234567890
         print " | Granularity:................ " + str(self.get_granularity())
         print " | Temporal type of maps:...... " + str(self.get_map_time())
 
     def print_shell_info(self):
-        """Print information about this class in shell style"""
+        """!Print information about this class in shell style"""
         relative_temporal_extent.print_shell_info(self)
         print "granularity=" + str(self.get_granularity())
         print "map_time=" + str(self.get_map_time())

+ 4 - 4
lib/python/temporal/temporal_granularity.py

@@ -26,7 +26,7 @@ from datetime_math import *
 ###############################################################################
 
 def compute_relative_time_granularity(maps):            
-    """ Compute the relative time granularity
+    """!Compute the relative time granularity
         
         Attention: The computation of the granularity is only correct in case of not
         overlapping intervals. Hence a correct temporal topology is required for
@@ -77,7 +77,7 @@ def compute_relative_time_granularity(maps):
 ###############################################################################
 
 def compute_absolute_time_granularity(maps):                  
-    """ Compute the absolute time granularity
+    """!Compute the absolute time granularity
         
         Attention: The computation of the granularity is only correct in case of not
         overlapping intervals. Hence a correct temporal topology is required for
@@ -230,7 +230,7 @@ def compute_absolute_time_granularity(maps):
 # Error Codes:
 #   None
 def gcd(a,b):
-	""" The Euclidean Algorithm """
+	"""!The Euclidean Algorithm """
 	a = abs(a)
 	b = abs(b)
         while a:
@@ -240,7 +240,7 @@ def gcd(a,b):
 ###############################################################################
 
 def gcd_list(list):
-	""" Finds the GCD of numbers in a list.
+	"""!Finds the GCD of numbers in a list.
 	Input: List of numbers you want to find the GCD of
 		E.g. [8, 24, 12]
 	Returns: GCD of all numbers

+ 3 - 3
lib/python/temporal/temporal_relationships.py

@@ -25,7 +25,7 @@ from datetime_math import *
 
 
 def print_temporal_relations(maps1, maps2):
-    """Print the temporal relation matrix of the temporal ordered map lists maps1 and maps2
+    """!Print the temporal relation matrix of the temporal ordered map lists maps1 and maps2
        to stdout.
 	
 	@param maps1: a ordered by start_time list of map objects
@@ -64,7 +64,7 @@ def print_temporal_relations(maps1, maps2):
 		break
 
 def get_temporal_relation_matrix(maps1, maps2):
-    """Return the temporal relation matrix of all registered maps as list of lists
+    """!Return the temporal relation matrix of all registered maps as list of lists
 
 	The map list must be ordered by start time
 
@@ -110,7 +110,7 @@ def get_temporal_relation_matrix(maps1, maps2):
     return matrix
 
 def count_temporal_relations(maps1, maps2):
-    """Count the temporal relations between the registered maps.
+    """!Count the temporal relations between the registered maps.
 
 	The map lists must be ordered by start time. Temporal relations are counted 
 	by analyzing the sparse (upper right side in case maps1 == maps2) temporal relationships matrix.