|
#coding=utf-8import arcpy#0表示第一个参数(位置),1表示第二个参数(位置),#这个索引很重要,它代表参数在工具的位置,所以要对应起来inf =arcpy.GetParameterAsText(0)line=arcpy.GetParameterAsText(1)#近邻分析arcpy.Near_analysis(inf,line,"","true")#获得更新游标rows=arcpy.UpdateCursor(inf)for row in rows: if row.NEAR_DIST>0: #距离大于零,表示不相交 geo = row.shape.getPart() #获得点类 #把最近点的坐标赋值给点类 geo.X=row.NEAR_X geo.Y=row.NEAR_Y #把点类的点几何对象赋值给不相交的点(把不相交点移动到线上) row.shape=arcpy.PointGeometry(geo) rows.updateRow(row) #更新行 del rowdel rows#删除近邻分析产生的字段信息arcpy.DeleteField_management(inf,['NEAR_FID','NEAR_DIST','NEAR_X','NEAR_Y'])
|
|