Revision 45947 trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.mapcontext/org.gvsig.fmap.mapcontext.api/src/main/java/org/gvsig/fmap/mapcontext/layers/vectorial/FLyrVect.java

View differences:

FLyrVect.java
29 29
import java.awt.image.BufferedImage;
30 30
import java.io.File;
31 31
import java.util.Iterator;
32
import java.util.List;
32 33
import java.util.Set;
33 34
import java.util.TreeSet;
34 35

  
......
42 43
import org.gvsig.fmap.dal.exception.DataException;
43 44
import org.gvsig.fmap.dal.exception.InitializeException;
44 45
import org.gvsig.fmap.dal.exception.ReadException;
46
import org.gvsig.fmap.dal.feature.Feature;
45 47
import org.gvsig.fmap.dal.feature.FeatureAttributeDescriptor;
46 48
import org.gvsig.fmap.dal.feature.FeatureQuery;
47 49
import org.gvsig.fmap.dal.feature.FeatureSet;
......
903 905
        }
904 906
    }
905 907

  
908
    public FeatureQuery createQueryByPoint(double x, double y,
909
            double tol,
910
            FeatureType featureType) throws DataException {
911
        GeometryManager manager = GeometryLocator.getGeometryManager();
912
        org.gvsig.fmap.geom.primitive.Point center;
913
        try {
914
            center
915
                    = (org.gvsig.fmap.geom.primitive.Point) manager.create(TYPES.POINT,
916
                            SUBTYPES.GEOM2D);
917
            center.setX(x);
918
            center.setY(y);
919
            Circle circle
920
                    = (Circle) manager.create(TYPES.CIRCLE, SUBTYPES.GEOM2D);
921
            circle.setPoints(center, tol);
922
            return createQueryByGeometry(circle, featureType);
923
        } catch (org.gvsig.fmap.geom.exception.CreateGeometryException e) {
924
            throw new CreateGeometryException(TYPES.CIRCLE, SUBTYPES.GEOM2D, e);
925
        }
926
    }
927

  
906 928
    /**
907 929
     * Input geom must be in the CRS of the view.
908 930
     *
......
931 953

  
932 954
    }
933 955
    
956
    public FeatureQuery createQueryByGeometry(Geometry geom, FeatureType featureType) throws DataException {
957
        FeatureQuery featureQuery = createFeatureQuery();
958
        featureQuery.setFeatureType(featureType);
959

  
960
        Geometry query_geo = this.transformToSourceCRS(geom, true);
961
        IProjection query_proj = getMapContext().getProjection();
962
        if (this.getCoordTrans() != null) {
963
            query_proj = this.getCoordTrans().getPOrig();
964
        }
965
        Evaluator iee = SpatialEvaluatorsFactory.getInstance().intersects(
966
                query_geo,
967
                query_proj,
968
                featureStore
969
        );
970
        featureQuery.setFilter(iee);
971
        featureQuery.setAttributeNames(null);
972
        return featureQuery;
973

  
974
    }
975
    
934 976
    public FeatureSet queryByContainedInGeometry(Geometry geom, FeatureType featureType) throws DataException {
935 977
        FeatureQuery featureQuery = createFeatureQuery();
936 978
        featureQuery.setFeatureType(featureType);

Also available in: Unified diff