Skip to main content

A set of tools for data extraction from the GDP database and estimating travel times

Project description

DriftMLP

This package contains tools for implementing the methodology associated with the paper Estimating the travel time and the most likely path from Lagrangian drifters Code to reproduce figures from paper, hence a sample use of this package can be found at Github link to paper figure reproduction code.

Documentation

The Documentation can be found @ https://driftmlp.readthedocs.io/

Interactive Web Application

Binder

Minimal Example

The below example produces an estimate of the pathway and travel time of going between from_loc and to_loc.

import driftmlp

T_mat = driftmlp.load_default_network()
from_loc = [-90.90, 23.88]
to_loc = [-9.88, 35.80] 
SP = driftmlp.shortest_path.SingleSP(T_mat, from_loc, to_loc)
display(SP)
SP.plot_folium()

General usage

The package has 2 main usage components

  • DriftMLP.driftfile_to_network will form the network from the hdf5 file above which is the most computationally intensive part
  • DriftMLP.shortest_path module contains functions which require a network to run.
    • SingleSP is sufficient for most usage. It will take the network and a pair of locations and results in a class containing both the path there and back. The travel time of this path may be accessed via the .sp.travel_time attribute. Has methods .plot_cartopy and .plot_folium for convince.
    • network_path is a more customizable class which can be used for manual adaptations. It takes in two h3 indices and stores the path going from the first to the second. Stores travel path in network indices (.nid), spatial discretization indices (.h3id) and travel time in days (.travel_time).
  • DriftMLP.rotations contains functionality to generate random rotations. See paper for further details. This has two options one method by ARVO and one by shoemake. The Shoemake quaternion approach is advised.
  • DriftMLP.plotting Various functions for h3 index sequence plotting. Two backends are there on using folium, one using cartopy. Folium is easier to view and scroll around with. Cartopy/Matplotlib are far more customizable and can produce publication ready graphics.

TODO

  • Publish to pip/ conda-forge.

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

driftmlp-1.2.linux-x86_64.tar.gz (10.8 MB view hashes)

Uploaded Source

Built Distribution

driftmlp-1.2-py3-none-any.whl (11.4 MB view hashes)

Uploaded Python 3

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