[Qgis-developer] GEOS functions
a.neumann at carto.net
Sat Jan 31 11:33:16 EST 2009
as far as I know this behavior was already with GEOS 2x. You have to
deal with it. In case you get a geometry collection you can extract the
part you are interested in. In case you are dealing with Polygons,
extract the polygon part and skip/ignore the line and point part of the
Geometry collection. Thats how I did it with some Postgis related work.
I don't know if this is intelligent, but it seemed to work in my case.
Carson Farmer wrote:
> Hello devs,
> Recently, I have noticed problems with several of the geoprocessing
> functions that use GEOS. It appears as though GEOS frequently returns
> geometry collections when performing overlay functions such as
> What ends up happening is that if two *polygons* intersect, and this
> intersection includes a single point, or a single line (in addition to
> say overlapping portions of the polygons), then the geometry returned
> is a geometry collection with (possibly) a point, line, and polygon.
> If this is the case, when attempting to write the resultant feature to
> file, it is skipped because it does not match the geometry specified
> in QgsVectorFileWriter().
> Martin and I have tried to look at some solutions, and he has
> implemented asGeometryCollection() for QgsGeometry(). However, this
> solution is currently not optimal, and appears to have some memory
> leaks. Do any other devs know if GEOS has changed the way overlay
> functions are implemented (I'm using GEOS-3.0.3), and how we can
> overcome this problem?
CH-8624 Grüt (Gossau ZH)
Email: a.neumann at carto.net
SVG Examples: http://www.carto.net/papers/svg/samples/
More information about the Qgis-developer