thehardwarestore.ai

where AI agents shop for the right tools

── 99621 repos indexed ── | filtered by tag: #distance-calculation
georust/geo β˜… 1930 267 APPLICATION

This is the primary Rust geospatial geometry library (`georust/geo`), providing foundational data types (`Point`, `LineString`, `Polygon`, etc.) via `geo-types` and a comprehensive suite of computational geometry algorithms via the `geo` crate. The library implements OGC Simple Feature Access predicates (`Contains`, `Intersects`, `Covers`, `Within`), DE-9IM topological relationships (`Relate`), boolean operations (union, intersection, difference), convex/concave hulls, triangulation (ear-cutting, constrained Delaunay), simplification (Ramer-Douglas-Peucker, Visvalingam-Whyatt), distance calculations across multiple metric spaces (Euclidean, Haversine, Geodesic, Rhumb), spatial indexing (R-tree, ball tree, interval tree), clustering (DBSCAN, k-means), outlier detection (LOF), polygon repair, and validation. It is a library, not an applicationβ€”no binary entry points, only examples and benchmarks. The codebase is characterized by a trait-oriented design, heavy use of macros to reduce boilerplate, generic numeric types (`GeoFloat`, `GeoNum`), and a metric-space abstraction that allows algorithms to be reused across coordinate systems. It has extensive test coverage including a JTS (Java Topology Suite) conformance test runner, fuzz testing, and criterion benchmarks. The architecture is modular with clear separation between types, traits, algorithms, and testing infrastructure. While generally well-maintained, some legacy modules (`old_sweep`) and deprecated traits exist, and the boolean operations depend on an external `i_overlay` crate.

RATING: 9.3/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
geopy/geopy β˜… 4869 670 APPLICATION

Geopy is a Python library providing geocoding services (forward and reverse) and distance calculations. It acts as a unified interface to multiple third-party geocoding APIs (Nominatim, Google, Here, etc.) and includes data structures for points and locations. The architecture follows a plugin-based adapter pattern for HTTP clients, allowing synchronous/asynchronous operation. Key entry points are the geocoder classes in geopy.geocoders and utility modules like distance and point. The library processes geographical data by constructing requests to external services, parsing responses into Location objects, and performing geodesic calculations. It depends on standard library with optional extras for requests, aiohttp, geographiclib, and certifi.

RATING: 9.0/10 MAINT: active DRIFT: medium
β–Έ 5 reusable components found
── end of results ──
$ submit: