Class Geo3dShape<T extends GeoAreaShape>

  • Type Parameters:
    T - is the type of GeoAreaShape
    All Implemented Interfaces:
    org.locationtech.spatial4j.shape.Shape
    Direct Known Subclasses:
    Geo3dCircleShape, Geo3dPointShape, Geo3dRectangleShape

    public class Geo3dShape<T extends GeoAreaShape>
    extends Object
    implements org.locationtech.spatial4j.shape.Shape
    A Spatial4j Shape wrapping a GeoAreaShape ("Geo3D") -- a 3D planar geometry based Spatial4j Shape implementation. Geo3D implements shapes on the surface of a sphere or ellipsoid.
    WARNING: This API is experimental and might change in incompatible ways in the next release.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected org.locationtech.spatial4j.shape.Rectangle boundingBox  
      protected org.locationtech.spatial4j.shape.Point center  
      protected T shape  
      protected org.locationtech.spatial4j.context.SpatialContext spatialcontext  
    • Constructor Summary

      Constructors 
      Constructor Description
      Geo3dShape​(T shape, org.locationtech.spatial4j.context.SpatialContext spatialcontext)  
    • Field Detail

      • spatialcontext

        protected final org.locationtech.spatial4j.context.SpatialContext spatialcontext
      • boundingBox

        protected volatile org.locationtech.spatial4j.shape.Rectangle boundingBox
      • center

        protected volatile org.locationtech.spatial4j.shape.Point center
    • Constructor Detail

      • Geo3dShape

        public Geo3dShape​(T shape,
                          org.locationtech.spatial4j.context.SpatialContext spatialcontext)
    • Method Detail

      • relate

        public org.locationtech.spatial4j.shape.SpatialRelation relate​(org.locationtech.spatial4j.shape.Shape other)
        Specified by:
        relate in interface org.locationtech.spatial4j.shape.Shape
      • getBoundingBox

        public org.locationtech.spatial4j.shape.Rectangle getBoundingBox()
        Specified by:
        getBoundingBox in interface org.locationtech.spatial4j.shape.Shape
      • hasArea

        public boolean hasArea()
        Specified by:
        hasArea in interface org.locationtech.spatial4j.shape.Shape
      • getArea

        public double getArea​(org.locationtech.spatial4j.context.SpatialContext spatialContext)
        Specified by:
        getArea in interface org.locationtech.spatial4j.shape.Shape
      • getCenter

        public org.locationtech.spatial4j.shape.Point getCenter()
        Specified by:
        getCenter in interface org.locationtech.spatial4j.shape.Shape
      • getBuffered

        public org.locationtech.spatial4j.shape.Shape getBuffered​(double distance,
                                                                  org.locationtech.spatial4j.context.SpatialContext spatialContext)
        Specified by:
        getBuffered in interface org.locationtech.spatial4j.shape.Shape
      • isEmpty

        public boolean isEmpty()
        Specified by:
        isEmpty in interface org.locationtech.spatial4j.shape.Shape
      • getContext

        public org.locationtech.spatial4j.context.SpatialContext getContext()
        Specified by:
        getContext in interface org.locationtech.spatial4j.shape.Shape
      • equals

        public boolean equals​(Object o)
        Specified by:
        equals in interface org.locationtech.spatial4j.shape.Shape
        Overrides:
        equals in class Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object