[gdal-dev] Adding multipolygons to an existing geometry collection
Frank Warmerdam
warmerdam at pobox.com
Wed Mar 24 15:07:48 EDT 2010
danotchki wrote:
> Hello List,
>
> I hope you will be able to help me. I'm stuck on a problem.
> I'm trying to reconstruct within my Python script polygons from a
> shapefile that belong together.
>
> So I naturally perfomed:
>
> geom_tmp = ogr.CreateGeometryFromWkb(ftr.GetGeometryRef().ExportToWkb())
> geom.AddGeometryDirectly(geom_tmp)
>
> However this works only when the geometry to add is of type POLYGON.
> This _doesn't_ work with type MULTIPOLYGON (exit code 3).
Daniel,
What type is "geom"? If it is a MULTIPOLYGON then it can only
have polygons as children, not multipolygons.
> My question: is there a way to add MULTIPOLYGONs to an existing Geometry?
>
> What I don't understand is that when CreateGeometryFromWkb returns a
> MULTIPOLYGON it actually returns a GEOMETRY instead of a
> GEOMETRYCOLLECTION, thus preventing looping on each individual geometry
> with GetNumGeometries. Would there be a way to cast the polygon to a
> multipolygon?
In C/C++ there are methods on OGRGeometryFactory like
forceToPolygon and forceToMultiPolygon that might be helpful
but I see these are not exposed in Python. Are you willing to
build from SVN trunk source code? If so, I could add these methods
for you.
Best regards,
--
---------------------------------------+--------------------------------------
I set the clouds in motion - turn up | Frank Warmerdam, warmerdam at pobox.com
light and sound - activate the windows | http://pobox.com/~warmerdam
and watch the world go round - Rush | Geospatial Programmer for Rent
More information about the gdal-dev
mailing list