Juan Pablo Caram
2014-12-13 22:18:19 UTC
Hi,
Could someone give me some light into this: I'm getting very different
behavior between versions/platforms for cascaded_union and unary_union. I
would like to know what it the expected/latest/correct behavior. These are
the two cases:
CASE 1
======
Os: Ubuntu 12.04
libgeos-c1: 3.2.2-3ubuntu1
shapely: 1.5.1
python: 2.7.3
ValueError Traceback (most recent call last)
/home/jpcaram/flatcam/<ipython-input-4-0c768f786c71> in <module>()
----> 1 cascaded_union([])
/usr/local/lib/python2.7/dist-packages/shapely/ops.pyc in
cascaded_union(self, geoms)
128 subs[i] = g._geom
129 collection = lgeos.GEOSGeom_createCollection(6, subs, L)
--> 130 return
geom_factory(lgeos.methods['cascaded_union'](collection))
131
132 def unary_union(self, geoms):
/usr/local/lib/python2.7/dist-packages/shapely/geometry/base.pyc in
geom_factory(g, parent)
53 # Abstract geometry factory for use with topological methods
below
54 if not g:
---> 55 raise ValueError("No Shapely geometry can be created from
null value")
56 ob = BaseGeometry()
57 geom_type = geometry_type_name(g)
ValueError: No Shapely geometry can be created from null value
KeyError Traceback (most recent call last)
/home/jpcaram/flatcam/<ipython-input-6-9089513baa4e> in <module>()
----> 1 unary_union([])
/usr/local/lib/python2.7/dist-packages/shapely/ops.pyc in unary_union(self,
geoms)
146 subs[i] = g._geom
147 collection = lgeos.GEOSGeom_createCollection(6, subs, L)
--> 148 return
geom_factory(lgeos.methods['unary_union'](collection))
149
150 operator = CollectionOperator()
KeyError: 'unary_union'
KeyError Traceback (most recent call last)
/home/jpcaram/flatcam/<ipython-input-9-858a4018548e> in <module>()
----> 1 unary_union([Point(0,0)])
/usr/local/lib/python2.7/dist-packages/shapely/ops.pyc in unary_union(self,
geoms)
146 subs[i] = g._geom
147 collection = lgeos.GEOSGeom_createCollection(6, subs, L)
--> 148 return
geom_factory(lgeos.methods['unary_union'](collection))
149
150 operator = CollectionOperator()
KeyError: 'unary_union'
CASE 2:
=======
Os: Windows 7
python: 2.7.6
shapely: 1.3.0 (Installer came with geos)
In CASE 1, everything is newer except for the python version. Has the
behavior of shapely/geos changed?
Thank You,
JP
Could someone give me some light into this: I'm getting very different
behavior between versions/platforms for cascaded_union and unary_union. I
would like to know what it the expected/latest/correct behavior. These are
the two cases:
CASE 1
======
Os: Ubuntu 12.04
libgeos-c1: 3.2.2-3ubuntu1
shapely: 1.5.1
python: 2.7.3
cascaded_union([])
---------------------------------------------------------------------------ValueError Traceback (most recent call last)
/home/jpcaram/flatcam/<ipython-input-4-0c768f786c71> in <module>()
----> 1 cascaded_union([])
/usr/local/lib/python2.7/dist-packages/shapely/ops.pyc in
cascaded_union(self, geoms)
128 subs[i] = g._geom
129 collection = lgeos.GEOSGeom_createCollection(6, subs, L)
--> 130 return
geom_factory(lgeos.methods['cascaded_union'](collection))
131
132 def unary_union(self, geoms):
/usr/local/lib/python2.7/dist-packages/shapely/geometry/base.pyc in
geom_factory(g, parent)
53 # Abstract geometry factory for use with topological methods
below
54 if not g:
---> 55 raise ValueError("No Shapely geometry can be created from
null value")
56 ob = BaseGeometry()
57 geom_type = geometry_type_name(g)
ValueError: No Shapely geometry can be created from null value
unary_union([])
---------------------------------------------------------------------------KeyError Traceback (most recent call last)
/home/jpcaram/flatcam/<ipython-input-6-9089513baa4e> in <module>()
----> 1 unary_union([])
/usr/local/lib/python2.7/dist-packages/shapely/ops.pyc in unary_union(self,
geoms)
146 subs[i] = g._geom
147 collection = lgeos.GEOSGeom_createCollection(6, subs, L)
--> 148 return
geom_factory(lgeos.methods['unary_union'](collection))
149
150 operator = CollectionOperator()
KeyError: 'unary_union'
cascaded_union([Point(0,0)])
<shapely.geometry.point.Point at 0x201d510>unary_union([Point(0,0)])
---------------------------------------------------------------------------KeyError Traceback (most recent call last)
/home/jpcaram/flatcam/<ipython-input-9-858a4018548e> in <module>()
----> 1 unary_union([Point(0,0)])
/usr/local/lib/python2.7/dist-packages/shapely/ops.pyc in unary_union(self,
geoms)
146 subs[i] = g._geom
147 collection = lgeos.GEOSGeom_createCollection(6, subs, L)
--> 148 return
geom_factory(lgeos.methods['unary_union'](collection))
149
150 operator = CollectionOperator()
KeyError: 'unary_union'
CASE 2:
=======
Os: Windows 7
python: 2.7.6
shapely: 1.3.0 (Installer came with geos)
cascaded_union([])
<shapely.geometry.collection.GeometryCollection at 0x7708830>unary_union([])
<shapely.geometry.collection.GeometryCollection at 0x7708ab0>In CASE 1, everything is newer except for the python version. Has the
behavior of shapely/geos changed?
Thank You,
JP