Class JtsGeometry
java.lang.Object
org.locationtech.spatial4j.shape.BaseShape<JtsSpatialContext>
org.locationtech.spatial4j.shape.jts.JtsGeometry
- All Implemented Interfaces:
Shape
Wraps a JTS
Geometry (i.e. may be a polygon or basically anything).
JTS does a great deal of the hard work, but there is work here in handling
dateline (aka anti-meridian) wrap.-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected org.locationtech.jts.geom.prep.PreparedGeometrystatic final StringSystem property boolean that can disable auto validation in an assert.protected boolean -
Constructor Summary
ConstructorsConstructorDescriptionJtsGeometry(org.locationtech.jts.geom.Geometry geom, JtsSpatialContext ctx, boolean dateline180Check, boolean allowMultiOverlap) -
Method Summary
Modifier and TypeMethodDescriptionprotected RectanglecomputeGeoBBox(org.locationtech.jts.geom.Geometry geoms) Givengeomswhich has already been checked for being in world bounds, return the minimal longitude range of the bounding box.booleanThe sub-classes of Shape generally implement the same contract forObject.equals(Object)andObject.hashCode()amongst the same sub-interface type.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.org.locationtech.jts.geom.GeometrygetGeom()booleanhasArea()Does the shape have area?inthashCode()voidindex()Adds an index to this class internally to compute spatial relations faster.static SpatialRelationintersectionMatrixToSpatialRelation(org.locationtech.jts.geom.IntersectionMatrix matrix) booleanisEmpty()Shapes can be "empty", which is to say it exists nowhere.protected SpatialRelationrelate(org.locationtech.jts.geom.Geometry oGeom) relate(JtsGeometry jtsGeometry) Describe the relationship between the two objects.toString()voidvalidate()Validates the shape, throwing a descriptive error if it isn't valid.Methods inherited from class BaseShape
getContext
-
Field Details
-
SYSPROP_ASSERT_VALIDATE
System property boolean that can disable auto validation in an assert.- See Also:
-
preparedGeometry
protected org.locationtech.jts.geom.prep.PreparedGeometry preparedGeometry -
validated
protected boolean validated
-
-
Constructor Details
-
JtsGeometry
public JtsGeometry(org.locationtech.jts.geom.Geometry geom, JtsSpatialContext ctx, boolean dateline180Check, boolean allowMultiOverlap)
-
-
Method Details
-
validate
Validates the shape, throwing a descriptive error if it isn't valid. Note that this is usually called automatically by default, but that can be disabled.- Throws:
InvalidShapeException- with descriptive error if the shape isn't valid
-
index
public void index()Adds an index to this class internally to compute spatial relations faster. In JTS this is called aPreparedGeometry. This isn't done by default because it takes some time to do the optimization, and it uses more memory. Calling this method isn't thread-safe so be careful when this is done. If it was already indexed then nothing happens. -
isEmpty
public boolean isEmpty()Description copied from interface:ShapeShapes can be "empty", which is to say it exists nowhere. The underlying coordinates are typically NaN. -
computeGeoBBox
Givengeomswhich has already been checked for being in world bounds, return the minimal longitude range of the bounding box. -
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.- Returns:
- Not null, and the returned shape should contain the current shape.
-
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. -
getBoundingBox
-
getCenter
-
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.
-
relate
-
relate
-
relate
-
relate
-
relate
-
intersectionMatrixToSpatialRelation
public static SpatialRelation intersectionMatrixToSpatialRelation(org.locationtech.jts.geom.IntersectionMatrix matrix) -
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. -
hashCode
-
getGeom
public org.locationtech.jts.geom.Geometry getGeom()
-