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