Ticket #246 (closed defect: worksforme)
Platform differences when performing a union
| Reported by: | lighthousej | Owned by: | pramsey |
|---|---|---|---|
| Priority: | medium | Milestone: | PostGIS 1.4.1 |
| Component: | postgis | Version: | 1.4.X |
| Keywords: | Cc: |
Description
Attached are two psql sessions, one on a WinXP Pro SP3 machine, another to Ubuntu Hardy 8.04. (one pair of files have unix line endings, another has DOS line endings, for your convenience).
There are 18 polygons in the data set and I want to make a union out of them. The union works in Linux but fails with an exception in Windows.
I received an error on the Windows box (TopologyException?: found non-noded intersection ...), then brought the data over to the linux box for analysis, and curiously the operation worked.
If you visualize it, I think the last polygon (#18) shares a common line segment in space with another (possibly #15), but breaks where #18 has a vertex on the line of #15. However there are at least 2 polygons that cover the same point in space so the point shouldn't even be a problem because it's not on the outside of the resulting shape.
I'm sure my analysis is lacking, but wanted to communicate all I found out. Using an alternate strategy of linework does get the union shape though.
Diagnostic information on Windows: postgres=# select postgis_full_version();
postgis_full_version
POSTGIS="1.4.0" GEOS="3.1.1-CAPI-1.6.0" PROJ="Rel. 4.6.1, 21 August 2008" USE_STATS
(1 row)
postgres=# select version();
version
PostgreSQL 8.4.0, compiled by Visual C++ build 1400, 32-bit
(1 row)
For Linux:
postgres=# select postgis_full_version();
postgis_full_version
POSTGIS="1.4.0" GEOS="3.1.1-CAPI-1.6.0" PROJ="Rel. 4.6.1, 21 August 2008" USE_STATS
(1 row)
postgres=# select version();
version
PostgreSQL 8.4.0 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 3.4.6 20060404 (Red Hat 3.4.6-10), 32-bit
(1 row)
Both were installed via binary setup programs.

