GPS轨迹动画库
trackanimation的Python项目详细描述
track animation是一个python 2和3库,它提供了一种简单且用户可调整的方法,即creating visualizations from gps data轻松且无需任何技术约束。它允许从gpx(gps交换格式)和csv文件导入gps数据,以便对其进行操作,最后,创建videos、images、图像序列或interactive maps以根据轨道的高度、速度、持续时间或任何其他指标分析轨道。
track animation使用的主要第三方库是gpxpy解析和读取gpx文件,pandas操作所有gps数据,以及matplotlib绘制和保存可视化效果。
要创建基本的可视化,只需读取文件并将其传递给animationtrack类:
importtrackanimationfromtrackanimation.animationimportAnimationTrackinput_directory="example-routes/"ibiza_trk=trackanimation.read_track(input_directory)fig=AnimationTrack(df_points=ibiza_trk,dpi=300,bg_map=True,map_transparency=0.5)fig.make_video(output_file='simple-example',framerate=60,linewidth=1.0)
开始
您可以在examples.py文件中找到以下示例。
按位置过滤
可以过滤一组轨迹,以仅检索属于特定位置的点或经过该位置的整个轨迹。使用timevideonormalize函数,所有曲目将在视频中同时开始和结束,并在参数中指定其持续时间和帧速率。在下一个示例中,创建的视频的持续时间为10秒,每秒10帧。
importtrackanimationfromtrackanimation.animationimportAnimationTrackinput_directory="example-routes/"ibiza_trk=trackanimation.read_track(input_directory)sant_josep_trk=ibiza_trk.get_tracks_by_place('Sant Josep de sa Talaia',only_points=False)sant_josep_trk=sant_josep_trk.time_video_normalize(time=10,framerate=10)fig=AnimationTrack(df_points=sant_josep_trk,dpi=300,bg_map=True,map_transparency=0.5)fig.make_video(output_file='filtering-by-place',framerate=10,linewidth=1.0)
用一个指示器标记轨迹
此外,可以将轨迹的指示器可视化为调色板,以使数据的分析和解释更容易和有效。
importtrackanimationfromtrackanimation.animationimportAnimationTrackinput_directory="example-routes/ibiza.csv"ibiza_trk=trackanimation.read_track(input_directory)ibiza_trk=ibiza_trk.time_video_normalize(time=10,framerate=10)ibiza_trk=ibiza_trk.set_colors('Speed',individual_tracks=True)fig=AnimationTrack(df_points=ibiza_trk,dpi=300,bg_map=True,map_transparency=0.5)fig.make_video(output_file='coloring-map-by-speed',framerate=10,linewidth=1.0)# Variable 'bg_map' must be to False in order to create an interactive mapfig=AnimationTrack(df_points=ibiza_trk,dpi=300,bg_map=False,map_transparency=0.5)fig.make_map(output_file='coloring-map-by-speed')
可视化多组轨迹
可以在同一个可视化视图中独立绘制多组轨迹以进行比较。
importtrackanimationfromtrackanimation.animationimportAnimationTrackinput_directory="example-routes/"ibiza_trk=trackanimation.read_track(input_directory)sant_josep_trk=ibiza_trk.get_tracks_by_place('Sant Josep de sa Talaia',only_points=False)ibiza_trk=ibiza_trk.set_colors('Speed',individual_tracks=True)sant_josep_trk=sant_josep_trk.set_colors('Speed',individual_tracks=True)fig=AnimationTrack(df_points=[ibiza_trk,sant_josep_trk],dpi=300,bg_map=True,map_transparency=0.5)fig.make_image(output_file='multiple-axes')
文件
更多文档和示例可以在Track Animation PDF document找到。