Class LineStringBuilder
java.lang.Object
org.elasticsearch.common.geo.builders.ShapeBuilder<org.locationtech.spatial4j.shape.jts.JtsGeometry,org.elasticsearch.geometry.Geometry,LineStringBuilder>
org.elasticsearch.common.geo.builders.LineStringBuilder
- All Implemented Interfaces:
NamedWriteable
,Writeable
,org.elasticsearch.common.xcontent.ToXContent
,org.elasticsearch.common.xcontent.ToXContentObject
public class LineStringBuilder extends ShapeBuilder<org.locationtech.spatial4j.shape.jts.JtsGeometry,org.elasticsearch.geometry.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
org.elasticsearch.common.xcontent.ToXContent.DelegatingMapParams, org.elasticsearch.common.xcontent.ToXContent.MapParams, org.elasticsearch.common.xcontent.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 GeoShapeType
TYPE
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 org.elasticsearch.geometry.Geometry
buildGeometry()
build lucene geometry.org.locationtech.spatial4j.shape.jts.JtsGeometry
buildS4J()
Create a new Shape from this builder.LineStringBuilder
close()
Closes the current lineString by adding the starting point as the end point.int
numDimensions()
tracks number of dimensions for this shapeorg.elasticsearch.common.xcontent.XContentBuilder
toXContent(org.elasticsearch.common.xcontent.XContentBuilder builder, org.elasticsearch.common.xcontent.ToXContent.Params params)
GeoShapeType
type()
get the shapes typeMethods 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 Details
-
TYPE
-
-
Constructor Details
-
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
-
LineStringBuilder
Read from a stream.- Throws:
java.io.IOException
-
-
Method Details
-
toXContent
public org.elasticsearch.common.xcontent.XContentBuilder toXContent(org.elasticsearch.common.xcontent.XContentBuilder builder, org.elasticsearch.common.xcontent.ToXContent.Params params) throws java.io.IOException- Throws:
java.io.IOException
-
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
Description copied from class:ShapeBuilder
get the shapes type- Specified by:
type
in classShapeBuilder<org.locationtech.spatial4j.shape.jts.JtsGeometry,org.elasticsearch.geometry.Geometry,LineStringBuilder>
- Returns:
- type of the shape
-
numDimensions
public int numDimensions()Description copied from class:ShapeBuilder
tracks number of dimensions for this shape- Specified by:
numDimensions
in classShapeBuilder<org.locationtech.spatial4j.shape.jts.JtsGeometry,org.elasticsearch.geometry.Geometry,LineStringBuilder>
-
buildS4J
public org.locationtech.spatial4j.shape.jts.JtsGeometry buildS4J()Description copied from class:ShapeBuilder
Create 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:
buildS4J
in classShapeBuilder<org.locationtech.spatial4j.shape.jts.JtsGeometry,org.elasticsearch.geometry.Geometry,LineStringBuilder>
- Returns:
- new
Shape
defined by the builder
-
buildGeometry
public org.elasticsearch.geometry.Geometry buildGeometry()Description copied from class:ShapeBuilder
build lucene geometry.- Specified by:
buildGeometry
in classShapeBuilder<org.locationtech.spatial4j.shape.jts.JtsGeometry,org.elasticsearch.geometry.Geometry,LineStringBuilder>
- Returns:
- GeoPoint, double[][], Line, Line[], Polygon, Polygon[], Rectangle, Object[]
-