Class Wrapper

All Implemented Interfaces:
org.opengis.geometry.Geometry

final class Wrapper extends GeometryWithCRS<Shape>
The wrapper of Java2D geometries.
Since:
1.1
Version:
1.1
  • Field Details

  • Constructor Details

    • Wrapper

      Wrapper(Shape geometry)
      Creates a new wrapper around the given geometry.
  • Method Details

    • factory

      public Geometries<Shape> factory()
      Returns the implementation-dependent factory of geometric object.
      Specified by:
      factory in class GeometryWrapper<Shape>
      Returns:
      the factory of implementation-dependent geometric objects (never null).
    • implementation

      public Object implementation()
      Returns the geometry specified at construction time.
      Specified by:
      implementation in class GeometryWrapper<Shape>
      Returns:
      the geometry implementation wrapped by this instance (never null).
    • area

      private Area area()
      Returns the geometry as an Area object, creating it on the fly if necessary. The returned area shall not be modified because it may be the geometry instance.
    • getEnvelope

      public GeneralEnvelope getEnvelope()
      Returns the Java2D envelope as an Apache SIS implementation.
      Specified by:
      getEnvelope in class GeometryWrapper<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:
      getCentroid in class GeometryWrapper<Shape>
      Returns:
      the centroid of the wrapped geometry.
    • getPointCoordinates

      public double[] getPointCoordinates()
      Returns null since Shape are never points in Java2D API.
      Specified by:
      getPointCoordinates in class GeometryWrapper<Shape>
      Returns:
      the coordinate of the point as an array of length 2 or 3, or null if the geometry is not a point.
      See Also:
    • getAllCoordinates

      @Debug public double[] getAllCoordinates()
      Returns all coordinate tuples in the wrapped geometry. This method is currently used for testing purpose only.
      Specified by:
      getAllCoordinates in class GeometryWrapper<Shape>
      Returns:
      the sequence of all coordinate values in the wrapped geometry, or null if they cannot be obtained.
    • mergePolylines

      protected Shape mergePolylines(Iterator<?> polylines)
      Merges a sequence of points or paths after this geometry.
      Specified by:
      mergePolylines in class GeometryWrapper<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 a Shape or a Point2D.
    • mergePolylines

      static Shape mergePolylines(Object next, Iterator<?> polylines)
      Implementation of mergePolylines(Iterator) also shared by PointWrapper.
    • predicateSameCRS

      protected boolean predicateSameCRS(SpatialOperatorName type, GeometryWrapper<Shape> other)
      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:
      predicateSameCRS in class GeometryWrapper<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

      protected Object operationSameCRS(SQLMM operation, GeometryWrapper<Shape> other, Object argument)
      Applies a SQLMM operation on this geometry.
      Overrides:
      operationSameCRS in class GeometryWrapper<Shape>
      Parameters:
      operation - the SQLMM operation to apply.
      other - the other geometry, or null if the operation requires only one geometry.
      argument - an operation-specific argument, or null if not applicable.
      Returns:
      result of the specified operation.
    • equal

      private boolean equal(Object wrapper)
      Estimates whether the wrapped geometry is equal to the geometry of the given wrapper.
      Parameters:
      wrapper - instance of Wrapper.
    • within

      private boolean within(Object wrapper)
      Estimates whether the wrapped geometry is contained by the geometry of the given wrapper. This method may conservatively returns false if an accurate computation would be too expansive.
      Parameters:
      wrapper - instance of Wrapper.
    • contain

      private boolean contain(Object wrapper)
      Estimates whether the wrapped geometry contains the geometry of the given wrapper. This method may conservatively returns false if an accurate computation would be too expansive.
      Parameters:
      wrapper - instance of Wrapper or PointWrapper.
      Throws:
      ClassCastException - if the given object is not a recognized wrapper.
    • intersect

      private boolean intersect(Object wrapper)
      Estimates whether the wrapped geometry intersects the geometry of the given wrapper. This method may conservatively returns true if an accurate computation would be too expansive.
      Parameters:
      wrapper - instance of Wrapper or PointWrapper.
      Throws:
      ClassCastException - if the given object is not a recognized wrapper.
    • bbox

      private boolean bbox(Object wrapper)
      Estimates whether the wrapped geometry intersects the geometry of the given wrapper, testing only the bounding box of the wrapper argument. 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 of Wrapper or PointWrapper.
      Throws:
      ClassCastException - if the given object is not a recognized wrapper.
    • formatWKT

      public String formatWKT(double flatness)
      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:
      formatWKT in class GeometryWrapper<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: