Geofield PostGIS Provider

Categories

Component ID

2349067

Component name

Geofield PostGIS Provider

Component type

module

Maintenance status

Development status

Component security advisory coverage

not-covered

Component created

Component changed

Component body

Overview

PostGIS backend provider for Geofield.

Development Goals

Verify Requirements & Compatibility

The GeoField module recently moved from storing data as WKT and now stores data as WKB in spatially enabled backends. As a result GeoField module now provides WKB storage of geometry data in both MySQL and PostgreSQL backends since both databases provide native WKB geometry type storage. Previously this GeoField Postgis module provided backend instructions to facilitate this storage as WKB. It is unclear if this particular addition is still needed - part of the immediate development needs are to ascertain if this module functions properly and without un-needed code under newer versions of GeoField.

Provide Spatial Indices

What is clear is that GeoField does not provide access to spatial indices, spatial operators (overlaps, intersects, containments, etc.), or spatial analysis (geometry creation or alteration) functions. The Geofield_PostGIS module automatically creates a spatial index on the geometry column upon field creation. While this index is not used by the GeoField implementation because of the lack of spatial operators, it does allow programmatically defined queries to take advantage of these operators, providing a boost in query performance.

Future Development

Spatial Operators & Analysis

GeoField does not currently provide access to any spatial analysis/operators but could do so in the future if database plugins such as this one can tell it what operators are available (the GeoJoin sandbox project provides View Relationship plugins to allow geospatial joins in Views). Geofield could mediate the use of operators and functions by having a list of OGC or other compliant operators in GeoField and have the backend-specific plugin declare which operators it supports. Query handlers could then verify function availability before making themselves active in either Relationships or Filters. Or, more simply this module could provide those operators and functions to Drupal without requiring knowledge or infrastructure in GeoField.

Raster Data Type

Raster data type support can be enabled via PostGIS. This function needs to be explored for GeoField PostGIS support.