Hi Emilio,
This is Christian, a colleague of Markus -
the initial requester, who is currently out-of-office.
Maybe I can answer your question.
We’re using the GeoTools API to query the
data. We basically do it in the same way as described in
the geomesa-tutorial https://github.com/geomesa/geomesa-tutorials/blob/master/geomesa-tutorials-common/src/main/java/org/geomesa/example/transformations/GeoMesaQueryTutorial.java
First, we build an org.geotools.data.Query
instance using org.opengis.filter.FilterFactory2. We’re
applying temporal and spatial constraints as well as a
constraint on a custom attribute called VIN:
Query query = new
Query(typeName);
List<Filter> filters = new ArrayList<>();
FilterFactory2 filterFactory = CommonFactoryFinder.getFilterFactory2();
// temporal filter:
filters.add(filterFactory.between(
filterFactory.property(EventSimpleFeature.DATE_TIME_GROUP),
filterFactory.literal(dateFrom),
filterFactory.literal(dateTo)));
// spatial filter:
filters.add(filterFactory
.bbox(filterFactory.property(EventSimpleFeature.GEOMETRY),
boundingBox.getMinX(), boundingBox.getMinY(),
boundingBox.getMaxX(), boundingBox.getMaxY(),
"EPSG:4326"));
// vin filter:
filters.add(filterFactory
.equals(filterFactory.property(EventSimpleFeature.VIN),
filterFactory.literal(vin)));
query.setFilter(filterFactory.and(filters));
query.setPropertyNames(fieldNames);
return query;
With that query we then instantiate an
org.geotools.data.FeatureReader to read the filtered
(according the given query) entries:
FeatureReader<SimpleFeatureType,
SimpleFeature> reader = dataStore.getFeatureReader(query,
Transaction.AUTO_COMMIT);
while (reader.hasNext()) {
SimpleFeature feature = reader.next();
// do something
with the feature ...
}
Is that sufficient for a further analysis
on your side?
Thanks for your support!
Best regards
Christian
Hello,
Could you provide the code you're using to query
programmatically?
Thanks,
Emilio
Hello,
In a current
project we are using geomesa-fs-data-store for our
network-measurements. We are collecting these
network-measurements from driving vehicles.
The issues is that
we are facing a mismatch with returned data between
“geomesa-fs export” and querying geomesa
programmatically.
This is the
geomesa-fs export-command: ./geomesa-fs export -p
………./geomesa-data-store/ -f ModemState --cql
"dtg>=2019-04-13T23:40:00Z AND
dtg<=2019-04-14T01:00:00Z AND vin LIKE
'%VINSYSTEMTEST1%'"
This is the query
from a debug-statement when querying geomesa
programmatically:
2019-05-08
16:16:16.073 [http-nio-8130-exec-2] INFO
org.apache.parquet.filter2.compat.FilterCompat -
Filtering using predicate:
and(and(and(and(and(gteq(geom.x, -180.0), gteq(geom.y,
-90.0)), lteq(geom.x, 180.0)), lteq(geom.y, 90.0)),
and(gteq(dtg, 1555198800000), lteq(dtg,
1555203600000))), eq(vin, Binary{"VINSYSTEMTEST1"}))
While the export
returns 1 event, the programmatic query returns 0
events.
The event is found
in the programmatic case when extending the
search-interval to an earlier time. E.g. from
2019-04-13T23:40:00Z to 2019-04-13T00:40:00Z
I am also
attaching the test-data.
We are using:
Geomesa-fs-datastore_2.11:2.2.0
Geomesa-fs-storage-parquet_2.11:2.2.0
Partitioning-Scheme:
daily, z2-2bit
The storage-type
is parquet on AWS S3.
I hope you can help. Thanks,
Markus
Thamm
If you are not the addressee, please inform us
immediately that you have received this e-mail by
mistake, and delete it. We thank you for your support.
_______________________________________________
geomesa-users mailing list
geomesa-users@xxxxxxxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.locationtech.org/mailman/listinfo/geomesa-users
If you are not the addressee, please inform us
immediately that you have received this e-mail by
mistake, and delete it. We thank you for your support.
_______________________________________________
geomesa-users mailing list
geomesa-users@xxxxxxxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.locationtech.org/mailman/listinfo/geomesa-users