/** * Calculate the ring buffer * * @param geom * @param bufferSize * @param bufferParameters * @return * @throws SQLException */ public static Geometry runBuffer(final Geometry geom, final double bufferSize, final BufferParameters bufferParameters) throws SQLException { return BufferOp.bufferOp(geom, bufferSize, bufferParameters); } }
/** * Computes a buffer area around this geometry having the given width. The * buffer of a Geometry is the Minkowski sum or difference of the geometry * with a disc of radius <code>abs(distance)</code>. * <p> * Mathematically-exact buffer area boundaries can contain circular arcs. * To represent these arcs using linear geometry they must be approximated with line segments. * The buffer geometry is constructed using 8 segments per quadrant to approximate * the circular arcs. * The end cap style is <code>CAP_ROUND</code>. * <p> * The buffer operation always returns a polygonal result. The negative or * zero-distance buffer of lines and points is always an empty {@link Polygon}. * This is also the result for the buffers of degenerate (zero-area) polygons. * * @param distance * the width of the buffer (may be positive, negative or 0) * @return a polygonal geometry representing the buffer region (which may be * empty) * * @throws TopologyException * if a robustness error occurs * * @see #buffer(double, int) * @see #buffer(double, int, int) */ public Geometry buffer(double distance) { return BufferOp.bufferOp(this, distance); }
return BufferOp.bufferOp(this, distance, quadrantSegments);
return BufferOp.bufferOp(this, distance, quadrantSegments, endCapStyle);
/** * Compute the buffer * @param geometry * @param distance * @param bufferParameters * @return */ private static Geometry computeSingleSideBuffer(Geometry geometry, double distance, BufferParameters bufferParameters){ bufferParameters.setSingleSided(true); return BufferOp.bufferOp(geometry, distance, bufferParameters); } }
public static Geometry bufferWithSimplify(Geometry g, Double distance, @Metadata(title="Simplify factor") Double simplifyFactor) { double dist = 0; if (distance != null) dist = distance.doubleValue(); BufferParameters bufParams = new BufferParameters(); if (simplifyFactor != null) bufParams.setSimplifyFactor(simplifyFactor.doubleValue()); return BufferOp.bufferOp(g, dist, bufParams); }
public static Geometry bufferMitredJoin(Geometry g, double distance) { BufferParameters bufParams = new BufferParameters(); bufParams.setJoinStyle(BufferParameters.JOIN_MITRE); return BufferOp.bufferOp(g, distance, bufParams); }
public static Geometry bufferMitredJoin(Geometry g, double distance) { BufferParameters bufParams = new BufferParameters(); bufParams.setJoinStyle(BufferParameters.JOIN_MITRE); return BufferOp.bufferOp(g, distance, bufParams); }
public static Geometry singleSidedBuffer(Geometry geom, double distance) { BufferParameters bufParams = new BufferParameters(); bufParams.setSingleSided(true); return BufferOp.bufferOp(geom, distance, bufParams); }
public static Geometry logoBuffer(Geometry g, double distance) { Geometry lines = logoLines(g); BufferParameters bufParams = new BufferParameters(); bufParams.setEndCapStyle(BufferParameters.CAP_SQUARE); return BufferOp.bufferOp(lines, distance, bufParams); }
public static Geometry bufferWithParams(Geometry g, Double distance, @Metadata(title="Quadrant Segs") Integer quadrantSegments, @Metadata(title="Cap style") Integer capStyle, @Metadata(title="Join style") Integer joinStyle, @Metadata(title="Mitre limit") Double mitreLimit) { double dist = 0; if (distance != null) dist = distance.doubleValue(); BufferParameters bufParams = new BufferParameters(); if (quadrantSegments != null) bufParams.setQuadrantSegments(quadrantSegments.intValue()); if (capStyle != null) bufParams.setEndCapStyle(capStyle.intValue()); if (joinStyle != null) bufParams.setJoinStyle(joinStyle.intValue()); if (mitreLimit != null) bufParams.setMitreLimit(mitreLimit.doubleValue()); return BufferOp.bufferOp(g, dist, bufParams); }