utafitilabs/postgis-bundle
Utafitilabs PostGIS Bundle adds PostGIS spatial support to PHP/Laravel applications, helping you define geometry and geography columns, run spatial migrations, and build location-aware queries for mapping and proximity features with less boilerplate.
Architecture fit
UtafitiLabs\PostGISBundle, a DI config key (utafiti_labs_post_gis), Doctrine DQL functions, a Doctrine schema listener, and a repository base class. Every one of these primitives is Symfony/Doctrine-ORM, not Laravel/Eloquent.Illuminate\Database custom type registration, no query-builder macros, no migration column helpers, no service provider. A Laravel application cannot consume this package as-is.Integration feasibility
doctrine:schema:* diffing, (4) an abstract spatial repository. All are standard Doctrine extension points, so wiring is low-effort.Technical risk
ALTER/DROP statements. Any use of doctrine:schema:update or migration-diff generation against a database containing spatial columns needs to be validated in a disposable environment first.ST_Intersects, ST_DWithin, bbox &&) degrade to sequential scans on large tables — a silent performance cliff rather than an error.geometry vs geography type choice, are correctness issues that surface as wrong results, not exceptions.Key questions
Stack fit
Migration path
Compatibility
doctrine:schema:validate and in test environments where PostGIS may not be installed.Sequencing
Maintenance
composer.json and treat upgrades as scheduled work with a test pass.Support
Scaling
EXPLAIN / pg_stat_statements. Add an explicit check to the performance review for spatial queries.geography types trade some index behavior and precision characteristics for meters-based distance semantics; the choice should be deliberate per column, not a default.Failure modes
Ramp-up
EXPLAIN on spatial predicates). This is usually the real ramp-up cost and is independent of the package.How can I help you explore Laravel packages today?