OSGeo / grass

GRASS GIS - free and open-source geospatial processing engine
https://grass.osgeo.org
Other
798 stars 290 forks source link

TGIS needs to support time in the past #3259

Open cmbarton opened 7 months ago

cmbarton commented 7 months ago

I wanted to use TGIS to begin to analyze and visualize paleoprecipitation. To get started, I have a set of files with July precipitation estimates every 200 years from 10000 BP to 4000 BP. This brings up a significant limitation to TGIS, the inability to add meaningful time stamps to anything older than CE 1. It also seems to have problems with any dates far into the future.

I first tried setting time stamps to -10000-07-01, etc without much hope that it would work. It did not.

Then I tried setting the time stamps from 0000-07-01 and counting up 6000 years by 200 (e.g., 0000-07-01 to 6000-07-01). This did not work either because it does not recognize year 0000.

Next, I tried starting with 1-07-01, 200-07-01, etc. This worked but it incorrectly registered the first map as 2001-07-01

Finally, I wrote the first year as 0001-07-01 and it worked.

This is a very kludgy work around. It would be much better if TGIS could simply recognize negative years. Historical sciences (paleoecology, paleontology, archaeology, ancient history) are inherently concerned with change over time and space, and hence potential users of TGIS. But as it is currently coded, it is not easy to register maps of the even not so distant past.

Beyond this, the kludge that I used does not seem to work well anyway once the maps are registered. Trying to look at a time graph results in a crash of the GUI tools--and the entire GRASS GUI. I am guessing that this is because I needed to set the last time stamps far into the future (i.e., the year 6000) in order to have some kind of time support in my STRDS.

I tried to register the maps as "relative" time, but could not guess any way to do so. There is no documentation on registering maps in a relative STRDS. So this is needed too.

veroandreo commented 4 months ago

True, an example for registering relative time maps would be desirable to clarify what parameter definitions state.

AFAIU, it's just a matter of using integer numbers in start and increment with or without -i for interval. So, start=1 increment=200 unit=years would do, but I haven't tested. You do need to set the temporaltype=relative in t.create though. Still, this does not solve the BP issue anyway.