[GRASS-user] Aggregating daily maps in relative strds per month

Nikos Alexandris nik at nikosalexandris.net
Tue May 19 00:54:52 PDT 2015


I couldn't find my way out to clean the existing mess I created.  I am
re-doing all from scratch.  It was all worth the time spent though.

It there is interest for open questions (of mine), below an error
message and a question.

Thanks, Nikos


Soeren:

> > The tgis directory can be removed, all temporal commands will check if
> > the mapset specific temporal database exists and will create one if
> > needed.

Nikos:

> I removed the tgis directory manually (rm -rf). Then issued `t.connect -d` or/and
> `t.connect -c`. Though this sets the connection driver/path in the VAR
> file, the '-p' reports as if all is ok, I only receive the error
> 
> ERROR: Unable to connect to sqlite3 database:
> /geo/grassdb/ellas/oiti/wgs84_old/PERMANENT/tgis/sqlite.db
> Exception: "unable to open database file"
> Please use t.connect to set a read- and writable temporal database
> backend
> 
> from any of the t.connect or t.create commands I tried.

+ a more detailed message from withing a GRASS session and ipython,
trying to force tgis.init():

--%<---
In [3]: %tb
---------------------------------------------------------------------------
SystemExit                                Traceback (most recent call last)
<ipython-input-2-9e2cb3184ba5> in <module>()
----> 1 tgis.init()

/osgeo/grass70/dist.x86_64-unknown-linux-gnu/etc/python/grass/temporal/core.pyc in init(raise_fatal_error)
    658         return
    659
--> 660     create_temporal_database(dbif)
    661
    662 ###############################################################################

/osgeo/grass70/dist.x86_64-unknown-linux-gnu/etc/python/grass/temporal/core.pyc in create_temporal_database(dbif)
    769     # Connect now to the database
    770     if not dbif.connected:
--> 771         dbif.connect()
    772
    773     # Execute the SQL statements for sqlite

/osgeo/grass70/dist.x86_64-unknown-linux-gnu/etc/python/grass/temporal/core.pyc in connect(self)
    878             conn = self.connections[mapset]
    879             if conn.is_connected() is False:
--> 880                 conn .connect(dbstring)
    881
    882         self.connected = True

/osgeo/grass70/dist.x86_64-unknown-linux-gnu/etc/python/grass/temporal/core.pyc in connect(self, dbstring)
   1077                               "temporal database backend") % (
   1078                             {"db": self.dbmi.__name__,
-> 1079                              "string": tgis_database_string, "ex": e, }))
   1080
   1081     def close(self):

/osgeo/grass70/dist.x86_64-unknown-linux-gnu/etc/python/grass/pygrass/messages/__init__.pyc in fatal(self, message)
    269             raise FatalError(message)
    270         else:
--> 271             sys.exit(1)
    272
    273     def debug(self, level, message):

SystemExit: 1
--->%--



Nikos:

> > > 2) although I remove strds-es via t.remove, the command `t.list rast` still
> > > shows maps which do not exist anymore anywhere. How come?

Soeren:

> > Maps can be registered in several different STDS. Hence removing a
> > STDS without explicitly removing the registered map layers (forced
> > with -rf) will only un-register the maps from the specific STDS but
> > not from the temporal database.
> > Use t.unregister to simply un-register map layers from the temporal
> > database (and all associated STDS) or use the -rf option in t.remove
> > to fully remove map layers from the temporal and spatial database. The
> > module g.remove will not delete the time stamps from the temporal
> > database, since only temporal commands are aware of it. The module
> > t.support allows to check STDS for removed or overwritten map layers
> > to update the temporal database accordingly.

What happens if ones removes the strds using t.remove without '-rf' or/and no
t.support -m was executed. And, additionally, removes a series of (previously)
registered maps as well using g.remove? It seems that this results in ghost entries
in the t-db (?).

t.unregister will not work if the maps and the strds don't exist, right?
t.remove -rf

Nikos


More information about the grass-user mailing list