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
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