python shapely:检查多边形是否是多边形

时间:2016-08-25 10:30:47

标签: python shapely

如何检查多边形实体是否实际上是多面? 我试过了:

if len(polygon)>1:

然后得到错误:

TypeError: object of type 'Polygon' has no len()

我尝试过NillNone和其他人,没有任何效果。

3 个答案:

答案 0 :(得分:9)

使用object.geom_type字符串(请参阅general attributes and methods)。

例如:

if poly.geom_type == 'MultiPolygon':
    # do multipolygon things.
elif poly.geom_type == 'Polygon':
    # do polygon things.
else:
    # raise IOError('Shape is not a polygon.')

答案 1 :(得分:5)

好的,这对我有用:

print ('type = ', type(poly))

输出:

type =  <class 'shapely.geometry.polygon.Polygon'>

如果是多边形,则:

type =  <class 'shapely.geometry.multipolygon.MultiPolygon'>

如果是多边形。

要检查变量是多边形还是多边形,我执行了此操作:

if (isinstance(poly, shapely.geometry.multipolygon.MultiPolygon)):
    code...

答案 2 :(得分:0)

你可以简单地做到这一点。

import shapely.geometry.multipolygon as sh

if isinstance(polygon, sh.MultiPolygon):
    print('yes I am')