批量删除分界线上的伪结点,用ArcPy的什么工具呢?

如题,请教方家。手动删的办法是 开始编辑→选中伪结点(图中蓝箭所向),删除折点;但ArcPy没有“删除折点”的工具呀。在本知乎搜了,没见答案。
delPseudoNode.jpg
已邀请:

zsf - SGG

赞同来自:

arcpy在低版本ArcGIS下没有直接删除特定折点的功能(高版本的情况不清楚)
为删除特定折点的功能,可采用重新创建Polyline的方式
如下,去掉横坐标为90.0的折点:
    
#terl应无多部件
with arcpy.da.UpdateCursor(terl,["shape@"]) as cs:
for row in cs:
shpLine = row[0]
ptList =
for part in shpLine:
for pnt in part:
if pnt:
ptList.append(pnt)
ptList2 =
for pt in ptList:
if pt.X==90.0:
continue
else:
ptList2.append(pt)
array = arcpy.Array(ptList2)
shpLine2 = arcpy.Polyline(array,terl)
row[0]=shpLine2
cs.updateRow(row)




要回复问题请先登录注册