def cut_ring(ring: LinearRing) -> List[LinearRing]:
rings = []
new_ring = []
# noinspection PyPropertyAccess
for point in ring.coords:
try:
index = new_ring.index(point)
except ValueError:
new_ring.append(point)
continue
if len(new_ring) > 2+index:
rings.append(LinearRing(new_ring[index:]+[point]))
new_ring = new_ring[:index+1]
return rings
评论列表
文章目录