对于3D中的多边形,shapely is_valid

时间:2016-10-17 00:27:20

标签: python gis shapely

我试图验证某些位于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

1 个答案:

答案 0 :(得分:1)

问题是shapely实际上忽略了z坐标。因此,只要形状可以告诉您正在构建一个点[(1,0),(1,1), (1,1)]不足以构建多边形的多边形。

有关详细信息,请参阅此其他问题:python-polygon-does-not-close-shapely

恕我直言,形状上不应该允许三维坐标,因为它带来了这种混淆。

相关问题