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.251.1031-cp311-none-win_amd64.whl (115.9 kB view details)

Uploaded CPython 3.11Windows x86-64

georgio-2023.251.1031-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

georgio-2023.251.1031-cp311-cp311-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (490.0 kB view details)

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

georgio-2023.251.1031-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

File details

Details for the file georgio-2023.251.1031-cp311-none-win_amd64.whl.

File metadata

File hashes

Hashes for georgio-2023.251.1031-cp311-none-win_amd64.whl
Algorithm Hash digest
SHA256 1756e44fb4d466c96ff9a1e933fca8086fe21f1adb249a4ba8b637f7dbe0a43c
MD5 0851b911ae2973f15f8266171536c04a
BLAKE2b-256 f2a195fc03f49f0a60e3b7b08588f750a4f1e91ca35411813bd27cb306dfa8c4

See more details on using hashes here.

File details

Details for the file georgio-2023.251.1031-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for georgio-2023.251.1031-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1d6de9aace2d52f3a5eaaeae8f4ab1be5c5721d6efe3ad462dea138f65c3986f
MD5 72e78db981bb1b3179b3a2dc02f306f2
BLAKE2b-256 4040566c941723b68cdaa5d08a8946265bab5bdacc53fdeafd3f89ce213ff212

See more details on using hashes here.

File details

Details for the file georgio-2023.251.1031-cp311-cp311-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for georgio-2023.251.1031-cp311-cp311-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 f6555fc2587116d4f680f0732cb0d4bb61b8c8d97a060fd521ed9e1f2a21b956
MD5 1c92609ca5a3944e07d6c5433a79f2a3
BLAKE2b-256 fcb5663b9f5ee5c46a426c05478fcf7fc3fe7dded533dd44cb31dd1c1d3e480e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for georgio-2023.251.1031-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bed131ba0a616dffac57cb73f10ba3348a78932a16d76c70de51bd43377834ae
MD5 bce92e120e607cd4790a2ab3a41f2745
BLAKE2b-256 410ae4ba30ea709ca534b2e9aca465eff9032f46d6a0a30584ded233725d3ba4

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