Class PointImpl
java.lang.Object
org.locationtech.spatial4j.shape.BaseShape<SpatialContext>
org.locationtech.spatial4j.shape.impl.PointImpl
A basic 2D implementation of a Point.
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionPointImpl(double x, double y, SpatialContext ctx) A simple constructor without normalization / validation. -
Method Summary
Modifier and TypeMethodDescriptionbooleanThe sub-classes of Shape generally implement the same contract forObject.equals(Object)andObject.hashCode()amongst the same sub-interface type.static booleanAllPointimplementations should use this definition ofObject.equals(Object).doublegetArea(SpatialContext ctx) Calculates the area of the shape, in square-degrees.Get the bounding box for this Shape.getBuffered(double distance, SpatialContext ctx) Returns a buffered version of this shape.Returns the center point of this shape.doublegetLat()Convenience method that usually maps onPoint.getY()doublegetLon()Convenience method that usually maps onPoint.getX()doublegetX()The X coordinate, or Longitude in geospatial contexts.doublegetY()The Y coordinate, or Latitude in geospatial contexts.booleanhasArea()Does the shape have area? This will be false for points and lines.inthashCode()static intAllPointimplementations should use this definition ofObject.hashCode().booleanisEmpty()Shapes can be "empty", which is to say it exists nowhere.Describe the relationship between the two objects.voidreset(double x, double y) Expert: Resets the state of this shape given the arguments.toString()Methods inherited from class BaseShape
getContextMethods inherited from interface Shape
getContext
-
Field Details
-
x
private double x -
y
private double y
-
-
Constructor Details
-
PointImpl
A simple constructor without normalization / validation.
-
-
Method Details
-
isEmpty
-
reset
public void reset(double x, double y) Description copied from interface:PointExpert: 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
-
getY
-
getLat
public double getLat()Description copied from interface:PointConvenience method that usually maps onPoint.getY() -
getLon
public double getLon()Description copied from interface:PointConvenience method that usually maps onPoint.getX() -
getBoundingBox
Description copied from interface:ShapeGet 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:
getBoundingBoxin interfaceShape
-
getCenter
-
getBuffered
Description copied from interface:ShapeReturns 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:
getBufferedin interfaceShape- Returns:
- Not null, and the returned shape should contain the current shape.
-
relate
Description copied from interface:ShapeDescribe 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:ShapeDoes 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
Description copied from interface:ShapeCalculates 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. -
toString
-
equals
Description copied from interface:ShapeThe 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
AllPointimplementations should use this definition ofObject.equals(Object). -
hashCode
-
hashCode
AllPointimplementations should use this definition ofObject.hashCode().
-