[postgis-devel] [PostGIS] #1735: ST_MakeValid: exception on geometry and crash

PostGIS trac at osgeo.org
Thu Mar 29 02:23:27 PDT 2012


#1735: ST_MakeValid: exception on geometry and crash
-----------------------+----------------------------------------------------
 Reporter:  aperi2007  |       Owner:  pramsey      
     Type:  defect     |      Status:  new          
 Priority:  medium     |   Milestone:  PostGIS 2.0.0
Component:  postgis    |     Version:  trunk        
 Keywords:             |  
-----------------------+----------------------------------------------------
 Hi,

 try-ing to apply ST_MakeValid on all geometries of a table apply-ing this
 query:

 {{{
 update gb.refresh_2010 set geometry2 =
 ST_CollectionExtract(ST_Force_Collection(ST_MakeValid(geometry)),3);

 The table has two geometry field (geometry and geometry2).
 Geometry2 is multipolygon.

 }}}

 The error I have is this:[[BR]]


 >[Errore] Righe script: 1-7 -------------------------
  ERROR: IllegalArgumentException: Operation not supported by
 GeometryCollection
  Riga: 1

  Avvertimenti: --->
   W (1): GEOSBoundary('GEOMETRYCOLLECTION(LINESTRING(1634953.49423
 4773448.36241,1634954.48166 4773448.34473),POLYGON((1635000
 4773453.81109,1634993.92191 4773452.03831,1634989.59971
 4773451.2279,1634980.41727 4773447.19096,1634975.125
 4773447.975,1634955.625 4773447.975,1634953.49423
 4773448.36241,1634953.49423 4773448.36241,1634953.49423
 4773448.36241,1634953.49423 4773448.36241,1634944.625
 4773449.975,1634944.2166 4773460.41257,1634963.39637 4773470.6778,1635000
 4773490.85092,1635000 4773453.81109)),POLYGON((1634954.48166
 4773448.34473,1634955.46909 4773448.32704,1634955.46909
 4773448.32704,1634954.48166 4773448.34473)))') threw an error:
 IllegalArgumentException: Operation not supported by GeometryCollection
          <---
  [Eseguito: 28/03/2012 22.26:08] [Esecuzione: 0ms]

 -----[[BR]]

 I'm using the postgis:[[BR]]

 POSTGIS="2.0.0beta4 r9521" GEOS="3.3.3dev-CAPI-1.7.3" PROJ="Rel. 4.8.0, 6
 March 2012" GDAL="GDAL 1.9.0, released 2011/12/29" LIBXML="2.7.8"
 LIBJSON="UNKNOWN" TOPOLOGY RASTER
 [[BR]]
 On windows 7
 ----

 After this , I try to another execution but postgis was crash.[[BR]]
 This is the log.
 [[BR]]


 {{{
 2012-03-28 23:14:19 CEST STATEMENT:  select (geometry) from
 gb.refresh_2010 where st_isvalid(geometry)=false
 EdgeRing::getRingInternal: IllegalArgumentException: Invalid number of
 points in LinearRing found 3 - must be 0 or >= 4

 EdgeRing::getRingInternal: IllegalArgumentException: Invalid number of
 points in LinearRing found 3 - must be 0 or >= 4

 EdgeRing::getRingInternal: IllegalArgumentException: Invalid number of
 points in LinearRing found 3 - must be 0 or >= 4

 EdgeRing::getRingInternal: IllegalArgumentException: Invalid number of
 points in LinearRing found 3 - must be 0 or >= 4

 EdgeRing::getRingInternal: IllegalArgumentException: Invalid number of
 points in LinearRing found 3 - must be 0 or >= 4

 EdgeRing::getRingInternal: IllegalArgumentException: Invalid number of
 points in LinearRing found 3 - must be 0 or >= 4

 EdgeRing::getRingInternal: IllegalArgumentException: Invalid number of
 points in LinearRing found 3 - must be 0 or >= 4

 EdgeRing::getRingInternal: IllegalArgumentException: Invalid number of
 points in LinearRing found 3 - must be 0 or >= 4

 EdgeRing::getRingInternal: IllegalArgumentException: Invalid number of
 points in LinearRing found 3 - must be 0 or >= 4

 EdgeRing::getRingInternal: IllegalArgumentException: Invalid number of
 points in LinearRing found 3 - must be 0 or >= 4

 EdgeRing::getRingInternal: IllegalArgumentException: Invalid number of
 points in LinearRing found 3 - must be 0 or >= 4

 EdgeRing::getRingInternal: IllegalArgumentException: Invalid number of
 points in LinearRing found 3 - must be 0 or >= 4

 EdgeRing::getRingInternal: IllegalArgumentException: Invalid number of
 points in LinearRing found 3 - must be 0 or >= 4

 EdgeRing::getRingInternal: IllegalArgumentException: Invalid number of
 points in LinearRing found 3 - must be 0 or >= 4

 EdgeRing::getRingInternal: IllegalArgumentException: Invalid number of
 points in LinearRing found 3 - must be 0 or >= 4

 EdgeRing::getRingInternal: IllegalArgumentException: Invalid number of
 points in LinearRing found 3 - must be 0 or >= 4

 EdgeRing::getRingInternal: IllegalArgumentException: Invalid number of
 points in LinearRing found 3 - must be 0 or >= 4

 EdgeRing::getRingInternal: IllegalArgumentException: Invalid number of
 points in LinearRing found 3 - must be 0 or >= 4

 EdgeRing::getRingInternal: IllegalArgumentException: Invalid number of
 points in LinearRing found 3 - must be 0 or >= 4

 EdgeRing::getRingInternal: IllegalArgumentException: Invalid number of
 points in LinearRing found 3 - must be 0 or >= 4

 EdgeRing::getRingInternal: IllegalArgumentException: Invalid number of
 points in LinearRing found 3 - must be 0 or >= 4

 EdgeRing::getRingInternal: IllegalArgumentException: Invalid number of
 points in LinearRing found 3 - must be 0 or >= 4

 EdgeRing::getRingInternal: IllegalArgumentException: Invalid number of
 points in LinearRing found 3 - must be 0 or >= 4

 EdgeRing::getRingInternal: IllegalArgumentException: Invalid number of
 points in LinearRing found 3 - must be 0 or >= 4

 EdgeRing::getRingInternal: IllegalArgumentException: Invalid number of
 points in LinearRing found 3 - must be 0 or >= 4

 EdgeRing::getRingInternal: IllegalArgumentException: Invalid number of
 points in LinearRing found 3 - must be 0 or >= 4

 EdgeRing::getRingInternal: IllegalArgumentException: Invalid number of
 points in LinearRing found 3 - must be 0 or >= 4

 EdgeRing::getRingInternal: IllegalArgumentException: Invalid number of
 points in LinearRing found 3 - must be 0 or >= 4

 Assertion failed: 0 != g, file geos_ts_c.cpp, line 2150



 This application has requested the Runtime to terminate it in an unusual
 way.
 Please contact the application's support team for more information.

 2012-03-28 23:15:30 CEST LOG:  server process (PID 472) exited with exit
 code 3
 2012-03-28 23:15:30 CEST LOG:  terminating any other active server
 processes
 }}}

-- 
Ticket URL: <https://trac.osgeo.org/postgis/ticket/1735>
PostGIS <http://trac.osgeo.org/postgis/>
The PostGIS Trac is used for bug, enhancement & task tracking, a user and developer wiki, and a view into the subversion code repository of PostGIS project.


More information about the postgis-devel mailing list