[postgis-devel] [PostGIS] #246: Platform differences when performing a union

PostGIS trac at osgeo.org
Mon Sep 14 05:38:12 PDT 2009


#246: Platform differences when performing a union
-------------------------+--------------------------------------------------
 Reporter:  lighthousej  |       Owner:  pramsey      
     Type:  defect       |      Status:  new          
 Priority:  medium       |   Milestone:  postgis 1.5.0
Component:  postgis      |     Version:  1.4.X        
 Keywords:               |  
-------------------------+--------------------------------------------------
 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.

-- 
Ticket URL: <http://trac.osgeo.org/postgis/ticket/246>
PostGIS <http://trac.osgeo.org/postgis/>
PostGIS


More information about the postgis-devel mailing list