We're in the process of porting RelateNG [1] to GEOS [2]. It offers benefits of performance, robustness, and increased functionality (e.g. handling GeometryCollections).
RelateNG does have one slight change in semantics. It treats a Zero-Length Line to be topologically equal to a Point: equalsTopo( LINESTRING(1 1, 1 1), POINT(1 1) ) = TRUE (the XML test for this is here: https://github.com/libgeos/geos/blob/main/tests/xmltester/tests/validate/TestRelatePL.xml#L43 ) Note that RelateNG does fix some other issues with Zero-Length Lines, as discussed in these issues: https://github.com/locationtech/jts/issues/345 https://github.com/locationtech/jts/issues/1050 So the question is: does anyone see any problems with allowing Zero-Length Lines to test as equal to Points? (Note: my opinion is that this is a beneficial change). [1] https://lin-ear-th-inking.blogspot.com/2024/05/jts-topological-relationships-next.html [2] https://github.com/libgeos/geos/tree/main-relate-ng