Opened 8 years ago
Closed 7 years ago
#3647 closed defect (fixed)
non-noded intersection error when running st_node
Reported by: | mathiasversichele | Owned by: | robe |
---|---|---|---|
Priority: | blocker | Milestone: | PostGIS 2.4.0 |
Component: | postgis | Version: | 2.2.x |
Keywords: | Cc: |
Description
Hi all,
I've been struggling with "non intersecting node" issues when trying to run st_node, which seems weird to me as st_node is supposed to fix these issues in the first place, right ?
The table dump in attachment illustrates the problem.
When running the following query:
select st_node(st_collect(geom)) from input_geoms;
I get the following error:
ERROR: GEOSUnaryUnion: TopologyException: found non-noded intersection between LINESTRING (1.0708e+06 786844, 1.07094e+06 786875) and LINESTRING (1.07097e+06 786883, 1.0708e+06 786844) at 1070922.7377618756 786871.60839152802
The input geoms are already snapped to 10meters precision.
I'm running
POSTGIS="2.1.8 r13780" GEOS="3.4.2-CAPI-1.8.2 r3921" PROJ="Rel. 4.8.0, 6 March 2012" GDAL="GDAL 1.11.2, released 2015/02/10" LIBXML="2.9.1" LIBJSON="UNKNOWN" RASTER
Attachments (1)
Change History (12)
by , 8 years ago
Attachment: | input_geoms.sql added |
---|
comment:1 by , 8 years ago
comment:2 by , 8 years ago
I made a quick test and can confirm that using GEOSNode internally does succeed at giving an answer. Time to tweak PostGIS (NOTE: it would still take GEOS-3.4.0+ to have GEOSNode available, and current testsuite expects a slightly different result which would need further work than my own patch).
comment:3 by , 8 years ago
Owner: | changed from | to
---|
comment:4 by , 8 years ago
Thanks for the answers! Just managed to node and polygonize my entire table in RGeos. Do I still create a ticket with this test-case on the geos trac ?
comment:6 by , 8 years ago
Milestone: | PostGIS 2.3.1 → PostGIS 2.3.2 |
---|
comment:7 by , 8 years ago
Milestone: | PostGIS 2.3.2 → PostGIS 2.4.0 |
---|
comment:9 by , 7 years ago
Owner: | changed from | to
---|---|
Priority: | medium → blocker |
comment:10 by , 7 years ago
Owner: | changed from | to
---|
Confirmed with:
The problem is in GEOSUnaryUnion, so worth filing a ticket in GEOS too: https://trac.osgeo.org/geos
It's worth to point out that GEOS has a GEOSNode function since version 3.4.0, but PostGIS is not using it. Would be worth a test against this case.