Hi, I'm experiencing an issue that the first and the last segment is missing when using offestCurve on a closed linestring. It is relatively easy to reproduce that issue, using the following code sample which results a geometry of 3 points instead of 5:
// Create the LINESTRING GEOSCoordSequence* sequence = GEOSCoordSeq_create_r(handle, 5, 2); GEOSCoordSeq_setXY_r(handle, sequence, 0, 252.68873929007674, 411.71254313074394); GEOSCoordSeq_setXY_r(handle, sequence, 1, 505.82866421616694, 411.71254313074394); GEOSCoordSeq_setXY_r(handle, sequence, 2, 505.82866421616694, 158.57261820465371); GEOSCoordSeq_setXY_r(handle, sequence, 3, 252.68873929007674, 158.57261820465371); GEOSCoordSeq_setXY_r(handle, sequence, 4, 252.68873929007674, 411.71254313074394); // Closing the LINESTRING GEOSGeometry* line = GEOSGeom_createLineString_r(handle, sequence); // Set the offset and other parameters double offset = 5.0; GEOSBufJoinStyles joinStyle = GEOSBUF_JOIN_MITRE; double mitreLimit = fabs(offset * 1.5); // Apply the offset curve GEOSGeometry* offsetResult = GEOSOffsetCurve_r(handle, line, offset, 4, joinStyle, mitreLimit); I've checked that this behavior was introduced in 3.11.0 (3.10.6 was OK) and it still exists in the latest stable branch. Similar issue has already been reported against qgis in the following ticket: https://github.com/qgis/QGIS/issues/51583 Do we have a workaround or plans to fix this issue? Thanks, Tamas