Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Geotools Laravel Package

micro-module/geotools

Geotools is a Laravel package for geographic data and geospatial helpers. Work with coordinates, distances, proximity calculations, and location formatting through convenient PHP APIs that make adding map-aware features to your application simple.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Location feature MVPs: store locator, delivery/service-radius checks, distance sorting, territory assignment, geofenced eligibility, coordinate validation, and geohash-based grouping.
  • Build vs. buy: adopt a maintained MIT utility for geodesic distance, bounding boxes, geohash, and point-in-polygon math instead of custom geo formulas; reserve larger spend for geocoding, maps, routing, or spatial databases.
  • Architecture choices: decide whether geo calculations run in PHP or the database. A practical pattern is bounding-box prefilter in the database plus exact distance/polygon checks in PHP; migrate query-heavy paths to PostGIS/MySQL spatial when scale demands it.
  • Roadmap sequencing: start with read-only calculations, then add batch enrichment/geocoding only after accepting provider cost/rate limits, then expand into geofencing and territory logic.
  • Risk and compliance decisions: define coordinate precision, units, dateline/pole handling, location-data retention, and provider terms before exposing geo features.

When to Consider This Package

Consider it when:

  • You have a Laravel/PHP 7.3+ backend and need a small, in-process geo utility rather than a hosted geo platform.
  • You need coordinate handling, multiple distance algorithms, bounding boxes, geohashes, or polygon containment without building and validating the math yourself.
  • You can wrap it behind an application service and add tests for your specific precision, units, and edge cases.
  • MIT licensing is acceptable and the team can own integration; the library does not provide a native Laravel facade or hosted SLA.
  • Signals are reasonable—about 1.4k stars, MIT license, and a recent 2026 release—but the zero-dependents signal means you should validate package identity and adoption rather than treat it as an ecosystem default.

Look elsewhere when:

  • You need spatial indexing and high-volume queries: prefer PostGIS, MySQL spatial indexes, Elasticsearch geo, or Redis geo.
  • You need geocoding, address autocomplete, routing, isochrones, traffic, map tiles, or route optimization: use Google Maps, Mapbox, HERE, OpenRouteService, or similar.
  • You need a support contract, security SLA, or Laravel-native package with a facade/config out of the box.
  • You only need one simple Haversine calculation; a small internal helper may be lower-risk.
  • You need advanced GIS/coordinate-system transformations or datum shifts; this is not a full GIS stack.

How to Pitch It (Stakeholders)

For executives: Approve evaluation as a low-cost, MIT-licensed utility that accelerates location-aware features and reduces the risk of hand-rolled geo math. It is not a geo platform and will not replace maps, geocoding, routing, or a spatial database; it is a focused library for calculations. The commercial case is faster experimentation in store locator, delivery-radius, and territory features with minimal license cost.

For engineering: Integrate behind an internal GeoService boundary, pin the version, and test edge cases such as units, precision, dateline, and polygon boundaries. Use it for distance/bounding-box/geohash/polygon primitives, keep heavy spatial filtering in the database, and plan a migration path to PostGIS or MySQL spatial if volume grows. Confirm the Composer package identity—the repository is thephpleague/geotools, while the supplied package name differs—and monitor maintenance despite the recent release.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource