private Rectangle2D getCurvedLabelBounds(LineStringCursor cursor, double startOrdinate,
double endOrdinate, double bufferSize) {
LineString cut = cursor.getSubLineString(startOrdinate, endOrdinate);
Envelope e = cut.getEnvelopeInternal();
e.expandBy(bufferSize);
return new Rectangle2D.Double(e.getMinX(), e.getMinY(), e.getWidth(), e.getHeight());
}
private LineString decimateLineString(LineString line, double step) {
Coordinate[] inputCoordinates = line.getCoordinates();