Hello,
I need to update the distance field using the Pole_ID using Python script. From Pole_ID 0 to Pole_ID 1 and Pole_ID 1 to Pole_ID 2 and etc.
Kindly suggest me anyone.
Inter-point distance
Do the following:
Pre-logic Script Code:
""" input shape field: returns the distance between points and its center
dist_between(!Shape!) #enter into the expression box"""
x0 = 0.0; y0 = 0.0
def dist_between(shape):
global x0; global y0
x = shape.firstpoint.X; y = shape.firstpoint.Y
if x0 == 0.0 and y0 == 0.0:
x0 = x; y0 = y
distance = math.sqrt((x - x0)**2 + (y - y0)**2)
x0 = x; y0 = y
return distance
calculation field =
dist_between(!Shape!)
where calculation field is your active field, it will show its name.
Make sure you have projected data and a double field or nothing will make sense.
Cumulative Distance
If you want distance from the first point then use cumulative distance:
repeat the steps from above
Pre-logic Script Code:
""" input shape field: returns cumulative distance between points
dist_cumu(!Shape!) #enter into the expression box"""
x0 = 0.0; y0 = 0.0; distance = 0.0
def dist_cumu(shape):
global x0; global y0; global distance
x = shape.firstpoint.X; y = shape.firstpoint.Y
if x0 == 0.0 and y0 == 0.0:
x0 = x; y0 = y
distance += math.sqrt((x - x0)**2 + (y - y0)**2)
x0 = x; y0 = y
return distance
calculation field =
dist_cumu(!Shape!)
Same caveats as above.
NOTE:
if you have 3 or more points selected, then it will calculate the values with just the selection.
More calculations are shown here, if you didn't find the suggestions correct
Geometry: Points in the field calculator