다각형 엔티티가 실제로 다중 다각형인지 점검 할 수 있습니까?python shapely : 다각형이 다중 다각형인지 확인하십시오.
if len(polygon)>1:
을하지만 오류 얻을 : 내가 해봤 내가 Nill
, None
등을 시도했습니다
TypeError: object of type 'Polygon' has no len()
을, 아무 일 없습니다.
다각형 엔티티가 실제로 다중 다각형인지 점검 할 수 있습니까?python shapely : 다각형이 다중 다각형인지 확인하십시오.
if len(polygon)>1:
을하지만 오류 얻을 : 내가 해봤 내가 Nill
, None
등을 시도했습니다
TypeError: object of type 'Polygon' has no len()
을, 아무 일 없습니다.
좋아,이 날 근무 :
print ('type = ', type(poly))
출력을 :
type = <class 'shapely.geometry.polygon.Polygon'>
다각형의 경우
하고 :
type = <class 'shapely.geometry.multipolygon.MultiPolygon'>
다중 다각형의 경우이다.
if (isinstance(poly, shapely.geometry.multipolygon.MultiPolygon)):
code...
다중 다각형이 갖고있는 링의 수를 알려주지는 않을 것입니다. 다중 다각형은 외부 링을 하나만 가질 수 있습니다. 그것은 당신의 유스 케이스에 대해 중요하지 않을 수 있습니다. – jpmc26
이 (general attributes and methods 참조) object.geom_type
문자열을 사용하여 변수가 다각형 또는 내가 이것을했던 multypolygon 경우
:
if poly.geom_type == 'MultiPolygon':
# do multipolygon things.
elif poly.geom_type == 'Polygon':
# do polygon things.
else:
# raise IOError('Shape is not a polygon.')
당신은 설명서를 확인해야합니다. 여기에서'class MultiPolygon'에 대한 내용을 볼 수 있습니다 : http://toblerity.org/shapely/manual.html#collections-of-polygons –
변수가 다중 다각형 인 경우에만 작동합니다. 그렇지 않은 경우 - 오류가 발생합니다. 그렇기 때문에 변수가 다각형인지 다중 다각형인지 확인해야합니다. – Yair