laurolins / nanocube

Eclipse Public License 1.0
734 stars 162 forks source link

extents #42

Open gordonwoodhull opened 8 years ago

gordonwoodhull commented 8 years ago

How does one retrieve the extents of different dimensions?

In particular, the time dimensions have the lower bound specified in the tbin metadata, but is there an upper bound? Are bounds known for the spatial dimensions?

laurolins commented 8 years ago

There is no service for that. In practice we run a few queries (O(log(largest-timestamp)) queries to figure it out (anchored-dives a few levels at a time repeating the process from the previous result extreme nodes that contained data to get a finer and finer time resolution for the bounds). The rational for not adding another core API call for this at the time we thought about adding one, was that it wasn’t totally clear the level of generality we should put (e.g. what if we needed the range for some constrained time range - extremes when categorical dimension “device” is “iPhone” instead of all the data)… instead of adding more service to the core API we settled on the idea that it should be simple enough to derive these services from the core one. I guess having a javascript (or any other language) wrapper extending the current core API of NC should give us more insight on what we could push into the core API...

On Nov 12, 2015, at 12:54 PM, Gordon Woodhull notifications@github.com wrote:

How does one retrieve the extents of different dimensions?

In particular, the time dimensions have the lower bound specified in the tbin metadata, but is there an upper bound? Are bounds known for the spatial dimensions?

— Reply to this email directly or view it on GitHub https://github.com/laurolins/nanocube/issues/42.

salivian commented 8 years ago

https://github.com/laurolins/nanocube/blob/master/extra/nc_web_viewer/nanocube3.js

getTbinInfo perform a binary search for the effective timerange.

The python script on config generation searches the spatial dimensions.

Horace

On Thu, Nov 12, 2015 at 2:49 PM, Lauro Lins notifications@github.com wrote:

There is no service for that. In practice we run a few queries (O(log(largest-timestamp)) queries to figure it out (anchored-dives a few levels at a time repeating the process from the previous result extreme nodes that contained data to get a finer and finer time resolution for the bounds). The rational for not adding another core API call for this at the time we thought about adding one, was that it wasn’t totally clear the level of generality we should put (e.g. what if we needed the range for some constrained time range - extremes when categorical dimension “device” is “iPhone” instead of all the data)… instead of adding more service to the core API we settled on the idea that it should be simple enough to derive these services from the core one. I guess having a javascript (or any other language) wrapper extending the current core API of NC should give us more insight on what we could push into the core API...

On Nov 12, 2015, at 12:54 PM, Gordon Woodhull notifications@github.com wrote:

How does one retrieve the extents of different dimensions?

In particular, the time dimensions have the lower bound specified in the tbin metadata, but is there an upper bound? Are bounds known for the spatial dimensions?

— Reply to this email directly or view it on GitHub < https://github.com/laurolins/nanocube/issues/42>.

— Reply to this email directly or view it on GitHub https://github.com/laurolins/nanocube/issues/42#issuecomment-156215484.