我正在使用pyShp在一个新的shapefile中添加三个多边形。我添加了几何图形和记录(属性)。到目前为止,没有问题。
后来,我想使用Editor()类来删除三个多边形中的一个。如果我尝试删除最后一个'P3',它工作得很好。
当我尝试删除任何其他多边形时,出现问题。例如,如果我删除了第一个,形状就会消失,但它的属性会保留下来,这样'P2‘多边形就会继承它们。删除的记录是最后一条记录(最初链接到'P3')。
import shapefile
w = shapefile.Writer(shapefile.POLYGONZ)
print(w.shapeType)
w.poly(parts=[[[0,0],[5,0],[5,5],[0,5]]])
w.poly(parts=[[[10,0],[15,0],[15,10],[10,5]]])
w.poly(parts=[[[5,10],[10,10],[10,15],[5,15]]])
w.field('NAME', 'C',40)
w.record('P1')
w.record('P2')
w.record('P3')
w.save("polygons")
edit = shapefile.Editor("polygons")
edit.delete(0)
edit.save("polygonDeleted")我知道我可以选择我想要保留的两个形状并将它们写到一个新的shapefile中,但是我想知道为什么Editor()类不能像预期的那样工作。
发布于 2019-05-27 22:30:29
最新版本的pyshp删除了Editor()类,因此不再可用。
https://stackoverflow.com/questions/51601072
复制相似问题