Class PointImpl
- java.lang.Object
-
- org.locationtech.spatial4j.shape.BaseShape<SpatialContext>
-
- org.locationtech.spatial4j.shape.impl.PointImpl
-
public class PointImpl extends BaseShape<SpatialContext> implements Point
A basic 2D implementation of a Point.
-
-
Constructor Summary
Constructors Constructor Description PointImpl(double x, double y, SpatialContext ctx)
A simple constructor without normalization / validation.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(Object o)
The sub-classes of Shape generally implement the same contract forObject.equals(Object)
andObject.hashCode()
amongst the same sub-interface type.static boolean
equals(Point thiz, Object o)
AllPoint
implementations should use this definition ofObject.equals(Object)
.double
getArea(SpatialContext ctx)
Calculates the area of the shape, in square-degrees.Rectangle
getBoundingBox()
Get the bounding box for this Shape.Circle
getBuffered(double distance, SpatialContext ctx)
Returns a buffered version of this shape.PointImpl
getCenter()
Returns the center point of this shape.double
getX()
The X coordinate, or Longitude in geospatial contexts.double
getY()
The Y coordinate, or Latitude in geospatial contexts.boolean
hasArea()
Does the shape have area? This will be false for points and lines.int
hashCode()
static int
hashCode(Point thiz)
AllPoint
implementations should use this definition ofObject.hashCode()
.boolean
isEmpty()
Shapes can be "empty", which is to say it exists nowhere.SpatialRelation
relate(Shape other)
Describe the relationship between the two objects.void
reset(double x, double y)
Expert: Resets the state of this shape given the arguments.String
toString()
-
Methods inherited from class org.locationtech.spatial4j.shape.BaseShape
getContext
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.locationtech.spatial4j.shape.Shape
getContext
-
-
-
-
Constructor Detail
-
PointImpl
public PointImpl(double x, double y, SpatialContext ctx)
A simple constructor without normalization / validation.
-
-
Method Detail
-
isEmpty
public boolean isEmpty()
Description copied from interface:Shape
Shapes can be "empty", which is to say it exists nowhere. The underlying coordinates are typically NaN.
-
reset
public void reset(double x, double y)
Description copied from interface:Point
Expert: Resets the state of this shape given the arguments. This is a performance feature to avoid excessive Shape object allocation as well as some argument error checking. Mutable shapes is error-prone so use with care.
-
getX
public double getX()
Description copied from interface:Point
The X coordinate, or Longitude in geospatial contexts.
-
getY
public double getY()
Description copied from interface:Point
The Y coordinate, or Latitude in geospatial contexts.
-
getBoundingBox
public Rectangle getBoundingBox()
Description copied from interface:Shape
Get the bounding box for this Shape. This means the shape is within the bounding box and that it touches each side of the rectangle.Postcondition:
this.getBoundingBox().relate(this) == CONTAINS
- Specified by:
getBoundingBox
in interfaceShape
-
getCenter
public PointImpl getCenter()
Description copied from interface:Shape
Returns the center point of this shape. This is usually the same asgetBoundingBox().getCenter()
but it doesn't have to be.Postcondition:
this.relate(this.getCenter()) == CONTAINS
-
getBuffered
public Circle getBuffered(double distance, SpatialContext ctx)
Description copied from interface:Shape
Returns a buffered version of this shape. The buffer is usually a rounded-corner buffer, although some shapes might buffer differently. This is an optional operation.- Specified by:
getBuffered
in interfaceShape
- Returns:
- Not null, and the returned shape should contain the current shape.
-
relate
public SpatialRelation relate(Shape other)
Description copied from interface:Shape
Describe the relationship between the two objects. For example- this is WITHIN other
- this CONTAINS other
- this is DISJOINT other
- this INTERSECTS other
If the shapes are equal then the result is CONTAINS (preferred) or WITHIN.
-
hasArea
public boolean hasArea()
Description copied from interface:Shape
Does the shape have area? This will be false for points and lines. It will also be false for shapes that normally have area but are constructed in a degenerate case as to not have area (e.g. a circle with 0 radius or rectangle with no height or no width).
-
getArea
public double getArea(SpatialContext ctx)
Description copied from interface:Shape
Calculates the area of the shape, in square-degrees. If ctx is null then simple Euclidean calculations will be used. This figure can be an estimate.
-
equals
public boolean equals(Object o)
Description copied from interface:Shape
The sub-classes of Shape generally implement the same contract forObject.equals(Object)
andObject.hashCode()
amongst the same sub-interface type. This means, for example, that multiple Point implementations of different classes are equal if they share the same x & y.
-
equals
public static boolean equals(Point thiz, Object o)
AllPoint
implementations should use this definition ofObject.equals(Object)
.
-
hashCode
public static int hashCode(Point thiz)
AllPoint
implementations should use this definition ofObject.hashCode()
.
-
-