public class FilterTest {
    static {
        ogr.RegisterAll();
    }

    public static void main(String[] args) throws CQLException, IOException {
        Map<String, Object> params = new HashMap<>();
        params.put("DriverName", "xxx");
        params.put("DatasourceName", xxx);

        DataStore dataStore = DataStoreFinder.getDataStore(params);
        SimpleFeatureSource sfs = dataStore.getFeatureSource("water");
        Filter filter = CQL.toFilter("BBOX(" +
sfs.getSchema().getGeometryDescriptor().getLocalName() + ",
20,30,21,31) and num <= 10");
        OGRFilterTranslator ogrFilterTranslator = new
OGRFilterTranslator(sfs.getSchema(), filter);
        System.out.println(ogrFilterTranslator.getSpatialFilter());
        System.out.println(ogrFilterTranslator.getPostFilter());
        System.out.println(ogrFilterTranslator.getAttributeFilter());
    }
}

Output:

null
[ the_geom bbox ReferencedEnvelope[20:21,30:31] ]
num <= 10

Seems like that the bbox filter is not recognized by OGRFilterTranslator
_______________________________________________
GeoTools-GT2-Users mailing list
GeoTools-GT2-Users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users

Reply via email to