Class SpatialContext
- java.lang.Object
-
- org.locationtech.spatial4j.context.SpatialContext
-
- Direct Known Subclasses:
JtsSpatialContext
public class SpatialContext extends java.lang.ObjectThis is a facade to most of Spatial4j, holding things likeDistanceCalculator,ShapeFactory,ShapeIO.If you want a typical geodetic context, just reference
GEO. Otherwise, You should either create and configure aSpatialContextFactoryand then callSpatialContextFactory.newSpatialContext(), OR, callSpatialContextFactory.makeSpatialContext(java.util.Map, ClassLoader)to do this via configuration data.Thread-safe & immutable.
-
-
Field Summary
Fields Modifier and Type Field Description private BinaryCodecbinaryCodecprivate DistanceCalculatorcalculatorprivate SupportedFormatsformatsprivate booleangeostatic SpatialContextGEOA popular default SpatialContext implementation for geospatial.private ShapeFactoryshapeFactoryprivate RectangleworldBounds
-
Constructor Summary
Constructors Constructor Description SpatialContext(boolean geo)Deprecated.SpatialContext(boolean geo, DistanceCalculator calculator, Rectangle worldBounds)Deprecated.SpatialContext(SpatialContextFactory factory)Called bySpatialContextFactory.newSpatialContext().
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description doublecalcDistance(Point p, double x2, double y2)Convenience that usesgetDistCalc()doublecalcDistance(Point p, Point p2)Convenience that usesgetDistCalc()BinaryCodecgetBinaryCodec()DistanceCalculatorgetDistCalc()SupportedFormatsgetFormats()ShapeFactorygetShapeFactory()A factory forShapes.WKTReadergetWktShapeParser()Deprecated.RectanglegetWorldBounds()The extent of x & y coordinates should fit within the return'ed rectangle.private static SpatialContextFactoryinitFromLegacyConstructor(boolean geo, DistanceCalculator calculator, Rectangle worldBounds)booleanisGeo()Is the mathematical world model based on a sphere, or is it a flat plane? The word "geodetic" or "geodesic" is sometimes used to refer to the former, and the latter is sometimes referred to as "Euclidean" or "cartesian".booleanisNormWrapLongitude()Deprecated.ShapemakeBufferedLineString(java.util.List<Point> points, double buf)Deprecated.CirclemakeCircle(double x, double y, double distance)Deprecated.CirclemakeCircle(Point point, double distance)Deprecated.<S extends Shape>
ShapeCollection<S>makeCollection(java.util.List<S> coll)Deprecated.ShapemakeLineString(java.util.List<Point> points)Deprecated.PointmakePoint(double x, double y)Deprecated.RectanglemakeRectangle(double minX, double maxX, double minY, double maxY)Deprecated.RectanglemakeRectangle(Point lowerLeft, Point upperRight)Deprecated.doublenormX(double x)Deprecated.doublenormY(double y)Deprecated.ShapereadShape(java.lang.String value)Deprecated.ShapereadShapeFromWkt(java.lang.String wkt)Deprecated.java.lang.StringtoString()java.lang.StringtoString(Shape shape)Deprecated.voidverifyX(double x)Deprecated.voidverifyY(double y)Deprecated.
-
-
-
Field Detail
-
GEO
public static final SpatialContext GEO
A popular default SpatialContext implementation for geospatial.
-
geo
private final boolean geo
-
shapeFactory
private final ShapeFactory shapeFactory
-
calculator
private final DistanceCalculator calculator
-
worldBounds
private final Rectangle worldBounds
-
binaryCodec
private final BinaryCodec binaryCodec
-
formats
private final SupportedFormats formats
-
-
Constructor Detail
-
SpatialContext
@Deprecated public SpatialContext(boolean geo, DistanceCalculator calculator, Rectangle worldBounds)Deprecated.Consider usingSpatialContextFactoryinstead.- Parameters:
geo- Establishes geo vs cartesian / Euclidean.calculator- Optional; defaults to haversine or cartesian depending ongeo.worldBounds- Optional; defaults to GEO_WORLDBOUNDS or MAX_WORLDBOUNDS depending on units.
-
SpatialContext
@Deprecated public SpatialContext(boolean geo)
Deprecated.
-
SpatialContext
public SpatialContext(SpatialContextFactory factory)
Called bySpatialContextFactory.newSpatialContext().
-
-
Method Detail
-
initFromLegacyConstructor
private static SpatialContextFactory initFromLegacyConstructor(boolean geo, DistanceCalculator calculator, Rectangle worldBounds)
-
getShapeFactory
public ShapeFactory getShapeFactory()
A factory forShapes.
-
getFormats
public SupportedFormats getFormats()
-
getDistCalc
public DistanceCalculator getDistCalc()
-
calcDistance
public double calcDistance(Point p, double x2, double y2)
Convenience that usesgetDistCalc()
-
calcDistance
public double calcDistance(Point p, Point p2)
Convenience that usesgetDistCalc()
-
getWorldBounds
public Rectangle getWorldBounds()
The extent of x & y coordinates should fit within the return'ed rectangle. Do *NOT* invoke reset() on this return type.
-
isNormWrapLongitude
@Deprecated public boolean isNormWrapLongitude()
Deprecated.If true thennormX(double)will wrap longitudes outside of the standard geodetic boundary into it. Example: 181 will become -179.
-
isGeo
public boolean isGeo()
Is the mathematical world model based on a sphere, or is it a flat plane? The word "geodetic" or "geodesic" is sometimes used to refer to the former, and the latter is sometimes referred to as "Euclidean" or "cartesian".
-
normX
@Deprecated public double normX(double x)
Deprecated.Normalize the 'x' dimension. Might reduce precision or wrap it to be within the bounds. This is called byWKTReaderbefore creating a shape.
-
normY
@Deprecated public double normY(double y)
Deprecated.Normalize the 'y' dimension. Might reduce precision or wrap it to be within the bounds. This is called byWKTReaderbefore creating a shape.
-
verifyX
@Deprecated public void verifyX(double x)
Deprecated.Ensure fits ingetWorldBounds(). It's called by any shape factory method that gets an 'x' dimension.
-
verifyY
@Deprecated public void verifyY(double y)
Deprecated.Ensure fits ingetWorldBounds(). It's called by any shape factory method that gets a 'y' dimension.
-
makePoint
@Deprecated public Point makePoint(double x, double y)
Deprecated.Construct a point.
-
makeRectangle
@Deprecated public Rectangle makeRectangle(Point lowerLeft, Point upperRight)
Deprecated.Construct a rectangle.
-
makeRectangle
@Deprecated public Rectangle makeRectangle(double minX, double maxX, double minY, double maxY)
Deprecated.Construct a rectangle. If just one longitude is on the dateline (+/- 180) (aka anti-meridian) then potentially adjust its sign to ensure the rectangle does not cross the dateline.
-
makeCircle
@Deprecated public Circle makeCircle(double x, double y, double distance)
Deprecated.Construct a circle. The units of "distance" should be the same as x & y.
-
makeCircle
@Deprecated public Circle makeCircle(Point point, double distance)
Deprecated.Construct a circle. The units of "distance" should be the same as x & y.
-
makeLineString
@Deprecated public Shape makeLineString(java.util.List<Point> points)
Deprecated.Constructs a line string. It's an ordered sequence of connected vertexes. There is no official shape/interface for it yet so we just return Shape.
-
makeBufferedLineString
@Deprecated public Shape makeBufferedLineString(java.util.List<Point> points, double buf)
Deprecated.Constructs a buffered line string. It's an ordered sequence of connected vertexes, with a buffer distance along the line in all directions. There is no official shape/interface for it so we just return Shape.
-
makeCollection
@Deprecated public <S extends Shape> ShapeCollection<S> makeCollection(java.util.List<S> coll)
Deprecated.Construct a ShapeCollection, analogous to an OGC GeometryCollection.
-
getWktShapeParser
@Deprecated public WKTReader getWktShapeParser()
Deprecated.TheWKTReaderused byreadShapeFromWkt(String).
-
readShapeFromWkt
@Deprecated public Shape readShapeFromWkt(java.lang.String wkt) throws java.text.ParseException, InvalidShapeException
Deprecated.Reads a shape from the string formatted in WKT.- Parameters:
wkt- non-null WKT.- Returns:
- non-null
- Throws:
java.text.ParseException- if it failed to parse.InvalidShapeException- See Also:
WKTReader
-
getBinaryCodec
public BinaryCodec getBinaryCodec()
-
readShape
@Deprecated public Shape readShape(java.lang.String value) throws InvalidShapeException
Deprecated.Try to read a shape from any supported formats- Returns:
- shape or null if unable to parse any shape
- Throws:
InvalidShapeException
-
toString
@Deprecated public java.lang.String toString(Shape shape)
Deprecated.Writes the shape to a String using the old/deprecatedLegacyShapeWriter. The JTS based subclass will write it to WKT if the legacy format doesn't support that shape. Spatial4j in the near future won't support writing shapes to strings.- Parameters:
shape- non-null- Returns:
- non-null
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-