[GRASS-SVN] r51185 - grass/trunk/lib/python/temporal
svn_grass at osgeo.org
svn_grass at osgeo.org
Thu Mar 29 11:33:01 EDT 2012
Author: martinl
Date: 2012-03-29 08:33:01 -0700 (Thu, 29 Mar 2012)
New Revision: 51185
Modified:
grass/trunk/lib/python/temporal/abstract_dataset.py
grass/trunk/lib/python/temporal/abstract_map_dataset.py
grass/trunk/lib/python/temporal/abstract_space_time_dataset.py
grass/trunk/lib/python/temporal/aggregation.py
grass/trunk/lib/python/temporal/base.py
grass/trunk/lib/python/temporal/core.py
grass/trunk/lib/python/temporal/datetime_math.py
grass/trunk/lib/python/temporal/metadata.py
grass/trunk/lib/python/temporal/space_time_datasets.py
grass/trunk/lib/python/temporal/space_time_datasets_tools.py
grass/trunk/lib/python/temporal/spatial_extent.py
grass/trunk/lib/python/temporal/temporal_extent.py
grass/trunk/lib/python/temporal/temporal_granularity.py
grass/trunk/lib/python/temporal/temporal_relationships.py
Log:
pythontemporal: make doxygen more happy
Modified: grass/trunk/lib/python/temporal/abstract_dataset.py
===================================================================
--- grass/trunk/lib/python/temporal/abstract_dataset.py 2012-03-29 15:05:30 UTC (rev 51184)
+++ grass/trunk/lib/python/temporal/abstract_dataset.py 2012-03-29 15:33:01 UTC (rev 51185)
@@ -27,28 +27,28 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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():
Modified: grass/trunk/lib/python/temporal/abstract_map_dataset.py
===================================================================
--- grass/trunk/lib/python/temporal/abstract_map_dataset.py 2012-03-29 15:05:30 UTC (rev 51184)
+++ grass/trunk/lib/python/temporal/abstract_map_dataset.py 2012-03-29 15:33:01 UTC (rev 51185)
@@ -26,23 +26,23 @@
###############################################################################
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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.
Modified: grass/trunk/lib/python/temporal/abstract_space_time_dataset.py
===================================================================
--- grass/trunk/lib/python/temporal/abstract_space_time_dataset.py 2012-03-29 15:05:30 UTC (rev 51184)
+++ grass/trunk/lib/python/temporal/abstract_space_time_dataset.py 2012-03-29 15:33:01 UTC (rev 51185)
@@ -27,7 +27,7 @@
###############################################################################
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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
Modified: grass/trunk/lib/python/temporal/aggregation.py
===================================================================
--- grass/trunk/lib/python/temporal/aggregation.py 2012-03-29 15:05:30 UTC (rev 51184)
+++ grass/trunk/lib/python/temporal/aggregation.py 2012-03-29 15:33:01 UTC (rev 51185)
@@ -27,7 +27,7 @@
###############################################################################
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 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
Modified: grass/trunk/lib/python/temporal/base.py
===================================================================
--- grass/trunk/lib/python/temporal/base.py 2012-03-29 15:05:30 UTC (rev 51184)
+++ grass/trunk/lib/python/temporal/base.py 2012-03-29 15:33:01 UTC (rev 51185)
@@ -34,7 +34,7 @@
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 @@
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 @@
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 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 @@
* 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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 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 @@
#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 at mapset
"""
@@ -409,21 +409,21 @@
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 @@
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 @@
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 @@
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 @@
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 at mapset
"""
@@ -492,7 +492,7 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
# 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 @@
# 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 @@
# 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 @@
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 @@
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())
Modified: grass/trunk/lib/python/temporal/core.py
===================================================================
--- grass/trunk/lib/python/temporal/core.py 2012-03-29 15:05:30 UTC (rev 51184)
+++ grass/trunk/lib/python/temporal/core.py 2012-03-29 15:33:01 UTC (rev 51185)
@@ -76,7 +76,7 @@
###############################################################################
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
Modified: grass/trunk/lib/python/temporal/datetime_math.py
===================================================================
--- grass/trunk/lib/python/temporal/datetime_math.py 2012-03-29 15:05:30 UTC (rev 51184)
+++ grass/trunk/lib/python/temporal/datetime_math.py 2012-03-29 15:33:01 UTC (rev 51185)
@@ -28,7 +28,7 @@
###############################################################################
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 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 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(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 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 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 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 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"]
Modified: grass/trunk/lib/python/temporal/metadata.py
===================================================================
--- grass/trunk/lib/python/temporal/metadata.py 2012-03-29 15:05:30 UTC (rev 51184)
+++ grass/trunk/lib/python/temporal/metadata.py 2012-03-29 15:33:01 UTC (rev 51185)
@@ -25,7 +25,7 @@
###############################################################################
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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(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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 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 @@
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 @@
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())
Modified: grass/trunk/lib/python/temporal/space_time_datasets.py
===================================================================
--- grass/trunk/lib/python/temporal/space_time_datasets.py 2012-03-29 15:05:30 UTC (rev 51184)
+++ grass/trunk/lib/python/temporal/space_time_datasets.py 2012-03-29 15:33:01 UTC (rev 51185)
@@ -33,7 +33,7 @@
###############################################################################
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 @@
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 @@
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 @@
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 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 @@
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 @@
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 @@
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 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 @@
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 @@
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 @@
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 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 @@
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 @@
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_raster3d_dataset(abstract_space_time_dataset):
- """Space time raster3d dataset class
+ """!Space time raster3d dataset class
"""
def __init__(self, ident):
@@ -364,23 +364,23 @@
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 @@
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_vector_dataset(abstract_space_time_dataset):
- """Space time vector dataset class
+ """!Space time vector dataset class
"""
def __init__(self, ident):
@@ -424,23 +424,23 @@
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 @@
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)
Modified: grass/trunk/lib/python/temporal/space_time_datasets_tools.py
===================================================================
--- grass/trunk/lib/python/temporal/space_time_datasets_tools.py 2012-03-29 15:05:30 UTC (rev 51184)
+++ grass/trunk/lib/python/temporal/space_time_datasets_tools.py 2012-03-29 15:33:01 UTC (rev 51185)
@@ -29,7 +29,7 @@
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 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 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 at mapset")
@@ -326,7 +326,7 @@
###############################################################################
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 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.
Modified: grass/trunk/lib/python/temporal/spatial_extent.py
===================================================================
--- grass/trunk/lib/python/temporal/spatial_extent.py 2012-03-29 15:05:30 UTC (rev 51184)
+++ grass/trunk/lib/python/temporal/spatial_extent.py 2012-03-29 15:33:01 UTC (rev 51185)
@@ -23,7 +23,7 @@
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 @@
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 @@
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 @@
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 @@
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.
"""
Modified: grass/trunk/lib/python/temporal/temporal_extent.py
===================================================================
--- grass/trunk/lib/python/temporal/temporal_extent.py 2012-03-29 15:05:30 UTC (rev 51184)
+++ grass/trunk/lib/python/temporal/temporal_extent.py 2012-03-29 15:33:01 UTC (rev 51185)
@@ -25,7 +25,7 @@
###############################################################################
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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())
Modified: grass/trunk/lib/python/temporal/temporal_granularity.py
===================================================================
--- grass/trunk/lib/python/temporal/temporal_granularity.py 2012-03-29 15:05:30 UTC (rev 51184)
+++ grass/trunk/lib/python/temporal/temporal_granularity.py 2012-03-29 15:33:01 UTC (rev 51185)
@@ -26,7 +26,7 @@
###############################################################################
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_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 @@
# 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_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
Modified: grass/trunk/lib/python/temporal/temporal_relationships.py
===================================================================
--- grass/trunk/lib/python/temporal/temporal_relationships.py 2012-03-29 15:05:30 UTC (rev 51184)
+++ grass/trunk/lib/python/temporal/temporal_relationships.py 2012-03-29 15:33:01 UTC (rev 51185)
@@ -25,7 +25,7 @@
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 @@
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 @@
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.
More information about the grass-commit
mailing list