Class Wrapper
java.lang.Object
- All Implemented Interfaces:
org.opengis.geometry.Geometry
The wrapper of Java2D geometries.
- Since:
- 1.1
- Version:
- 1.1
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) final ShapeThe wrapped implementation.private static final BiPredicate<Wrapper,Object>[] All predicates recognized bypredicateSameCRS(SpatialOperatorName, GeometryWrapper). -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate Areaarea()Returns the geometry as anAreaobject, creating it on the fly if necessary.private booleanEstimates whether the wrapped geometry intersects the geometry of the given wrapper, testing only the bounding box of thewrapperargument.private booleanEstimates whether the wrapped geometry contains the geometry of the given wrapper.private booleanEstimates whether the wrapped geometry is equal to the geometry of the given wrapper.factory()Returns the implementation-dependent factory of geometric object.formatWKT(double flatness) Builds a WKT representation of the wrapped shape.double[]Returns all coordinate tuples in the wrapped geometry.org.opengis.geometry.DirectPositionReturns the centroid of the wrapped geometry as a direct position.Returns the Java2D envelope as an Apache SIS implementation.double[]ReturnsnullsinceShapeare never points in Java2D API.Returns the geometry specified at construction time.private booleanEstimates whether the wrapped geometry intersects the geometry of the given wrapper.(package private) static ShapemergePolylines(Object next, Iterator<?> polylines) Implementation ofmergePolylines(Iterator)also shared byPointWrapper.protected ShapemergePolylines(Iterator<?> polylines) Merges a sequence of points or paths after this geometry.protected ObjectoperationSameCRS(SQLMM operation, GeometryWrapper<Shape> other, Object argument) Applies a SQLMM operation on this geometry.protected booleanpredicateSameCRS(SpatialOperatorName type, GeometryWrapper<Shape> other) Applies a filter predicate between this geometry and another geometry.private booleanEstimates whether the wrapped geometry is contained by the geometry of the given wrapper.Methods inherited from class org.apache.sis.internal.feature.GeometryWithCRS
createEnvelope, getCoordinateReferenceSystem, isSameCRS, setCoordinateReferenceSystemMethods inherited from class org.apache.sis.internal.feature.GeometryWrapper
equals, getSRID, hashCode, operation, operation, operationWithArgument, operationWithArgument, predicate, predicate, predicateSameCRS, toGeometryType, toString, transform, transform
-
Field Details
-
geometry
The wrapped implementation. -
PREDICATES
All predicates recognized bypredicateSameCRS(SpatialOperatorName, GeometryWrapper). Array indices areEnum.ordinal()values.
-
-
Constructor Details
-
Wrapper
Wrapper(Shape geometry) Creates a new wrapper around the given geometry.
-
-
Method Details
-
factory
Returns the implementation-dependent factory of geometric object.- Specified by:
factoryin classGeometryWrapper<Shape>- Returns:
- the factory of implementation-dependent geometric objects (never
null).
-
implementation
Returns the geometry specified at construction time.- Specified by:
implementationin classGeometryWrapper<Shape>- Returns:
- the geometry implementation wrapped by this instance (never
null).
-
area
-
getEnvelope
Returns the Java2D envelope as an Apache SIS implementation.- Specified by:
getEnvelopein classGeometryWrapper<Shape>- Returns:
- the envelope of the geometry.
-
getCentroid
public org.opengis.geometry.DirectPosition getCentroid()Returns the centroid of the wrapped geometry as a direct position.- Specified by:
getCentroidin classGeometryWrapper<Shape>- Returns:
- the centroid of the wrapped geometry.
-
getPointCoordinates
public double[] getPointCoordinates()ReturnsnullsinceShapeare never points in Java2D API.- Specified by:
getPointCoordinatesin classGeometryWrapper<Shape>- Returns:
- the coordinate of the point as an array of length 2 or 3,
or
nullif the geometry is not a point. - See Also:
-
getAllCoordinates
Returns all coordinate tuples in the wrapped geometry. This method is currently used for testing purpose only.- Specified by:
getAllCoordinatesin classGeometryWrapper<Shape>- Returns:
- the sequence of all coordinate values in the wrapped geometry,
or
nullif they cannot be obtained.
-
mergePolylines
Merges a sequence of points or paths after this geometry.- Specified by:
mergePolylinesin classGeometryWrapper<Shape>- Parameters:
polylines- the points or polylines to merge in a single polyline instance.- Returns:
- the merged polyline (may be the wrapper geometry but never
null). - Throws:
ClassCastException- if an element in the iterator is not aShapeor aPoint2D.
-
mergePolylines
Implementation ofmergePolylines(Iterator)also shared byPointWrapper. -
predicateSameCRS
Applies a filter predicate between this geometry and another geometry. This method assumes that the two geometries are in the same CRS (this is not verified).- Overrides:
predicateSameCRSin classGeometryWrapper<Shape>- Parameters:
type- the predicate operation to apply.other- the other geometry to test with this geometry.- Returns:
- result of applying the specified predicate.
-
operationSameCRS
Applies a SQLMM operation on this geometry.- Overrides:
operationSameCRSin classGeometryWrapper<Shape>- Parameters:
operation- the SQLMM operation to apply.other- the other geometry, ornullif the operation requires only one geometry.argument- an operation-specific argument, ornullif not applicable.- Returns:
- result of the specified operation.
-
equal
Estimates whether the wrapped geometry is equal to the geometry of the given wrapper.- Parameters:
wrapper- instance ofWrapper.
-
within
Estimates whether the wrapped geometry is contained by the geometry of the given wrapper. This method may conservatively returnsfalseif an accurate computation would be too expansive.- Parameters:
wrapper- instance ofWrapper.
-
contain
Estimates whether the wrapped geometry contains the geometry of the given wrapper. This method may conservatively returnsfalseif an accurate computation would be too expansive.- Parameters:
wrapper- instance ofWrapperorPointWrapper.- Throws:
ClassCastException- if the given object is not a recognized wrapper.
-
intersect
Estimates whether the wrapped geometry intersects the geometry of the given wrapper. This method may conservatively returnstrueif an accurate computation would be too expansive.- Parameters:
wrapper- instance ofWrapperorPointWrapper.- Throws:
ClassCastException- if the given object is not a recognized wrapper.
-
bbox
Estimates whether the wrapped geometry intersects the geometry of the given wrapper, testing only the bounding box of thewrapperargument. This method may be more accurate than required by OGC Filter Encoding specification in that this geometry is not simplified to a bounding box. But Java2D implementations sometimes use bounding box approximation, so the result may be the same.- Parameters:
wrapper- instance ofWrapperorPointWrapper.- Throws:
ClassCastException- if the given object is not a recognized wrapper.
-
formatWKT
Builds a WKT representation of the wrapped shape. Current implementation assumes that all closed shapes are polygons and that polygons have no hole (i.e. if a polygon is followed by more data, this method assumes that the additional data is a disjoint polygon).- Specified by:
formatWKTin classGeometryWrapper<Shape>- Parameters:
flatness- maximal distance between the approximated WKT and any point on the curve.- Returns:
- the Well Known Text for the wrapped geometry (never
null). - See Also:
-