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>
  • Field Details

  • 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

      public LineStringBuilder​(CoordinatesBuilder coordinates)
    • LineStringBuilder

      public LineStringBuilder​(StreamInput in) throws java.io.IOException
      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

      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: ShapeBuilder
      get the shapes type
      Specified by:
      type in class ShapeBuilder<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 class ShapeBuilder<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 class ShapeBuilder<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 class ShapeBuilder<org.locationtech.spatial4j.shape.jts.JtsGeometry,​org.elasticsearch.geometry.Geometry,​LineStringBuilder>
      Returns:
      GeoPoint, double[][], Line, Line[], Polygon, Polygon[], Rectangle, Object[]