[mapguide-trac] #1604: Buffer: buffering polygon with interior rings is defective

MapGuide Open Source trac_mapguide at osgeo.org
Thu Feb 17 17:07:07 EST 2011


#1604: Buffer: buffering polygon with interior rings is defective
-------------------------+--------------------------------------------------
   Reporter:  danstoica  |       Owner:  Dan Stoica
       Type:  defect     |      Status:  new       
   Priority:  medium     |   Milestone:            
  Component:  General    |     Version:  2.1.0     
   Severity:  major      |    Keywords:            
External_id:             |  
-------------------------+--------------------------------------------------
 Curently the result of buffering a polygon with a hole is a polygon buffer
 with no hole while the expected result is polygon buffer with a hole
 (assuming the buffer distance is reasonable small).

 The cause is a performance improvement made in 2007. Basically a polygon
 with holes is buffered part  by  part, as opposed to all the loops at
 once. Then a union operation is performed. Since the ring's buffer is
 inside the external loop buffer, it is wrongly eliminated.

 The solution is to temporary remove this particular improvement. In
 performanceOptions.h (in the same location) just turn on this flag:

 // Process the entire geometry (polygons with rings, multi geometries)
 together
 #define PERF_MERGE_ENTIRE_GEOMETRY  true //false

-- 
Ticket URL: <https://trac.osgeo.org/mapguide/ticket/1604>
MapGuide Open Source <http://mapguide.osgeo.org/>
MapGuide Open Source Internals


More information about the mapguide-trac mailing list