| Package Status | |
| License | |
| Python Version | |
| Platforms | |
| Build Status | |
| PyPi version | |
| PyPi Downloads | |
| Conda version | |
| Conda Downloads | |
| Code Quality | |
| Code Coverage |
PyMove is a Python library for processing and visualization of trajectories and other spatial-temporal data.
We will also release wrappers to some useful Java libraries frequently used in the mobility domain.
Read the full documentation on ReadTheDocs
PyMove proposes:
-
A familiar and similar syntax to Pandas;
-
Clear documentation;
-
Extensibility, since you can implement your main data structure by manipulating other data structures such as Dask DataFrame, numpy arrays, etc., in addition to adding new modules;
-
Flexibility, as the user can switch between different data structures;
-
Operations for data preprocessing, pattern mining and data visualization.
It is recommended to create a virtual environment to use pymove.
Requirements: Anaconda Python distribution installed and accessible
-
In the terminal client enter the following where
env_nameis the name you want to call your environment, and replacex.xwith the Python version you wish to use. (To see a list of available python versions first, type conda search "^python$" and press enter.)-
conda create -n <env_name> python=x.x -
Press y to proceed. This will install the Python version and all theassociated anaconda packaged libraries atpath_to_your_anaconda_location/anaconda/envs/env_name
-
-
Activate your virtual environment. To activate or switch into your virtual environment, simply type the following where yourenvname is the name you gave to your environment at creation.
conda activate <env_name>
-
Now install the package from either
conda,piporgithub
Conda instalation
conda install -c conda-forge pymove
Pip installation
pip install pymove
Github installation
-
Clone this repository
git clone https://github.com/InsightLab/PyMove
-
Switch to folder PyMove
cd PyMove
-
Switch to a new branch
git checkout -b developer
-
Make a pull of branch
git pull origin developer
-
Install pymove in developer mode
make dev
If you installed from pip or github, you may encounter an error related to
shapely due to some dll dependencies. To fix this, run conda install shapely.
You can see examples of how to use PyMove here
-
1: Spatial Trajectories →
pymove.coreMoveDataFrameDiscreteMoveDataFrame
-
2: Stay Point Detection →
pymove.preprocessing.stay_point_detectioncreate_or_update_move_stop_by_dist_timecreate_or_update_move_and_stop_by_radius
-
3: Map-Matching →
pymove-osmnx -
4: Noise Filtering →
pymove.preprocessing.filtersby_bboxby_datetimeby_labelby_idby_tidclean_consecutive_duplicatesclean_gps_jumps_by_distanceclean_gps_nearby_points_by_distancesclean_gps_nearby_points_by_speedclean_gps_speed_max_radiusclean_trajectories_with_few_pointsclean_trajectories_short_and_few_pointsclean_id_by_time_max
-
5: Compression →
pymove.preprocessing.compressioncompress_segment_stop_to_point
-
6: Segmentation →
pymove.preprocessing.segmentationbbox_splitby_dist_time_speedby_max_distby_max_timeby_max_speed
-
7: Distance Measures →
pymove.distancesmedpmedteuclidean_distance_in_metershaversine
-
8: Query Historical Trajectories →
pymove.query.queryrange_queryknn_query
-
9: Managing Recent Trajectories
-
10: Privacy Preserving
-
11: Reducing Uncertainty
-
12: Moving Together Patterns
-
13: Clustering →
pymove.models.pattern_mining.clusteringelbow_methodgap_statisticsdbscan_clustering
-
14: Freq. Seq. Patterns
-
15: Periodic Patterns
-
16: Trajectory Classification
-
17: Trajectory Outlier / Anomaly Detection →
pymove.semantic.semanticoutlierscreate_or_update_out_of_the_bboxcreate_or_update_gps_deactivated_signalcreate_or_update_gps_jumpcreate_or_update_short_trajectorycreate_or_update_gps_block_signalfilter_block_signal_by_repeated_amount_of_pointsfilter_block_signal_by_timefilter_longer_time_to_stop_segment_by_id
The library was originally created during the bachelor's thesis of 2 students from the Federal University of Ceará, so you can cite using both works.
@mastersthesis{arina2019,
title = {Uma arquitetura e implementação do módulo de pré-processamento para biblioteca PyMove},
author = {Arina De Jesus Amador Monteiro Sanches},
year = 2019,
school = {Universidade Federal Do Ceará},
type = {Bachelor's thesis}
}
@mastersthesis{andreza2019,
title = {Uma arquitetura e implementação do módulo de visualização para biblioteca PyMove},
author = {Andreza Fernandes De Oliveira},
year = 2019,
school = {Universidade Federal Do Ceará},
type = {Bachelor's thesis}
}- Uma arquitetura e implementação do módulo de pré-processamento para biblioteca PyMove
- Uma arquitetura e implementação do módulo de visualização para biblioteca PyMove
- Avaliação de técnicas de aumento de dados para trajetórias
- Implementação de algoritmos para análise de similaridade de trajetória na biblioteca PyMove
