如何检查多边形实体是否实际上是多面? 我试过了:
if len(polygon)>1:
然后得到错误:
TypeError: object of type 'Polygon' has no len()
我尝试过Nill
,None
和其他人,没有任何效果。
答案 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')