Marcel,
I'm trying to understand the attachment and have really just concluded that there seems to be some confusion about binning that I can't quite pinpoint. I think there is some conflation with binning in this diagram and hilbert values that just does not exist. The bin is actually a basic concept that is completely decoupled from the hilbert curve. Actually there is a lot of discussion on space filling curves that could serve as good background here:
https://github.com/geotrellis/curve/issues/3#issuecomment-76588640
If you look at Rob's comment regarding "Unbounded Dimensions" its a fairly accurate characterization of binning as primarily concerned with bounding the unbounded dimension using periodicity. Our default uses a year as the periodicity, but we have the enum to easily allow day or month to be used through index configuration (
https://github.com/ngageoint/geowave/blob/master/core/geotime/src/main/java/mil/nga/giat/geowave/core/geotime/index/dimension/TemporalBinningStrategy.java). With gdelt data, you likely will want to continue to use year. In the case of space and time bin ID's are really straightforward because there is only one unbounded dimension (time). When there are multiple unbounded dimensions then it can become less clear. If you use the default index, your bin ID will be the year. The hilbert value would be a 3D SFC value with the time dimension bounded by the beginning and end of that particular year. So 2010 would be the prefix in your example and the SFC value would be based on January 1st (year agnostic - ie. it would be much like a longitude value of -180).
Does that make more sense?
It would be nice to provide an implementation of org.apache.accumulo.core.util.format.Formatter for this so that the scans could be performed directly in the accumulo shell and the keys could be nicely formatted and human readable. We have that for the values as much as possible by using this, but have nothing equivalent for understanding the keys:
I just created the issue for that (
https://github.com/ngageoint/geowave/issues/528) as its a fairly straightforward task for interested new contributors, although requires some digging into understanding the key structure, which may be a valuable way to digest the concept.
Rich