def get_direction(self): pt0 = self.get_start_location() pt1 = self.get_end_location() if self.crs == '4326': return calculate_initial_compass_bearing(pt0, pt1) else: return azimuth(pt0, pt1)
def get_direction(self): """Return compass bearing as float of Trajectory object.""" pt0 = self.get_start_location() pt1 = self.get_end_location() if self.is_latlon(): return calculate_initial_compass_bearing(pt0, pt1) else: return azimuth(pt0, pt1)
def calculate_current_cog_and_sog(self): point1 = self.traj.get_start_location() point2 = self.traj.get_end_location() t1 = self.traj.get_start_time() t2 = self.traj.get_end_time() cog_deg = calculate_initial_compass_bearing(point1, point2) dist_meters = measure_distance_spherical(point1, point2) meters_per_sec = dist_meters / (t2 - t1).total_seconds() return [cog_deg, meters_per_sec]
def compute_heading(self, row): pt0 = row['prev_pt'] pt1 = row['geometry'] if type(pt0) != Point: return 0.0 if pt0 == pt1: return 0.0 if self.crs == '4326': return calculate_initial_compass_bearing(pt0, pt1) else: return azimuth(pt0, pt1)
def test_compass_bearing_south(self): result = calculate_initial_compass_bearing(Point(0,0), Point(0,-10)) expected_result = 180 self.assertEqual(result, expected_result)
def test_compass_bearing_west(self): result = calculate_initial_compass_bearing(Point(0,0), Point(-10,0)) expected_result = 270 self.assertEqual(result, expected_result)
def test_compass_bearing_north(self): result = calculate_initial_compass_bearing(Point(0, 0), Point(0, 10)) expected_result = 0 self.assertEqual(expected_result, result)