@Override
public Filter makeFilter(SpatialArgs args) {
final SpatialOperation op = args.getOperation();
if (op == SpatialOperation.IsDisjointTo)
return new DisjointSpatialFilter(this, args, getFieldName());
Shape shape = args.getShape();
int detailLevel = grid.getLevelForDistance(args.resolveDistErr(ctx, distErrPct));
if (pointsOnly || op == SpatialOperation.Intersects) {