summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Fedoseev <fedoseev.sergey@gmail.com>2017-03-17 05:29:31 +0500
committerTim Graham <timograham@gmail.com>2017-03-16 20:29:31 -0400
commit875aebdb2c7c26b29b52a2114b4e1a80f6809496 (patch)
tree7608a68bb3650f2236e18a8f395e41890df4571a
parent1c3ddc0d27f1fa2ad35168beba52fb19a569278c (diff)
Added SpatiaLite NumPoints support for non-LINESTRING geometries.
-rw-r--r--django/contrib/gis/db/backends/spatialite/features.py2
-rw-r--r--django/contrib/gis/db/backends/spatialite/operations.py1
-rw-r--r--docs/ref/contrib/gis/functions.txt8
3 files changed, 8 insertions, 3 deletions
diff --git a/django/contrib/gis/db/backends/spatialite/features.py b/django/contrib/gis/db/backends/spatialite/features.py
index 79517e8190..19235dea95 100644
--- a/django/contrib/gis/db/backends/spatialite/features.py
+++ b/django/contrib/gis/db/backends/spatialite/features.py
@@ -6,8 +6,6 @@ from django.utils.functional import cached_property
class DatabaseFeatures(BaseSpatialFeatures, SQLiteDatabaseFeatures):
supports_3d_storage = True
- # SpatiaLite can only count vertices in LineStrings
- supports_num_points_poly = False
@cached_property
def supports_initspatialmetadata_in_one_transaction(self):
diff --git a/django/contrib/gis/db/backends/spatialite/operations.py b/django/contrib/gis/db/backends/spatialite/operations.py
index 9671cf2341..0b71f07b4e 100644
--- a/django/contrib/gis/db/backends/spatialite/operations.py
+++ b/django/contrib/gis/db/backends/spatialite/operations.py
@@ -83,6 +83,7 @@ class SpatiaLiteOperations(BaseSpatialOperations, DatabaseOperations):
def function_names(self):
return {
'Length': 'ST_Length',
+ 'NumPoints': 'ST_NPoints',
'Reverse': 'ST_Reverse',
'Scale': 'ScaleCoords',
'Translate': 'ST_Translate',
diff --git a/docs/ref/contrib/gis/functions.txt b/docs/ref/contrib/gis/functions.txt
index ca993542b8..1b7a0c39f5 100644
--- a/docs/ref/contrib/gis/functions.txt
+++ b/docs/ref/contrib/gis/functions.txt
@@ -392,7 +392,13 @@ or ``MULTI*`` field); otherwise returns ``None``.
Oracle, SpatiaLite
Accepts a single geographic field or expression and returns the number of points
-in the first linestring in the geometry field; otherwise returns ``None``.
+in a geometry.
+
+On MySQL, returns ``None`` for any non-``LINESTRING`` geometry.
+
+.. versionchanged:: 1.11
+
+ SpatiaLite support for non-``LINESTRING`` geometries was added.
``Perimeter``
=============