PHPackages                             smindel/silverstripe-gis - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. smindel/silverstripe-gis

ActiveSilverstripe-vendormodule[Utility &amp; Helpers](/categories/utility)

smindel/silverstripe-gis
========================

Geographic types for SilverStripe

1.5.2(4y ago)97326[2 issues](https://github.com/smindel/silverstripe-gis/issues)[2 PRs](https://github.com/smindel/silverstripe-gis/pulls)MITPHPCI failing

Since Feb 19Pushed 2y ago2 watchersCompare

[ Source](https://github.com/smindel/silverstripe-gis)[ Packagist](https://packagist.org/packages/smindel/silverstripe-gis)[ RSS](/packages/smindel-silverstripe-gis/feed)WikiDiscussions master Synced today

READMEChangelog (4)Dependencies (4)Versions (27)Used By (0)

SilverStripe GIS Module
=======================

[](#silverstripe-gis-module)

[![Build Status](https://camo.githubusercontent.com/d97f4a651865b637667981ffd0dd8dfbef86e1a7f7a3c36180a249737e321b7e/68747470733a2f2f7472617669732d63692e6f72672f736d696e64656c2f73696c7665727374726970652d6769732e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/smindel/silverstripe-gis)[![Build Status](https://camo.githubusercontent.com/a8947396d6d6ca2aa7273f91955ee96b81e7ea2a4f749bc112adc98ad8a9a247/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f736d696e64656c2f73696c7665727374726970652d6769732f6261646765732f6275696c642e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/smindel/silverstripe-gis/build-status/master)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/aecb276bd7261f7bf0be55b0f58b7755bd00a236265ce6078f99c1cdda5dd438/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f736d696e64656c2f73696c7665727374726970652d6769732f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/smindel/silverstripe-gis/?branch=master)[![Code Intelligence Status](https://camo.githubusercontent.com/96864cb7ebcd1fa326bef9f7ba5fa623121ae87b1e950b427b848c99e3fb51d0/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f736d696e64656c2f73696c7665727374726970652d6769732f6261646765732f636f64652d696e74656c6c6967656e63652e7376673f623d6d6173746572)](https://scrutinizer-ci.com/code-intelligence)[![Code Coverage](https://camo.githubusercontent.com/df786070cf2d74e65ab60640d7174eb93ee88fa277b13c14bcbf709a3735546a/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f736d696e64656c2f73696c7665727374726970652d6769732f6261646765732f636f7665726167652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/smindel/silverstripe-gis/?branch=master)[![Version](https://camo.githubusercontent.com/4673c3e9deae057697b7b90727f195e17e0891801fbbf9e704405a309f08b3ff/687474703a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f736d696e64656c2f73696c7665727374726970652d6769732e7376673f7374796c653d666c6174)](https://packagist.org/packages/smindel/silverstripe-gis)[![Total Downloads](https://camo.githubusercontent.com/3d84c73760e16378f0c2825bc5cb83e9dbd232d156de4cfdd2731e94aaffa5c7/68747470733a2f2f706f7365722e707567782e6f72672f736d696e64656c2f73696c7665727374726970652d6769732f646f776e6c6f6164732e737667)](https://packagist.org/packages/smindel/silverstripe-gis)[![License](https://camo.githubusercontent.com/8703cab22fcd80f716e2198ae26c7ada0db37385d6b5d4a1ab643ca659008f89/687474703a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f736d696e64656c2f73696c7665727374726970652d6769732e7376673f7374796c653d666c6174)](LICENSE.md)

GIS developer toolkit for SilverStripe, turns SilverStripe into a [GeoCMS](https://en.wikipedia.org/wiki/Geospatial_content_management_system) and map service.

[![feature name](docs/images/MapField.png)](docs/images/MapField.png)

Features
--------

[](#features)

- **New field types:** geo field types Geometry and Geography (Postgres only) for DataObjects
- **New form fields:** edit the new geo types using the MapField or add maps to GridFields in ModelAdmin
- **Configurable projections:** support for multiple projections through proj4
- **Primitive and multipart geometries:** Point, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon
- **Developer tools:** heaps of useful helpers, e.g. for re-projecting, distance measuring, [EWKT](https://postgis.net/docs/manual-2.1/using_postgis_dbmanagement.html#EWKB_EWKT)
- **MySQL, Postgres and Sqlite3:** supports Postgres with PostGIS, MySQL 5.7+, partial support for MariaDB and Sqlite3 with SpatiaLite
- **ORM integration:** DataList filters, e.g. to find intersecting DataObjects or within distance
- **GeoJSON imorter:** import a GeoJSON source as DataObjects
- **GeoJSON web service:** GeoJSON API for DataObjects
- **WFS:** WFS for DataObjects (experimental)
- **WMTS:** render DataObjects to ZXY tiles e.g. for a leaflet frontend
- **Rasters:** (Postgres only) import GeoTIFFs, access values, generate stats and render map tiles

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

[](#requirements)

- MySQL 5.7+ or Postgres with PostGIS extension or Sqlite3 with SpatiaLite
- SilverStripe framework 4
- GDAL for raster support

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

[](#installation)

It's recommended to use composer to install the module

```
$ composer require smindel/silverstripe-gis
$ vendor/bin/sake dev/build flush=all

```

**MySQL** natively supports geometries since version 5.7.6 but not geographies or raster data.

When using **Postgres** you have to install PostGIS and `composer require silverstripe/postgresql`. On Ubuntu and Debian run the following commands:

```
$ sudo apt-get install postgis
$ sudo apt-get install postgresql-9.5-postgis-scripts
$ sudo apt-get install postgresql-9.5-postgis-2.2
$ sudo -u postgres psql SS_gis -c "create extension postgis;"

```

(replace 'SS\_gis' with your db name)

Steps two and three may not be necessary, so you might want to try one and four first and if four fails, do two, three and four.

In order to install **Sqlite3** you have to install SpatiaLite and `composer require silverstripe/sqlite3`. On Ubuntu and Debian run the following commands:

```
$ sudo apt install sqlite3 php-sqlite3 libsqlite3-mod-spatialite
$ sudo updatedb & locate mod_spatialite.so
> /usr/lib/x86_64-linux-gnu/mod_spatialite.so
update php.ini, set:
sqlite3.extension_dir = /usr/lib/x86_64-linux-gnu

```

Configuration
-------------

[](#configuration)

silverstripe-gis, like any other SilverStripe module, can be [configured](https://docs.silverstripe.org/en/4/developer_guides/configuration/configuration/) using YAML files, the Config class or private static properties of Configurables. Check out the following sections to see what can be configured.

Examples and how tos:
---------------------

[](#examples-and-how-tos)

- [Why would you bother?](docs/en/Why-bother.md) - And if you should, what should you bother about?
- [DataObject Example](docs/en/DataObject-Example.md) - How to set up your own DataObjects
- [GridFieldMap](docs/en/GridFieldMap.md#example) - How create a spatially aware admin interface
- [MapField](docs/en/MapField.md#examples) - How to edit geo types
- [ORM Filters](docs/en/ORM-Filters.md) - How to retrieve DataObjects from the db using spatial filters

API:
----

[](#api)

- [GIS](docs/en/GIS.md) - Spatial utility class with all sorts of useful helpers
- [GeoJSONImporter](docs/en/GeoJSONImporter.md) - Import GeoJSON files into the db
- [GridFieldMap](docs/en/GridFieldMap.md) - GridField component to browse DataObjects by map
- [MapField](docs/en/MapField.md) - Form field to edit geo types
- [GeoJsonService](docs/en/GeoJsonService.md) - Expose your DataObjects dynamically in GeoJSON format though an API
- [WebMapTileService](docs/en/WebMapTileService.md) - Generate map tiles for Leaflet or Openlayers from your DataObjects
- [WebFeatureService](docs/en/WebFeatureService.md) - Generate WFS for Leaflet or Openlayers from your DataObjects (experimental)
- [Rasters](docs/en/Raster.md) - Import raster files, access values and stats, render WMTS tiles

Note
----

[](#note)

The module is incompatible with the framework versions 4.3.1 and 4.3.2, which disallowed parameterised field assignments. The issue [has been fixed](https://github.com/silverstripe/silverstripe-framework/pull/8815), so that all versions of the framework before 4.3.1 and after 4.3.2 are working.

###  Health Score

35

—

LowBetter than 79% of packages

Maintenance16

Infrequent updates — may be unmaintained

Popularity22

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity73

Established project with proven stability

 Bus Factor1

Top contributor holds 61.5% 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 ~70 days

Recently: every ~241 days

Total

20

Last Release

1664d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/b3af0d4229ff65ac8966233498950c36ab641258a22af299112926b4625c3163?d=identicon)[smindel](/maintainers/smindel)

---

Top Contributors

[![smindel](https://avatars.githubusercontent.com/u/238436?v=4)](https://github.com/smindel "smindel (56 commits)")[![andreaspiening](https://avatars.githubusercontent.com/u/24401847?v=4)](https://github.com/andreaspiening "andreaspiening (31 commits)")[![gordonbanderson](https://avatars.githubusercontent.com/u/7060?v=4)](https://github.com/gordonbanderson "gordonbanderson (4 commits)")

---

Tags

silverstripemapsgeometrygisgeospatialgeojsonwmts

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/smindel-silverstripe-gis/health.svg)

```
[![Health](https://phpackages.com/badges/smindel-silverstripe-gis/health.svg)](https://phpackages.com/packages/smindel-silverstripe-gis)
```

###  Alternatives

[jmikola/geojson

GeoJSON implementation for PHP

3109.0M77](/packages/jmikola-geojson)[brick/geo

GIS geometry library

245862.1k15](/packages/brick-geo)[funiq/geophp

Open-source native PHP library for doing geometry operations. Can read and write a wide variety of formats: (E)WKT, (E)WKB, TWKB, GeoJSON, KML, GPX, GeoRSS. Works with all Simple-Feature geometries (Point, LineString, Polygon...) and can be used to get centroids, bounding-boxes, area, etc.

21114.4k1](/packages/funiq-geophp)[wedevelopnl/silverstripe-elemental-grid

Elemental grid module

1014.1k2](/packages/wedevelopnl-silverstripe-elemental-grid)

PHPackages © 2026

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