Skip to content
Snippets Groups Projects

Draft: Resolve "Angles calculated using compute_point_angles seem incorect"

2 files
+ 45
5
Compare changes
  • Side-by-side
  • Inline
Files
2
@@ -137,17 +137,26 @@ def compute_position_dist_std(dat, radius):
return dist_means
@jit(nopython=True)
def angle_between_three_points(p1, p2, p3):
alpha = bearing(p2, p1)
beta = bearing(p2, p3)
return alpha - beta
def compute_point_angles(dat):
angles = np.zeros(dat.shape[0])
p1 = (dat[0][0], dat[0][1])
p2 = (dat[1][0], dat[1][1])
angles[0] = bearing(p2, p1)
for i in range(1, dat.shape[0] - 1):
p1 = (dat[i - 1][0], dat[i - 1][1])
p2 = (dat[i][0], dat[i][1])
p3 = (dat[i + 1][0], dat[i + 1][1])
alpha = bearing(p2, p1)
beta = bearing(p2, p3)
angles[i] = 180 - abs(abs(alpha - beta) - 180)
angles[i] = angle_between_three_points(p1, p2, p3)
return angles
@@ -182,6 +191,7 @@ def angle_dispersion(dat, radius):
return disp
class AISTrajectory:
def __init__(self, df, interpolation_time=None):
df = df.drop_duplicates(subset=['ts_sec'])
Loading