Hi,
I am using a mid-June version of GeoMesa. Perhaps this issue has been fixed since mid-June, but if it hasn’t been I thought I should report it.
I have noticed that GeoMesa seems to inconsistently handle the temporal portion of a filter. In particular, I notice that sometimes the temporal portion of a filter seems to be inclusive and sometimes it seems to be exclusive.
When I perform a query, the temporal component seems to be inclusive, but when I try to remove features, the temporal component seems to be exclusive.
For example, when I use the following filter (filter result reported by ECQL.toCQL(filter)) for querying, data with the geomesa_time attribute set to 2014-01-01T05:20:00+00:00 is returned; however, when I use the same filter to try to remove
features, data with the geomesa_time attribute set to 2014-01-01T05:20:00+00:00 is not removed.
((geomesa_time BEFORE 2014-02-05T05:30:00+00:00 AND geomesa_time AFTER 2014-01-01T05:20:00+00:00) AND BBOX(geomesa_geometry, -100.008,39.969,-99.999,39.978))
I would prefer that each temporal bound be inclusive (as I find it to be when querying), but most importantly I would like the behavior to be consistent. I should note, that I also want the behavior to work consistently for modifying features.
My query code is analogous to the following:
FeatureSource<SimpleFeatureType, SimpleFeature> featureSource = dataStore.getFeatureSource(featureName);
FeatureCollection<SimpleFeatureType, SimpleFeature> featureCollection = featureSource.getFeatures(new Query(featureName, filter, properties));
My removing of features code is analogous to the following:
featureStore.removeFeatures(filter);
Please let me know if I can be of any further help with troubleshooting.
Thanks,
Beau