# Converting two parallel lines into single parts

I need to create one parallel line for each of my 800 line segments and used this method (code below) to successfully create two parallels. The answer mentions the need to separate them into separate parts but doesn't explain how. How can I convert these into one single parallel for each original polyline?

``````import arcpy, math
infc=r'..\SCRARCH\clone.shp'

def CopyParallel(plyP,sLength):
part=plyP.getPart(0)
lArray=arcpy.Array();rArray=arcpy.Array()
for ptX in part:
dL=plyP.measureOnLine(ptX)
ptX0=plyP.positionAlongLine (dL-0.01).firstPoint
ptX1=plyP.positionAlongLine (dL+0.01).firstPoint
dX=float(ptX1.X)-float(ptX0.X)
dY=float(ptX1.Y)-float(ptX0.Y)
lenV=math.hypot(dX,dY)
sX=-dY*sLength/lenV;sY=dX*sLength/lenV
leftP=arcpy.Point(ptX.X+sX,ptX.Y+sY)
rightP=arcpy.Point(ptX.X-sX, ptX.Y-sY)
array = arcpy.Array([lArray, rArray])
section=arcpy.Polyline(array)
return section

with arcpy.da.UpdateCursor(infc,("Shape@","Width")) as cursor:
for shp,w in cursor:
twoLines=CopyParallel(shp,w)
cursor.updateRow((twoLines,w))

``````

Edited to show a screenshot of what I'm working with. Black is original lines and purple are the offset parallels.

• Are the parallell line pairs touching eachother?
– BERA
Jul 20, 2021 at 14:55
• The lines are not touching their own pairs, although some are intersecting other lines. Edited to add screenshot. Jul 20, 2021 at 15:10
• I would try Multipart To Singlepart
– BERA
Jul 20, 2021 at 15:11
• That works to make everything a single part. I should clarify I only want one of these parallels for each original line to remain. How should I go about deleting one of each pair? Jul 20, 2021 at 15:24

``````rightP=arcpy.Point(ptX.X-sX, ptX.Y-sY)