Revision 29248 branches/v2_0_0_prep/extensions/extWFS2/src/com/iver/cit/gvsig/gui/panels/WFSAreaPanel.java
WFSAreaPanel.java | ||
---|---|---|
32 | 32 |
import javax.swing.SwingConstants; |
33 | 33 |
|
34 | 34 |
import org.gvsig.fmap.dal.serverexplorer.wfs.WFSServerExplorer; |
35 |
import org.gvsig.fmap.geom.Geometry; |
|
36 |
import org.gvsig.fmap.geom.GeometryLocator; |
|
37 |
import org.gvsig.fmap.geom.GeometryManager; |
|
38 |
import org.gvsig.fmap.geom.Geometry.SUBTYPES; |
|
39 |
import org.gvsig.fmap.geom.exception.CreateGeometryException; |
|
35 | 40 |
import org.gvsig.fmap.geom.primitive.Envelope; |
41 |
import org.gvsig.fmap.geom.primitive.GeneralPathX; |
|
42 |
import org.gvsig.fmap.geom.primitive.Surface; |
|
36 | 43 |
import org.gvsig.fmap.mapcontext.ExtentHistory; |
37 | 44 |
import org.gvsig.fmap.mapcontext.MapContext; |
38 | 45 |
import org.gvsig.fmap.mapcontext.ViewPort; |
... | ... | |
236 | 243 |
private final Rectangle DEFAULT_ZOOMINANDOUTVIEWCENTERED_JCOMBOBOX_RECTANGLE = new Rectangle(380, 85, 47, 25); |
237 | 244 |
private final Rectangle DEFAULT_OTHER_TOOLS_JCOMBOBOX_RECTANGLE = new Rectangle(429, 85, 47, 25); |
238 | 245 |
|
246 |
private static GeometryManager geometryManager = GeometryLocator.getGeometryManager(); |
|
239 | 247 |
private final int DISABLED_OPERATION = 0; |
240 | 248 |
private final int SELECTION_BY_COORDINATES_OPERATION = 1; |
241 | 249 |
private final int SELECTION_BY_AREA_OPERATION = 2; |
... | ... | |
844 | 852 |
* |
845 | 853 |
* @return java.awt.geom.Rectangle2D or null if the data is invalid |
846 | 854 |
*/ |
847 |
public Rectangle2D getExtent() {
|
|
855 |
public Geometry getArea() {
|
|
848 | 856 |
if (!getEnablingJCheckBox().isSelected()) |
849 | 857 |
return null; |
850 | 858 |
|
... | ... | |
856 | 864 |
} |
857 | 865 |
else { |
858 | 866 |
if (getCoordinatesPanel().validVertexes()) { |
859 |
// System.out.println("Extent que devuelve: " + getCoordinatesPanel().getExtent()); |
|
860 |
|
|
861 |
return getCoordinatesPanel().getExtent(); |
|
867 |
Rectangle2D r2d = getCoordinatesPanel().getExtent(); |
|
868 |
GeneralPathX generalPath = new GeneralPathX(); |
|
869 |
generalPath.moveTo(r2d.getMinX(), r2d.getMinY()); |
|
870 |
generalPath.lineTo(r2d.getMaxX(), r2d.getMinY()); |
|
871 |
generalPath.lineTo(r2d.getMaxX(), r2d.getMaxY()); |
|
872 |
generalPath.lineTo(r2d.getMinX(), r2d.getMaxY()); |
|
873 |
generalPath.lineTo(r2d.getMinX(), r2d.getMinY()); |
|
874 |
try { |
|
875 |
return geometryManager.createSurface(generalPath, SUBTYPES.GEOM2D); |
|
876 |
} catch (CreateGeometryException e) { |
|
877 |
logger.error("Creating the area", e); |
|
878 |
return null; |
|
879 |
} |
|
862 | 880 |
} |
863 | 881 |
else { |
864 | 882 |
return null; // Returns null if coordinates aren't valid |
Also available in: Unified diff