A zero-dependency JavaScript library for basic geospatial operations like distance calculation and coordinate conversion.
Geolib is a lightweight, 2D geospatial utility library that provides essential functions for working with geographic coordinates. It enables developers to perform common calculations like distances, bearings, and area computations without external dependencies, making it ideal for mapping, location-based services, and spatial analysis.
Developers building mapping applications, location-based services, or spatial analysis tools who need a simple, dependency-free library for basic geospatial operations. It's also suitable for projects requiring coordinate format conversions or proximity calculations.
Developers choose Geolib for its simplicity, performance, and reliability, offering pure, side-effect-free functions with consistent APIs while maintaining a minimal footprint. It provides essential geospatial utilities without external dependencies, making it easy to integrate and use in various environments.
Zero dependency library to provide some basic geo functions
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
With a minimal bundle size and no external dependencies, it's easy to integrate into any project, as highlighted by the bundlephobia badge showing a small footprint.
All functions are side-effect-free and accept consistent input formats, ensuring predictable outputs and easier testing, emphasized in the README's philosophy.
Handles multiple coordinate formats including objects with lat/lon properties and GeoJSON arrays, and seamlessly converts between decimal and sexagesimal formats.
Provides essential functions for distance calculation, point-in-polygon checks, unit conversions, and more, covering common geospatial needs without bloat.
The library is explicitly 2D-only, lacking any functions for altitude or elevation data, which limits its use in terrain or aviation applications.
Version 3.0.0 introduced significant API changes and removed several functions, requiring migration effort and potentially breaking existing codebases.
Functions like getDistance (Haversine) are faster but less accurate than getPreciseDistance (Vincenty), forcing developers to choose between speed and precision.