Skip to main content

No project description provided

Project description

yupiwrap

This repository contains functions to simplify the conversion of Trajectory data among yupi and other useful software libraries designed for analyzing trajectories.

Standing for Yet Underused Path Instruments, yupi is a set of tools designed for collecting, generating and processing trajectory data. The structure of yupi aims to standardize the usage and storage of general purpose trajectories independently of its dimensions. We believe it is useful to be able to convert, when possible, yupi trajectories to the data structures used by other libraries to empower our users with the tools offered by third parties. With the same spirit, we offer the possibility of converting data from other libraries to yupi trajectories.

Installation

Current recommended installation method is via the pypi package:

pip install yupiwrap

It will install required dependencies such as yupi package from pypi.

Compatible libraries

traja

The Traja Python package is a toolkit for the numerical characterization and analysis of the trajectories of moving animals. It provides several machine learning tools that are not yet implemented in yupi. Even when it is limited to two-dimensional trajectories, there are many resources that traja can offer when dealing with 2D Trajectories in yupi.

Converting a yupi.Trajectory into a traja DataFrame

Let's create a trajectory with yupi:

from yupi import Trajectory

x = [0, 1.0, 0.63, -0.37, -1.24, -1.5, -1.08, -0.19, 0.82, 1.63, 1.99, 1.85]
y = [0, 0, 0.98, 1.24, 0.69, -0.3, -1.23, -1.72, -1.63, -1.01, -0.06, 0.94]

track = Trajectory(x=x, y=y, traj_id="Spiral")

We can convert it to a traja DataFrame simply by:

from yupiwrap import yupi2traja

traja_track = yupi2traja(track)

⚠️ Only yupi.Trajectory objects with two dimensions can be converted to traja DataFrame due to traja limitations.

Converting a traja DataFrame into a yupi.Trajectory

If you have a traja DataFrame you can always convert it to a yupi.Trajectory by using:

from yupiwrap import traja2yupi

yupi_track = traja2yupi(traja_track)

tracktable

Tracktable provides a set of tools for handling 2D and 3D trajectories as well as Terrain trajectories. The core data structures and algorithms on this package are implemented in C++ for speed and more efficient memory use.

Converting a yupi.Trajectory into a tracktable trajectory

Let's create a trajectory with yupi:

from yupiwrap.tracktable import yupi2tracktable, tracktable2yupi
from yupi import Trajectory

# Creating a yupi trajectory representing terrain coordinates
points = [[-82.359415, 23.135012],[-82.382116, 23.136252]]
track_1 = Trajectory(points=points, traj_id="ter_track")

# Creating a 2D yupi trajectory
points = [[0, 0], [1.0, 0], [0.63, 0.98], [-0.37, 1.24], [-1.24, 0.69],
          [-1.5, -0.3], [-1.08, -1.23], [-0.19, -1.72], [0.82, -1.63],
          [1.63, -1.01], [1.99, -0.06], [1.85, 0.94]]
track_2 = Trajectory(points=points, traj_id="2d_track")

# Creating a 3D yupi trajectory
points = [[0,0,0], [1,1,3], [3,2,5]]
track_3 = Trajectory(points=points, traj_id="3d_track")

We can convert these tracks to tracktable trajectories simply by:

tracktable_track_1 = yupi2tracktable(track_1, is_terrestrial=True)
tracktable_track_2 = yupi2tracktable(track_2)
tracktable_track_3 = yupi2tracktable(track_3)

⚠️ If a 3D yupi trajectory is converted to a tracktable trajectory with is_terrestrial=True then the z axis values are stored as a property called 'altitude' for each point.

⚠️ Only yupi.Trajectory objects with two or three dimensions can be converted to tracktable trajectories due to tracktable limitations.

Converting a tracktable trajectory into a yupi.Trajectory

If you have a tracktable trajectory you can always convert it to a yupi.Trajectory by using:

# Converting the trajectory from tracktable to yupi
yupi_track_1 = tracktable2yupi(tracktable_track_1)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

yupiwrap-0.1.2.tar.gz (16.8 kB view details)

Uploaded Source

Built Distribution

yupiwrap-0.1.2-py3-none-any.whl (17.5 kB view details)

Uploaded Python 3

File details

Details for the file yupiwrap-0.1.2.tar.gz.

File metadata

  • Download URL: yupiwrap-0.1.2.tar.gz
  • Upload date:
  • Size: 16.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.11 CPython/3.9.7 Linux/5.8.0-1042-azure

File hashes

Hashes for yupiwrap-0.1.2.tar.gz
Algorithm Hash digest
SHA256 9925952d60957c5c69dd5c22c06ca31cf47ec4b1125efdf73d3f874d71e9fcfd
MD5 a04957be218a1ed52b346edcd871a790
BLAKE2b-256 8aac34524f906960b49ced6951accdae894082e10a80bfbba158ec6131b7e033

See more details on using hashes here.

File details

Details for the file yupiwrap-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: yupiwrap-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 17.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.11 CPython/3.9.7 Linux/5.8.0-1042-azure

File hashes

Hashes for yupiwrap-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 08cec6f79e75911c07dd7e099dcf6586a893b88211575e15fb856755bacbd999
MD5 b9324a70754f289b5541f2548860d579
BLAKE2b-256 195473f674bc2465d5d830fc876ac0d531b66b25721e6caaedae71fa395dfb50

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page