@Override public ShapeBuilder getBuilder(CoordinateNode coordinates, DistanceUnit.Distance radius, Orientation orientation, boolean coerce) { return new CircleBuilder().center(coordinates.coordinate).radius(radius); }
@Override public XContentBuilder toXContent(XContentBuilder builder, Params params) throws IOException { builder.startObject(); builder.field(ShapeParser.FIELD_TYPE.getPreferredName(), TYPE.shapeName()); builder.field(FIELD_RADIUS.getPreferredName(), unit.toString(radius)); builder.field(ShapeParser.FIELD_COORDINATES.getPreferredName()); toXContent(builder, center); return builder.endObject(); }
/** * Read from a stream. */ public CircleBuilder(StreamInput in) throws IOException { center(readFromStream(in)); radius(in.readDouble(), DistanceUnit.readFromStream(in)); }
/** * Set the radius of the circle * @param radius radius of the circle (see {@link org.elasticsearch.common.unit.DistanceUnit.Distance}) * @return this */ public CircleBuilder radius(Distance radius) { return radius(radius.value, radius.unit); }
/** * set the center of the circle * @param lon longitude of the center * @param lat latitude of the center * @return this */ public CircleBuilder center(double lon, double lat) { return center(new Coordinate(lon, lat)); }
/** * create a new Circle * * @return a new {@link CircleBuilder} */ public static CircleBuilder newCircleBuilder() { return new CircleBuilder(); }
@Override public void writeTo(StreamOutput out) throws IOException { writeCoordinateTo(center, out); out.writeDouble(radius); unit.writeTo(out); }
/** * Set the radius of the circle. The String value will be parsed by {@link DistanceUnit} * @param radius Value and unit of the circle combined in a string * @return this */ public CircleBuilder radius(String radius) { return radius(DistanceUnit.Distance.parseDistance(radius)); }
/** * set the center of the circle * @param lon longitude of the center * @param lat latitude of the center * @return this */ public CircleBuilder center(double lon, double lat) { return center(new Coordinate(lon, lat)); }
/** * create a new Circle * * @return a new {@link CircleBuilder} */ public static CircleBuilder newCircleBuilder() { return new CircleBuilder(); }
@Override public void writeTo(StreamOutput out) throws IOException { writeCoordinateTo(center, out); out.writeDouble(radius); unit.writeTo(out); }
@Override public ShapeBuilder getBuilder(CoordinateNode coordinates, DistanceUnit.Distance radius, Orientation orientation, boolean coerce) { return new CircleBuilder().center(coordinates.coordinate).radius(radius); }
/** * Read from a stream. */ public CircleBuilder(StreamInput in) throws IOException { center(readFromStream(in)); radius(in.readDouble(), DistanceUnit.readFromStream(in));; }
/** * Set the radius of the circle * @param radius value of the circles radius * @param unit unit name of the radius value (see {@link DistanceUnit}) * @return this */ public CircleBuilder radius(double radius, String unit) { return radius(radius, DistanceUnit.fromString(unit)); }
/** * set the center of the circle * @param lon longitude of the center * @param lat latitude of the center * @return this */ public CircleBuilder center(double lon, double lat) { return center(new Coordinate(lon, lat)); }
@Override public XContentBuilder toXContent(XContentBuilder builder, Params params) throws IOException { builder.startObject(); builder.field(FIELD_TYPE, TYPE.shapename); builder.field(FIELD_RADIUS, unit.toString(radius)); builder.field(FIELD_COORDINATES); toXContent(builder, center); return builder.endObject(); }
/** * create a new Circle * * @return a new {@link CircleBuilder} */ public static CircleBuilder newCircleBuilder() { return new CircleBuilder(); }