Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Offset curve issue with closed linestring and miter join #1037

Open
nyalldawson opened this issue Feb 1, 2024 · 5 comments
Open

Offset curve issue with closed linestring and miter join #1037

nyalldawson opened this issue Feb 1, 2024 · 5 comments
Labels

Comments

@nyalldawson
Copy link

A closed linestring (eg LineString (0 0, 10 0, 10 10, 0 10, 0 0)) gives the correct result when offset by -1 using a round join style:

image

However if a Miter join style is used, then parts of the result are missing:

image

Shifting either line endpoint by a tiny amount gives the expected result (eg using LineString (0 0.00000001, 10 0, 10 10, 0 10, 0 0))

@dr-jts
Copy link
Contributor

dr-jts commented Feb 1, 2024

Interesting. It works fine in JTS:
image

Possibly related to #1036? Investigation required.

@dr-jts dr-jts added the Bug label Feb 1, 2024
@nyalldawson
Copy link
Author

Sorry, I posted my ticket a little early! I should have added that I'm testing using 3.12.1

@nyalldawson
Copy link
Author

This is impacting some QGIS users significantly -- could this be prioritised if funding is supplied?

@dr-jts
Copy link
Contributor

dr-jts commented Dec 10, 2024

To support investigating this, I added geosop operations bufferJoin and offsetCurveJoin. This case can be executed with:

bin/geosop -a "LINESTRING (0 0, 10 0, 10 10, 0 10, 0 0)" offsetCurveJoin N-1 N-5 

LINESTRING (11 -1, 11 11, -1 11)

@nyalldawson
Copy link
Author

Thanks @dr-jts !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants