[geos-devel] [GEOS] #1084: OffsetCurve -- TopologyException: found non-noded intersection between...
GEOS
geos-trac at osgeo.org
Wed Dec 9 17:29:58 PST 2020
#1084: OffsetCurve -- TopologyException: found non-noded intersection between...
------------------------+--------------------------
Reporter: jengland | Owner: geos-devel@…
Type: defect | Status: new
Priority: major | Milestone: 3.9.1
Component: Default | Version: 3.9.0
Severity: Unassigned | Keywords: OffsetCurve
------------------------+--------------------------
This is coming from shapely's `parallel_offset`. Here is an example:
{{{
from shapely import wkt, geos
print(geos.geos_version_string)
wkt.loads('LINESTRING (0 9, 21 30, 49 45, 61 70, 81
90)').parallel_offset(3)
}}}
Has the following output
{{{
3.8.0-CAPI-1.13.1
TopologyException: found non-noded intersection between LINESTRING
(50.4167 -21.6444, 22.8077 -36.435) and LINESTRING (22.8077 -36.435,
37.4683 -21.7743) at 22.807666014902189 -36.434974672217095
<python traceback>
}}}
I can mine them with the attached script at a rate of about 5-10 per
100,000 LineString s. The LineString s I'm trying are all simple
(relatively straight on a 100x100 integer grid with 5 points each). And
all the offsets are 0-9 ints.
This seems to be different from #682, because there the error message is
different (i.e. `TopologyException: assigned depths do not match at ...`)
and I cannot easily mine for exception of that message.
Hopefully it's acceptable to submit a `.py` example file. I can try to
reproduce this using GEOS directly if necessary.
--
Ticket URL: <https://trac.osgeo.org/geos/ticket/1084>
GEOS <http://trac.osgeo.org/geos>
GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS).
More information about the geos-devel
mailing list