MovingPandas is a Python library for movement data exploration and analysis.
MovingPandas provides trajectory data structures and functions for handling movement data based on Pandas, GeoPandas, and HoloViz.
The official MovingPandas API documentation is hosted on ReadTheDocs.
For more information about individual releases, check out the Changelog.
Features
- Easily create trajectories from diverse sources, including CSV files, GIS file formats, (Geo)DataFrames, and OGC Moving Features JSONs (MF-JSON)
- Detect and extract stops
- Split trajectories into individual trips
- Clean, simplify, generalize, and aggregate trajectories
- Find locations for given time stamps and time spans
- Compute movement direction, speed, direction, acceleration, and sampling intervals in a variety of spatiotemporal units
- Create static and interactive visualizations
Here are some examples:
Trajectory plots
Create interactive trajectory plots, including multiple linked plots with ease …
For all types of tracking data, e.g. video-based trajectories
Including plots in custom projections
Stop detection
Detect stops in trajectories, extract them as points or segments, and use them to split trajectories
Trajectory generalization
Generalize trajectories using spatial, temporal, and spatiotemporal methods
Trajectory cleaning & smoothing
Clean and sooth trajectories by removing outliers and applying Kalman filters
Trajectory aggregation
Aggregate trajectories to explore larger patterns
What’s next?
MovingPandas is under active development and there are some exciting features coming up. If you’d like to contribute to this project, you’re welcome to head on over to the Github repo!
Citation information
Please cite [0] when using MovingPandas in your research and reference the appropriate release version. All releases of MovingPandas are listed on Zenodo where you will find citation information, including DOIs.
If you are curious about who else is using MovingPandas, check out the list of publications citing MovingPandas.