def test_support_for_other_geometry_column_names(self): df = pd.DataFrame([ { "xxx": Point(0, 0), "t": datetime(2018, 1, 1, 12, 0, 0) }, { "xxx": Point(6, 0), "t": datetime(2018, 1, 1, 12, 6, 0) }, { "xxx": Point(6, 6), "t": datetime(2018, 1, 1, 12, 10, 0) }, ]).set_index("t") geo_df = GeoDataFrame(df, geometry="xxx", crs=CRS_METRIC) traj = Trajectory(geo_df, 1) traj.add_speed() traj.add_direction() traj.get_bbox() traj.get_length() traj.get_linestring_between(datetime(2018, 1, 1, 12, 0, 0), datetime(2018, 1, 1, 12, 6, 0)) traj.get_start_location() traj.hvplot() traj.size() traj.to_line_gdf() traj.to_linestringm_wkt() traj.to_linestring() traj.to_point_gdf() traj.to_traj_gdf()
def test_support_for_other_time_column_names(self): df = pd.DataFrame([ {'geometry': TestPoint(0, 0), 'xxx': datetime(2018, 1, 1, 12, 0, 0)}, {'geometry': TestPoint(6, 0), 'xxx': datetime(2018, 1, 1, 12, 6, 0)}, {'geometry': TestPoint(6, 6), 'xxx': datetime(2018, 1, 1, 12, 10, 0)} ]).set_index('xxx') geo_df = GeoDataFrame(df, crs=CRS_METRIC) traj = Trajectory(geo_df, 1) traj.add_speed() traj.add_direction() traj.hvplot()
def test_support_for_subclasses_of_point(self): df = pd.DataFrame([ {'geometry': TestPoint(0, 0), 't': datetime(2018, 1, 1, 12, 0, 0)}, {'geometry': TestPoint(6, 0), 't': datetime(2018, 1, 1, 12, 6, 0)}, {'geometry': TestPoint(6, 6), 't': datetime(2018, 1, 1, 12, 10, 0)} ]).set_index('t') geo_df = GeoDataFrame(df, crs=CRS_METRIC) traj = Trajectory(geo_df, 1) traj.add_speed() traj.add_direction() traj.hvplot()
def test_add_heading_latlon(self): df = pd.DataFrame([ {'geometry': Point(0, 0), 't': datetime(2018, 1, 1, 12, 0, 0)}, {'geometry': Point(10, 10), 't': datetime(2018, 1, 1, 12, 10, 0)} ]).set_index('t') geo_df = GeoDataFrame(df, crs=from_epsg(4326)) traj = Trajectory(1, geo_df) traj.add_direction() result = traj.df[DIRECTION_COL_NAME].tolist() expected_result = [44.561451413257714, 44.561451413257714] self.assertAlmostEqual(expected_result[0], result[0], 5)
def test_add_heading(self): df = pd.DataFrame([ {'geometry': Point(0, 0), 't': datetime(2018, 1, 1, 12, 0, 0)}, {'geometry': Point(6, 0), 't': datetime(2018, 1, 1, 12, 10, 0)}, {'geometry': Point(6, -6), 't': datetime(2018, 1, 1, 12, 20, 0)}, {'geometry': Point(-6, -6), 't': datetime(2018, 1, 1, 12, 30, 0)} ]).set_index('t') geo_df = GeoDataFrame(df, crs=from_epsg(31256)) traj = Trajectory(1, geo_df) traj.add_direction() result = traj.df[DIRECTION_COL_NAME].tolist() expected_result = [90.0, 90.0, 180.0, 270] self.assertEqual(expected_result, result)
def test_support_for_other_time_column_names(self): df = pd.DataFrame([ { "geometry": Point(0, 0), "xxx": datetime(2018, 1, 1, 12, 0, 0) }, { "geometry": Point(6, 0), "xxx": datetime(2018, 1, 1, 12, 6, 0) }, { "geometry": Point(6, 6), "xxx": datetime(2018, 1, 1, 12, 10, 0) }, ]).set_index("xxx") geo_df = GeoDataFrame(df, crs=CRS_METRIC) traj = Trajectory(geo_df, 1) traj.add_speed() traj.add_direction() traj.hvplot() traj.plot() traj.get_length() traj.to_linestring() traj.to_linestringm_wkt()