SpatioTemporal / STARE

SpatioTemporal Adaptive Resolution Encoding, a unifying index for geo-located data.
Other
10 stars 7 forks source link

SpatialRange segfaults on adding spatial id #74

Closed michaelleerilee closed 3 years ago

michaelleerilee commented 3 years ago

SpatialRange is failing when a large number of index values are added.

Current hypothesis is that it seems to be failing when there is a terminator collision on adding two spatial index values (aka spatial ids). See https://raw.githubusercontent.com/SpatioTemporal/STARE/srange-tests/src/notes.org.

The correct behavior would be to keep the smaller lo value of the (lo,hi) pairs, while currently it seems that both lo's are added to my_los and only one hi is added to my_his. Not sure when this error actually occurs.

Set up a test based on https://github.com/SpatioTemporal/pystare/issues/18 and https://github.com/SpatioTemporal/pystare/blob/spatial-range/tests/sids.py.

The bugfix branch is https://github.com/SpatioTemporal/STARE/tree/srange-tests.

FYI: @NiklasPhabian

michaelleerilee commented 3 years ago

SpatialRange is not designed to handle non-zero location bits. The fix may be to zero out location bits at finer resolutions than the embedded level. We may in the future wish to mask these bits out in SpatialRange, but at the moment zeroing the items in the SpatialRange method seems to work.

michaelleerilee commented 3 years ago

Fixed in 0.16.4.