I am new to the arcpy. I searched the community and I didn't find the answer to the question.
I have problem with finding the intersection of two 3D polylines (each one with 2 vertex) with python in arcgis standard 10.5. Polylines are not in a .shp file, because they created using polyline1 = arcpy.polyline(...) so I can call them directly.
Using point = polyline1.intersect(polyline2 , 1) just create a multipoint class without anypoint in it.
I need the intersection point coordination (with z) as an answer
Also, I have problem with writing 3d polylines to .shp and .mdb files. after writing polylines to the file, the arcmap omit the z values and all the lines are horizontal.
So I really appriciate help with these 2 questions.
This is an example of the problems:
from os.path import expanduser
from os.path import join as joinadd
#2 below polylines obviously have intersection
#creating 3d polylines
#check for the intersection with disjoint
polytemp1.disjoint(polytemp2) #The answer is False, which means there is an intersection, but is disjoint check in 3D???? or just 2D????
#finding the point (3D)
pnt = polyline1.intersect(polyline2 , 1)
print 'newpoint' ,newpoint.pointCount, newpoint.type, newpoint.partCount #This shows that there is no point in the multipoint!!
#second question: writing a 3d polyline in a .shp file:
if not os.path.exists(homeadd):
cursor = arcpy.da.InsertCursor(polyline1add, ["SHAPE@"])
#now I have the .shp file, but the lines are 2D!!
Question 1: change one of the z coordinates so that the lines clearly do not intersect along the z-axis, but still would intersect along the xy plane, to check.
Question 2: you go through a lot of work to create a feature class called 'homeadd', and then insert into a different feature class, 'polyline1add'. Is that intentional?
Thanks for the response Darren.
As I understand, .disjoint and .intersect just works in 2D (without Z).
Now the question is, 1. how to check if intersection exist in 3D? 2.How to find the intersection point (X,Y,Z)?
I suppose you could test if the lines intersect in 2D. If so, find the XY coordinates where they intersect. Calculate the Z coordinate at those locations. See if they're the same. If the lines don't intersect in 2D, they don't intersect in 3D.