Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. PHP
  3. GeoTools

GeoTools

MITPHP1.3.1

A PHP library for geocoding, coordinate conversion, distance calculation, and other geographic operations.

GitHubGitHub
1.4k stars129 forks0 contributors

What is GeoTools?

Geotools is a PHP library for geographic computations, including geocoding, coordinate conversion, distance calculations, and geohash encoding. It solves the problem of handling complex location-based data in PHP applications by providing a unified interface built on reliable libraries like Geocoder and ReactPHP.

Target Audience

PHP developers building location-aware applications, such as mapping services, logistics platforms, or any system requiring geographic data processing.

Value Proposition

Developers choose Geotools for its extensive feature set, support for multiple algorithms and formats, and seamless integration with popular geocoding providers through the Geocoder library.

Overview

Geo-related tools PHP 7.3+ library built atop Geocoder and React libraries

Use Cases

Best For

  • Batch geocoding addresses against multiple providers in parallel
  • Converting geographic coordinates between different formats and projections
  • Calculating accurate distances between locations using various algorithms
  • Encoding and decoding coordinates to geohash for spatial indexing
  • Performing geometric operations like midpoint calculation and bearing determination
  • Integrating geographic functionality into PHP CLI tools or web applications

Not Ideal For

  • Projects requiring simple, one-off geocoding without batch processing or multiple providers
  • Teams using modern PHP frameworks like Laravel 8+ without official integration support
  • Applications with strict real-time latency requirements that cannot batch requests

Pros & Cons

Pros

Flexible Coordinate Support

Accepts almost all WGS84 coordinate formats and supports 23 ellipsoids, allowing versatile handling of global geographic data as shown in the Coordinate section.

Efficient Batch Geocoding

Enables parallel geocoding against multiple providers with PSR-6 caching, optimizing performance for large datasets, as demonstrated in the Batch examples.

Accurate Distance Calculations

Provides four algorithms (flat, great circle, haversine, vincenty) with multiple units, ensuring precision for different use cases, detailed in the Distance section.

Command-Line Tools

Includes CLI for distance, point, geohash, and convert operations, facilitating automation and scripting, with examples in the CLI section.

Integration with Geocoder

Built atop the Geocoder library, allowing seamless use of numerous geocoding providers and dumpers, enhancing extensibility.

Cons

Caching Compliance Complexity

Requires careful setup to avoid violating geocoding provider Terms of Service, adding legal and operational risks, as warned in the Batch section.

Dependency Heavy

Relies on Geocoder and ReactPHP, which can increase project bloat and introduce compatibility issues, especially with older PHP versions.

Steep Learning Curve

The API involves multiple classes and configurations, such as setting up providers and ellipsoids, which can be daunting for newcomers without extensive documentation.

Limited Modern Framework Support

Official integrations are only for older frameworks like Laravel 4 and Silex, lacking updates for current PHP ecosystems, as noted in the Integration section.

Frequently Asked Questions

Quick Stats

Stars1,408
Forks129
Contributors0
Open Issues22
Last commit6 months ago
CreatedSince 2013

Tags

#batch-processing#geocoding#geospatial#geolocation#geometry#coordinates#geotools#distance-calculation#php#geo#cli-tools#geohash

Built With

S
Symfony Console
P
PHP
R
ReactPHP

Included in

PHP32.5k
Auto-fetched 23 hours ago

Related Projects

Country ListCountry List

:globe_with_meridians: List of all countries with names and ISO 3166-1 codes in all languages and data formats.

Stars5,253
Forks1,518
Last commit5 months ago
PHPGeoPHPGeo

Simple Yet Powerful Geo Library for PHP

Stars1,614
Forks197
Last commit2 months ago
GeoJSONGeoJSON

GeoJSON implementation for PHP

Stars307
Forks46
Last commit2 years ago
GeoCoderGeoCoder

A geocoding library

Stars0
Forks0
Last commit
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub