我试图验证某些位于is_valid
的平面上的多边形,但是对于z不是常数的多边形,我得到Too few points in geometry component at or near point
。
有没有办法验证这些其他多边形?
以下是一个例子:
from shapely.geometry import Polygon
poly1 = Polygon([(0,0), (1,1), (1,0)])
print(poly1.is_valid)
# True
# z=1
poly2 = Polygon([(0,0,1), (1,1,1), (1,0,1)])
print(poly2.is_valid)
# True
# x=1
poly3 = Polygon([(1,0,0), (1,1,1), (1,1,0)])
print(poly3.is_valid)
# Too few points in geometry component at or near point 1 0 0
# False
答案 0 :(得分:1)
问题是shapely
实际上忽略了z坐标。因此,只要形状可以告诉您正在构建一个点[(1,0),(1,1), (1,1)]
不足以构建多边形的多边形。
有关详细信息,请参阅此其他问题:python-polygon-does-not-close-shapely。
恕我直言,形状上不应该允许三维坐标,因为它带来了这种混淆。