检查多边形是否为 Shapely 中的多多边形
Check if a polygon is a multipolygon in Shapely
如何检查多边形实体是否实际上是多多边形?
我试过:
if len(polygon) > 1:
但随后出现错误:
TypeError: object of type 'Polygon' has no len()
我试过 Nill
、None
和其他方法,都没有用。
好的,这对我有用:
print ('type = ', type(poly))
输出:
type = <class 'shapely.geometry.polygon.Polygon'>
如果是多边形,并且:
type = <class 'shapely.geometry.multipolygon.MultiPolygon'>
如果是多面体。
要检查变量是多边形还是多多边形,我这样做了:
if (isinstance(poly, shapely.geometry.multipolygon.MultiPolygon)):
code...
使用 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.')
你可以简单地做到这一点。
import shapely.geometry.multipolygon as sh
if isinstance(polygon, sh.MultiPolygon):
print('yes I am')
如何检查多边形实体是否实际上是多多边形? 我试过:
if len(polygon) > 1:
但随后出现错误:
TypeError: object of type 'Polygon' has no len()
我试过 Nill
、None
和其他方法,都没有用。
好的,这对我有用:
print ('type = ', type(poly))
输出:
type = <class 'shapely.geometry.polygon.Polygon'>
如果是多边形,并且:
type = <class 'shapely.geometry.multipolygon.MultiPolygon'>
如果是多面体。
要检查变量是多边形还是多多边形,我这样做了:
if (isinstance(poly, shapely.geometry.multipolygon.MultiPolygon)):
code...
使用 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.')
你可以简单地做到这一点。
import shapely.geometry.multipolygon as sh
if isinstance(polygon, sh.MultiPolygon):
print('yes I am')