use of org.apache.rya.indexing.geotemporal.GeoTemporalIndexer.GeoPolicy in project incubator-rya by apache.
the class GeoTemporalMongoDBStorageStrategy method getGeoObjs.
private DBObject[] getGeoObjs(final Collection<IndexingExpr> geoFilters) {
final List<DBObject> objs = new ArrayList<>();
geoFilters.forEach(filter -> {
final GeoPolicy policy = GeoPolicy.fromURI(filter.getFunction());
final WKTReader reader = new WKTReader();
final String geoStr = ((Value) filter.getArguments()[0]).stringValue();
try {
// This method is what is used in the GeoIndexer.
final Geometry geo = reader.read(geoStr);
objs.add(getGeoObject(geo, policy));
} catch (final GeoTemporalIndexException | UnsupportedOperationException | ParseException e) {
LOG.error("Unable to parse '" + geoStr + "'.", e);
}
});
return objs.toArray(new DBObject[] {});
}
Aggregations