Class LineStringBuilder
- java.lang.Object
-
- org.elasticsearch.common.geo.builders.ShapeBuilder<org.locationtech.spatial4j.shape.jts.JtsGeometry,Geometry,LineStringBuilder>
-
- org.elasticsearch.common.geo.builders.LineStringBuilder
-
- All Implemented Interfaces:
NamedWriteable,Writeable,ToXContent,ToXContentObject
public class LineStringBuilder extends ShapeBuilder<org.locationtech.spatial4j.shape.jts.JtsGeometry,Geometry,LineStringBuilder>
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.elasticsearch.common.geo.builders.ShapeBuilder
ShapeBuilder.Edge, ShapeBuilder.Orientation
-
Nested classes/interfaces inherited from interface org.elasticsearch.common.xcontent.ToXContent
ToXContent.DelegatingMapParams, ToXContent.MapParams, ToXContent.Params
-
Nested classes/interfaces inherited from interface org.elasticsearch.common.io.stream.Writeable
Writeable.Reader<V>, Writeable.Writer<V>
-
-
Field Summary
Fields Modifier and Type Field Description static GeoShapeTypeTYPE-
Fields inherited from class org.elasticsearch.common.geo.builders.ShapeBuilder
AUTO_INDEX_JTS_GEOMETRY, AUTO_VALIDATE_JTS_GEOMETRY, coordinates, DATELINE, FACTORY, INTERSECTION_ORDER, LOGGER, MULTI_POLYGON_MAY_OVERLAP, SPATIAL_CONTEXT, wrapdateline, ZERO_ZERO
-
Fields inherited from interface org.elasticsearch.common.xcontent.ToXContent
EMPTY_PARAMS
-
-
Constructor Summary
Constructors Constructor Description LineStringBuilder(java.util.List<org.locationtech.jts.geom.Coordinate> coordinates)Construct a new LineString.LineStringBuilder(CoordinatesBuilder coordinates)LineStringBuilder(StreamInput in)Read from a stream.
-
Method Summary
Modifier and Type Method Description GeometrybuildGeometry()build lucene geometry.org.locationtech.spatial4j.shape.jts.JtsGeometrybuildS4J()Create a new Shape from this builder.LineStringBuilderclose()Closes the current lineString by adding the starting point as the end point.intnumDimensions()tracks number of dimensions for this shapeXContentBuildertoXContent(XContentBuilder builder, ToXContent.Params params)GeoShapeTypetype()get the shapes type-
Methods inherited from class org.elasticsearch.common.geo.builders.ShapeBuilder
contentToWKT, coordinate, coordinate, coordinateListToWKT, coordinates, coordinates, coordinates, coordinatesToXcontent, debugEnabled, equals, getWriteableName, hashCode, intersection, intersections, jtsGeometry, readFromStream, shift, toString, toWKT, toXContent, writeCoordinateTo, writeTo
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.elasticsearch.common.xcontent.ToXContentObject
isFragment
-
-
-
-
Field Detail
-
TYPE
public static final GeoShapeType TYPE
-
-
Constructor Detail
-
LineStringBuilder
public LineStringBuilder(java.util.List<org.locationtech.jts.geom.Coordinate> coordinates)
Construct a new LineString. Per GeoJSON spec (http://geojson.org/geojson-spec.html#linestring) a LineString must contain two or more coordinates- Parameters:
coordinates- the initial list of coordinates- Throws:
java.lang.IllegalArgumentException- if there are less then two coordinates defined
-
LineStringBuilder
public LineStringBuilder(CoordinatesBuilder coordinates)
-
LineStringBuilder
public LineStringBuilder(StreamInput in) throws java.io.IOException
Read from a stream.- Throws:
java.io.IOException
-
-
Method Detail
-
toXContent
public XContentBuilder toXContent(XContentBuilder builder, ToXContent.Params params) throws java.io.IOException
- Throws:
java.io.IOException
-
close
public LineStringBuilder close()
Closes the current lineString by adding the starting point as the end point. This will have no effect if starting and end point are already the same.
-
type
public GeoShapeType type()
Description copied from class:ShapeBuilderget the shapes type- Specified by:
typein classShapeBuilder<org.locationtech.spatial4j.shape.jts.JtsGeometry,Geometry,LineStringBuilder>- Returns:
- type of the shape
-
numDimensions
public int numDimensions()
Description copied from class:ShapeBuildertracks number of dimensions for this shape- Specified by:
numDimensionsin classShapeBuilder<org.locationtech.spatial4j.shape.jts.JtsGeometry,Geometry,LineStringBuilder>
-
buildS4J
public org.locationtech.spatial4j.shape.jts.JtsGeometry buildS4J()
Description copied from class:ShapeBuilderCreate a new Shape from this builder. Since calling this method could change the defined shape. (by inserting new coordinates or change the position of points) the builder looses its validity. So this method should only be called once on a builder- Specified by:
buildS4Jin classShapeBuilder<org.locationtech.spatial4j.shape.jts.JtsGeometry,Geometry,LineStringBuilder>- Returns:
- new
Shapedefined by the builder
-
buildGeometry
public Geometry buildGeometry()
Description copied from class:ShapeBuilderbuild lucene geometry.- Specified by:
buildGeometryin classShapeBuilder<org.locationtech.spatial4j.shape.jts.JtsGeometry,Geometry,LineStringBuilder>- Returns:
- GeoPoint, double[][], Line, Line[], Polygon, Polygon[], Rectangle, Object[]
-
-