PHPackages                             brick/geo-doctrine - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Database &amp; ORM](/categories/database)
4. /
5. brick/geo-doctrine

ActiveLibrary[Database &amp; ORM](/categories/database)

brick/geo-doctrine
==================

Doctrine types &amp; functions for brick/geo

0.6.0(4mo ago)751.8k↓15.7%4[2 issues](https://github.com/brick/geo-doctrine/issues)1MITPHPPHP ^8.2CI passing

Since Oct 10Pushed 3mo ago1 watchersCompare

[ Source](https://github.com/brick/geo-doctrine)[ Packagist](https://packagist.org/packages/brick/geo-doctrine)[ GitHub Sponsors](https://github.com/BenMorel)[ RSS](/packages/brick-geo-doctrine/feed)WikiDiscussions main Synced 2d ago

READMEChangelog (10)Dependencies (19)Versions (16)Used By (1)

brick/geo-doctrine
==================

[](#brickgeo-doctrine)

[![](https://raw.githubusercontent.com/brick/brick/master/logo.png)](https://raw.githubusercontent.com/brick/brick/master/logo.png)

Doctrine types &amp; functions for [brick/geo](https://github.com/brick/geo)

[![Build Status](https://github.com/brick/geo-doctrine/workflows/CI/badge.svg)](https://github.com/brick/geo-doctrine/actions)[![Coverage](https://camo.githubusercontent.com/38266f18fb0f3c7b0136d9a595410f66a63f5e2913ef353efc5fa86dbf173c73/68747470733a2f2f636f6465636f762e696f2f6769746875622f627269636b2f67656f2d646f637472696e652f67726170682f62616467652e737667)](https://codecov.io/github/brick/geo-doctrine)[![Latest Stable Version](https://camo.githubusercontent.com/8a8183aeb462aed09eefd7229c8c5efc24134b16599587a52b7d8dd5832c440c/68747470733a2f2f706f7365722e707567782e6f72672f627269636b2f67656f2d646f637472696e652f762f737461626c65)](https://packagist.org/packages/brick/geo-doctrine)[![Total Downloads](https://camo.githubusercontent.com/1470dbfc4ed6774c9b3f1c7282e73316fadbeec164e6dc432e7c83671bc26246/68747470733a2f2f706f7365722e707567782e6f72672f627269636b2f67656f2d646f637472696e652f646f776e6c6f616473)](https://packagist.org/packages/brick/geo-doctrine)[![License](https://camo.githubusercontent.com/7013272bd27ece47364536a221edb554cd69683b68a46fc0ee96881174c4214c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d626c75652e737667)](http://opensource.org/licenses/MIT)

Introduction
------------

[](#introduction)

This library provides:

- type mappings to use `brick/geo` objects such as `Polygon` as Doctrine entity properties
- functions to use in DQL queries, such as `Distance()` or `Contains()`.

Installation
------------

[](#installation)

This library is installable via [Composer](https://getcomposer.org/):

```
composer require brick/geo-doctrine
```

Requirements
------------

[](#requirements)

This library requires PHP 8.2.

Project status &amp; release process
------------------------------------

[](#project-status--release-process)

The current releases are numbered `0.x.y`. When a non-breaking change is introduced (adding new methods, optimizing existing code, etc.), `y` is incremented.

**When a breaking change is introduced, a new `0.x` version cycle is always started.**

It is therefore safe to lock your project to a given release cycle, such as `0.6.*`.

If you need to upgrade to a newer release cycle, check the [release history](https://github.com/brick/geo-doctrine/releases) for a list of changes introduced by each further `0.x.0` version.

Package contents
----------------

[](#package-contents)

### Types

[](#types)

- [GeometryCollectionType](https://github.com/brick/geo-doctrine/blob/master/src/Types/GeometryCollectionType.php)
- [GeometryType](https://github.com/brick/geo-doctrine/blob/master/src/Types/GeometryType.php)
- [LineStringType](https://github.com/brick/geo-doctrine/blob/master/src/Types/LineStringType.php)
- [MultiLineStringType](https://github.com/brick/geo-doctrine/blob/master/src/Types/MultiLineStringType.php)
- [MultiPointType](https://github.com/brick/geo-doctrine/blob/master/src/Types/MultiPointType.php)
- [MultiPolygonType](https://github.com/brick/geo-doctrine/blob/master/src/Types/MultiPolygonType.php)
- [PointType](https://github.com/brick/geo-doctrine/blob/master/src/Types/PointType.php)
- [PolygonType](https://github.com/brick/geo-doctrine/blob/master/src/Types/PolygonType.php)

### DQL Functions

[](#dql-functions)

- [Area](https://github.com/brick/geo-doctrine/blob/master/src/Functions/AreaFunction.php)
- [Azimuth](https://github.com/brick/geo-doctrine/blob/master/src/Functions/AzimuthFunction.php)
- [Boundary](https://github.com/brick/geo-doctrine/blob/master/src/Functions/BoundaryFunction.php)
- [Buffer](https://github.com/brick/geo-doctrine/blob/master/src/Functions/BufferFunction.php)
- [Centroid](https://github.com/brick/geo-doctrine/blob/master/src/Functions/CentroidFunction.php)
- [Contains](https://github.com/brick/geo-doctrine/blob/master/src/Functions/ContainsFunction.php)
- [ConvexHull](https://github.com/brick/geo-doctrine/blob/master/src/Functions/ConvexHullFunction.php)
- [Crosses](https://github.com/brick/geo-doctrine/blob/master/src/Functions/CrossesFunction.php)
- [Difference](https://github.com/brick/geo-doctrine/blob/master/src/Functions/DifferenceFunction.php)
- [Disjoint](https://github.com/brick/geo-doctrine/blob/master/src/Functions/DisjointFunction.php)
- [Distance](https://github.com/brick/geo-doctrine/blob/master/src/Functions/DistanceFunction.php)
- [Envelope](https://github.com/brick/geo-doctrine/blob/master/src/Functions/EnvelopeFunction.php)
- [Equals](https://github.com/brick/geo-doctrine/blob/master/src/Functions/EqualsFunction.php)
- [Intersects](https://github.com/brick/geo-doctrine/blob/master/src/Functions/IntersectsFunction.php)
- [IsClosed](https://github.com/brick/geo-doctrine/blob/master/src/Functions/IsClosedFunction.php)
- [IsSimple](https://github.com/brick/geo-doctrine/blob/master/src/Functions/IsSimpleFunction.php)
- [IsValid](https://github.com/brick/geo-doctrine/blob/master/src/Functions/IsValidFunction.php)
- [Length](https://github.com/brick/geo-doctrine/blob/master/src/Functions/LengthFunction.php)
- [LocateAlong](https://github.com/brick/geo-doctrine/blob/master/src/Functions/LocateAlongFunction.php)
- [LocateBetween](https://github.com/brick/geo-doctrine/blob/master/src/Functions/LocateBetweenFunction.php)
- [MaxDistance](https://github.com/brick/geo-doctrine/blob/master/src/Functions/MaxDistanceFunction.php)
- [Overlaps](https://github.com/brick/geo-doctrine/blob/master/src/Functions/OverlapsFunction.php)
- [PointOnSurface](https://github.com/brick/geo-doctrine/blob/master/src/Functions/PointOnSurfaceFunction.php)
- [Relate](https://github.com/brick/geo-doctrine/blob/master/src/Functions/RelateFunction.php)
- [Simplify](https://github.com/brick/geo-doctrine/blob/master/src/Functions/SimplifyFunction.php)
- [SnapToGrid](https://github.com/brick/geo-doctrine/blob/master/src/Functions/SnapToGridFunction.php)
- [SymDifference](https://github.com/brick/geo-doctrine/blob/master/src/Functions/SymDifferenceFunction.php)
- [Touches](https://github.com/brick/geo-doctrine/blob/master/src/Functions/TouchesFunction.php)
- [Union](https://github.com/brick/geo-doctrine/blob/master/src/Functions/UnionFunction.php)
- [Within](https://github.com/brick/geo-doctrine/blob/master/src/Functions/WithinFunction.php)

###  Health Score

51

—

FairBetter than 95% of packages

Maintenance73

Regular maintenance activity

Popularity37

Limited adoption so far

Community19

Small or concentrated contributor base

Maturity61

Established project with proven stability

 Bus Factor1

Top contributor holds 98.4% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~160 days

Recently: every ~109 days

Total

11

Last Release

124d ago

PHP version history (4 changes)0.1.1PHP ^7.4 || ^8.0

0.2.0PHP ^8.0

0.3.0PHP ^8.1

0.6.0PHP ^8.2

### Community

Maintainers

![](https://www.gravatar.com/avatar/57189121968030f0770811b461cc92f9c19c08f5c4767292f2ede48b7277cfad?d=identicon)[BenMorel](/maintainers/BenMorel)

---

Top Contributors

[![BenMorel](https://avatars.githubusercontent.com/u/1952838?v=4)](https://github.com/BenMorel "BenMorel (62 commits)")[![Copilot](https://avatars.githubusercontent.com/in/1143301?v=4)](https://github.com/Copilot "Copilot (1 commits)")

---

Tags

brickdoctrinegeo

###  Code Quality

TestsPHPUnit

Static AnalysisPsalm

Type Coverage Yes

### Embed Badge

![Health badge](/badges/brick-geo-doctrine/health.svg)

```
[![Health](https://phpackages.com/badges/brick-geo-doctrine/health.svg)](https://phpackages.com/packages/brick-geo-doctrine)
```

###  Alternatives

[easycorp/easyadmin-bundle

Admin generator for Symfony applications

4.3k17.9M388](/packages/easycorp-easyadmin-bundle)[laravel-doctrine/orm

An integration library for Laravel and Doctrine ORM

8465.5M96](/packages/laravel-doctrine-orm)[martin-georgiev/postgresql-for-doctrine

Extends Doctrine with native PostgreSQL support for arrays, JSONB, ranges, PostGIS geometries, text search, ltree, uuid, and 100+ PostgreSQL-specific functions.

4585.8M4](/packages/martin-georgiev-postgresql-for-doctrine)[rcsofttech/audit-trail-bundle

Enterprise-grade, high-performance Symfony audit trail bundle. Automatically track Doctrine entity changes with split-phase architecture, multiple transports (HTTP, Queue, Doctrine), and sensitive data masking.

1189.8k](/packages/rcsofttech-audit-trail-bundle)[2lenet/crudit-bundle

The easy like Crud'it Bundle.

1616.4k14](/packages/2lenet-crudit-bundle)[flow-php/doctrine-dbal-bulk

Bulk inserts and updates for Doctrine DBAL

14385.8k4](/packages/flow-php-doctrine-dbal-bulk)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
