3D 多边形形状 is_valid
shapely is_valid for polygons in 3D
我正在尝试验证一些在 is_valid
平面上的多边形,但我得到 Too few points in geometry component at or near point
对于 z 不恒定的多边形。
有没有办法验证这些其他多边形?
这是一个例子:
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
问题是 shapely
实际上忽略了 z 坐标。因此,就 shapely 而言,您正在构建一个多边形,其点 [(1,0),(1,1), (1,1)]
不足以构建多边形。
有关更多信息,请参阅其他 SO 问题:。
恕我直言,shapely 不应该允许三维坐标,因为它会带来这种混乱。
我正在尝试验证一些在 is_valid
平面上的多边形,但我得到 Too few points in geometry component at or near point
对于 z 不恒定的多边形。
有没有办法验证这些其他多边形?
这是一个例子:
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
问题是 shapely
实际上忽略了 z 坐标。因此,就 shapely 而言,您正在构建一个多边形,其点 [(1,0),(1,1), (1,1)]
不足以构建多边形。
有关更多信息,请参阅其他 SO 问题:
恕我直言,shapely 不应该允许三维坐标,因为它会带来这种混乱。