Skip to main content

tupu - Fast geodesic distances in Python

This is a personal project centered around geodesic distances. Its goal is to be able to quickly compute, for every coordinate in a list:

  • Distances to a given point (e.g. distances from each point to NYC)
  • Nearest neighbors: distances to the closest point in another list (e.g. distances from each point to a city), and the identity of such point
  • Number of neighbors: number of points of another list within a certain distance or buffer.

Dev Install

After cloning the repo and opening the panflute folder:

python setup.py install : installs the package locally

python setup.py develop : installs locally with a symlink so changes are automatically updated

Usage

From Python:

import tupu
# TODO...

From the command line:

tupu some_cities.csv?id=uid --output=augmented.tsv --distance=dist_ny,40.7143,-74.0060

(See also [examples/README.md])

Dependencies:

Why "tupu"?

Tupu was one of the Inca measures of distance, equivalent to about 130 cm. I would have preferred to use "topo", but it's already a quite popular name on Github, and has other meanings.

Gordon McEwan, "The Incas: New Perspectives", p.179 Gordon McEwan, "The Incas: New Perspectives", p.179

Text

Jerry D. Moore, "Incidence of Travel: Recent Journeys in Ancient South America", p.208

Why not geopandas, etc.?

Earlier tests deemed them too slow/complicated, but there might be workarounds. EG:

https://stackoverflow.com/questions/54804073/how-can-i-accelerate-a-geopandas-spatial-join/54804074#54804074

Limitations

  • Not parallelized, although that should be trivial
  • Not Cython, although most of the heavy load is already in C.
  • Only deals with points, not with lines/polygons
  • Currently only stores distance to closest city (although allowing more is trivial)
  • Currently does not compute number of points within a given distance (although allowing more is trivial)

Release files for tupu 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tupu 0.1.0
File Size Uploaded
tupu-0.1.0.tar.gz 8.4 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for tupu 0.1.0
File Interpreter ABI Platform
tupu-0.1.0-py3-none-any.whl Python 3 none any Details
tupu-0.1.0-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size:27.4 kB

Release files / tupu-0.1.0.tar.gz

Download URL tupu-0.1.0.tar.gz
Size 8.4 kB
Tags Source
SHA-256 checksum
How to use checksums
eaf634cd3697e2b053311b522589fa1982b4795f7e7570c0c2d3834732308134
BLAKE2b-256 checksum
How to use checksums
76f836c0cc7994f93a75c53ada950176b69563049eb46225db88cc5a0552048f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.20.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.0

Release files / tupu-0.1.0-py3-none-any.whl

Download URL tupu-0.1.0-py3-none-any.whl
Size 9.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
074e469604d7ce4684493c5557a87d52d69b881420a52c11ceb57b96f1d12cca
BLAKE2b-256 checksum
How to use checksums
0dff5025601c8ea0301d43c0347417c9863a23446381840c59f561f216e8aa8a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.20.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.0

Release files / tupu-0.1.0-py2.py3-none-any.whl

Download URL tupu-0.1.0-py2.py3-none-any.whl
Size 9.5 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
54334e46fd57b791c1ced6d19d705c3e9b4e1295afbc48dd2de23a1550939bed
BLAKE2b-256 checksum
How to use checksums
915494632329ae6bb3f064cf43aacea0a372f17be256f61a7bab883529821691
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.20.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.0

Release history Release notifications | RSS feed

This release

0.1.0 This release

3 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page