diff options
| author | Sergey Fedoseev <fedoseev.sergey@gmail.com> | 2015-12-04 09:52:16 +0500 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2015-12-04 08:09:21 -0500 |
| commit | 25f5b5c19dc23c6c09877c9c652a934e9669573d (patch) | |
| tree | b2a3b429032ac56c54ba633a9632a7753f2bea78 /django | |
| parent | b61eab18f71f3afb36b3e8cb208a145046b3d8f6 (diff) | |
Fixed #25853 -- Added support for GeoHash function on SpatiaLite.
Diffstat (limited to 'django')
| -rw-r--r-- | django/contrib/gis/db/backends/spatialite/operations.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/django/contrib/gis/db/backends/spatialite/operations.py b/django/contrib/gis/db/backends/spatialite/operations.py index 485e7ed419..fcf44aa5c0 100644 --- a/django/contrib/gis/db/backends/spatialite/operations.py +++ b/django/contrib/gis/db/backends/spatialite/operations.py @@ -1,6 +1,7 @@ """ SQL functions reference lists: http://www.gaia-gis.it/spatialite-3.0.0-BETA/spatialite-sql-3.0.0.html +https://web.archive.org/web/20130407175746/http://www.gaia-gis.it/gaia-sins/spatialite-sql-4.0.0.html http://www.gaia-gis.it/gaia-sins/spatialite-sql-4.2.1.html """ import re @@ -95,11 +96,13 @@ class SpatiaLiteOperations(BaseSpatialOperations, DatabaseOperations): @cached_property def unsupported_functions(self): - unsupported = {'BoundingCircle', 'ForceRHR', 'GeoHash', 'MemSize'} + unsupported = {'BoundingCircle', 'ForceRHR', 'MemSize'} if self.spatial_version < (3, 1, 0): unsupported.add('SnapToGrid') if self.spatial_version < (4, 0, 0): unsupported.update({'Perimeter', 'Reverse'}) + elif not self.lwgeom_version(): + unsupported.add('GeoHash') return unsupported @cached_property @@ -212,6 +215,10 @@ class SpatiaLiteOperations(BaseSpatialOperations, DatabaseOperations): "Returns the version of the PROJ.4 library used by SpatiaLite." return self._get_spatialite_func('proj4_version()') + def lwgeom_version(self): + """Return the version of LWGEOM library used by SpatiaLite.""" + return self._get_spatialite_func('lwgeom_version()') + def spatialite_version(self): "Returns the SpatiaLite library version as a string." return self._get_spatialite_func('spatialite_version()') |
