Hi Nikos, being not able to recreate the temporal database in a mapset after deleting it is definitely a bug in the temporal framework. I have to investigate this.
Regarding ghost entries: You can use "t.list type=rast" to list all raster map layer registered in the temporal database, with or without STRDS association. Use the "maps" option of module t.unregister to un-register any kind of map layers (existing, ghost, non-STRDS association, ...). Best regards Soeren 2015-05-19 9:54 GMT+02:00 Nikos Alexandris <[email protected]>: > 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 _______________________________________________ grass-user mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/grass-user
