There is no (good) reason to limit yourself to points, you can see if your buffer intersects with the countries directly: public SimpleFeatureCollection lookup(Geometry g, SpatialIndexFeatureCollection countries) { GeometryFactory gf = new GeometryFactory(); Filter f = ff.contains(ff.property("the_geom"), ff.literal(g)); ret = countries.subCollection(f); return ret; }