rapidgeo documentation
Geographic calculations for Python.
rapidgeo provides distance calculations, polyline encoding/decoding, simplification, and similarity measures for coordinate data. Built with Rust bindings for reliable performance.
Installation
pip install rapidgeo # Base package
pip install rapidgeo[numpy] # With NumPy support
Quick Start
from rapidgeo.distance import LngLat
from rapidgeo.distance.geo import haversine, vincenty_distance
# Create coordinates (longitude, latitude)
sf = LngLat.new_deg(-122.4194, 37.7749) # San Francisco
nyc = LngLat.new_deg(-74.0060, 40.7128) # New York City
# Calculate distance using Haversine formula
distance = haversine(sf, nyc)
print(f"Distance: {distance / 1000:.1f} km") # ~4,130 km
What it does
Distance calculations with multiple algorithms (Haversine, Vincenty, Euclidean)
Google Polyline encoding and decoding
Line simplification using Douglas-Peucker algorithm
Curve similarity measures (Fréchet and Hausdorff distances)
Batch operations for processing multiple datasets
Optional NumPy integration
Coordinate System
All coordinates in rapidgeo use longitude, latitude ordering (lng, lat):
# Correct
point = LngLat.new_deg(-122.4194, 37.7749) # lng first, lat second
# Common mistake
# point = LngLat.new_deg(37.7749, -122.4194) # lat, lng - WRONG
Contents
License
Licensed under either of Apache License, Version 2.0 or MIT License at your option.