[英]Check if a polygon is a multipolygon in Shapely
如何檢查多邊形實體是否實際上是多多邊形? 我試過:
if len(polygon) > 1:
但隨后得到錯誤:
TypeError: object of type 'Polygon' has no len()
我試過Nill
, None
和其他人,沒有任何效果。
使用object.geom_type
字符串(請參閱一般屬性和方法)。
例如:
if poly.geom_type == 'MultiPolygon':
# do multipolygon things.
elif poly.geom_type == 'Polygon':
# do polygon things.
else:
# raise IOError('Shape is not a polygon.')
好的,這對我有用:
print ('type = ', type(poly))
輸出:
type = <class 'shapely.geometry.polygon.Polygon'>
如果是多邊形,並且:
type = <class 'shapely.geometry.multipolygon.MultiPolygon'>
在多邊形的情況下。
要檢查變量是多邊形還是多多邊形,我這樣做了:
if (isinstance(poly, shapely.geometry.multipolygon.MultiPolygon)):
code...
你可以簡單地做到這一點。
import shapely.geometry.multipolygon as sh
if isinstance(polygon, sh.MultiPolygon):
print('yes I am')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.