Skip to main content

Fast Geo Rust functions for Python

Project description

georgio

Fast geo Rust helper functions for Python.

Great Circle

To get the great circle distance between two points in meters, this function will use the IUGG mean Earth radius.

distance_in_meters = georgio.great_circle_distance(lon1, lat1, lon2, lat2)

If you want to provide your own radius in meters, you can use this function instead.

distance_in_meters = georgio.great_circle_distance_with_radius(lon1, lat1, lon2, lat2, radius_in_meters)

Line Of Bearing (LOB)

Returns the destination coordinates based on a starting position, bearing, and distance in meters. Bearing is in degrees, clockwise from north. It uses the IUGG mean Earth radius.

dest_lon, dest_lat = georgio.line_of_bearing(start_lon, start_lat, bearing_in_degrees, distance_in_meters)

If you want to provide your own radius in meters, you can use this function instead.

dest_lon, dest_lat = georgio.line_of_bearing_with_radius(start_lon, start_lat, bearing_in_degrees, distance_in_meters, radius_in_meters)

Bounding Box

This function will return a bounding box that encompasses the specified distance around a center point. Note that the bounding box will never extend across the antimeridian (longitude +/-180), below latitude -90, or above latitude 90.

west, south, east, north = georgio.bounding_box_for_point(lon, lat, distance_in_meters)

Web Mercator

To get the longitude/latitude bounds of a Web Mercator tile, use the following function, which will return the values in west, south, east, north order.

west, south, east, north = georgio.wm_bounds(x, y, z)

To get the upper left corner of a tile in longitude, latitude order, use the following function.

longitude, latitude = georgio.wm_upper_left(x, y, z)

To get a bounding box that surrounds a tile at a certain distance, use the following function. This can be useful when searching for centerpoints of objects that might be outside of the tile, where the object might extend into the tile. Note that the bounding box size is calculated in the WGS-84 projection based on the tile's longitude/latitude bounds, since Web Mercator is notoriously bad for calculating sizes/distances. Also note that the bounding box will never extend across the antimeridian (longitude +/-180), below latitude -90, or above latitude 90.

west, south, east, north = georgio.wm_tile_expanded_bbox(x, y, z, search_distance_in_meters)

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

georgio-2023.111.1087-cp310-none-win_amd64.whl (113.9 kB view details)

Uploaded CPython 3.10Windows x86-64

georgio-2023.111.1087-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

georgio-2023.111.1087-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (458.7 kB view details)

Uploaded CPython 3.10macOS 10.9+ universal2 (ARM64, x86-64)macOS 10.9+ x86-64macOS 11.0+ ARM64

georgio-2023.111.1087-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

File details

Details for the file georgio-2023.111.1087-cp310-none-win_amd64.whl.

File metadata

File hashes

Hashes for georgio-2023.111.1087-cp310-none-win_amd64.whl
Algorithm Hash digest
SHA256 e7478587f5a95756da3b00fedb7652362dede0c809795d77c0da3f1e3922dba4
MD5 860d39d687bbf31c6e8460a7fe23fa3a
BLAKE2b-256 eb8cd621cd5c1f19bb11a26d571808e470b347012f5fd4073163a858bbe77acc

See more details on using hashes here.

File details

Details for the file georgio-2023.111.1087-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for georgio-2023.111.1087-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3f2658fe0af189ed84e1e881911614c20e7b6da0f836ad2dce9ea37fceb9b479
MD5 dcc554bd3f7711e6c64dcec878fd6ce6
BLAKE2b-256 78980764cafcd4a6e87cc87ed9bfb9c0a40e66077ec0b54272bd55c98642fd9f

See more details on using hashes here.

File details

Details for the file georgio-2023.111.1087-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for georgio-2023.111.1087-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 54957521a8c3ef7c4df215353fa19140de006ed87e5ebaea57a4ec9349fdaf46
MD5 a5f3418d30df4ad3e182140319d8f670
BLAKE2b-256 fcb20ba081c669888ffb79f0ed7c43a920bc0728c3039ee23771223f4cd719fb

See more details on using hashes here.

File details

Details for the file georgio-2023.111.1087-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for georgio-2023.111.1087-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1513fca2890055453e2a06ca6341b9ac591363f0b27289cc61f2da97139685b2
MD5 dcbfca8889d1fb52dc62c4f8ab67455e
BLAKE2b-256 50941f29777b36e0dde706633e34b9cfa33d05f15a223e29d0c53be342350451

See more details on using hashes here.

Supported by

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