Kaydet (Commit) ade681b9 authored tarafından Claude Paroz's avatar Claude Paroz

Unified SpatiaLite spelling

üst 79a9603b
...@@ -42,7 +42,7 @@ class SpatiaLiteIntrospection(DatabaseIntrospection): ...@@ -42,7 +42,7 @@ class SpatiaLiteIntrospection(DatabaseIntrospection):
# from OGC geom type name to Django field. # from OGC geom type name to Django field.
ogr_type = row[2] ogr_type = row[2]
if isinstance(ogr_type, six.integer_types) and ogr_type > 1000: if isinstance(ogr_type, six.integer_types) and ogr_type > 1000:
# Spatialite versions >= 4 use the new SFSQL 1.2 offsets # SpatiaLite versions >= 4 use the new SFSQL 1.2 offsets
# 1000 (Z), 2000 (M), and 3000 (ZM) to indicate the presence of # 1000 (Z), 2000 (M), and 3000 (ZM) to indicate the presence of
# higher dimensional coordinates (M not yet supported by Django). # higher dimensional coordinates (M not yet supported by Django).
ogr_type = ogr_type % 1000 + OGRGeomType.wkb25bit ogr_type = ogr_type % 1000 + OGRGeomType.wkb25bit
......
...@@ -117,7 +117,7 @@ class SpatiaLiteOperations(BaseSpatialOperations, DatabaseOperations): ...@@ -117,7 +117,7 @@ class SpatiaLiteOperations(BaseSpatialOperations, DatabaseOperations):
def convert_extent(self, box, srid): def convert_extent(self, box, srid):
""" """
Convert the polygon data received from Spatialite to min/max values. Convert the polygon data received from SpatiaLite to min/max values.
""" """
if box is None: if box is None:
return None return None
......
...@@ -340,7 +340,7 @@ class NumPoints(GeoFunc): ...@@ -340,7 +340,7 @@ class NumPoints(GeoFunc):
def as_sqlite(self, compiler, connection): def as_sqlite(self, compiler, connection):
if self.source_expressions[self.geom_param_pos].output_field.geom_type != 'LINESTRING': if self.source_expressions[self.geom_param_pos].output_field.geom_type != 'LINESTRING':
raise TypeError("Spatialite NumPoints can only operate on LineString content") raise TypeError("SpatiaLite NumPoints can only operate on LineString content")
return super(NumPoints, self).as_sql(compiler, connection) return super(NumPoints, self).as_sql(compiler, connection)
......
...@@ -65,7 +65,7 @@ def add_srs_entry(srs, auth_name='EPSG', auth_srid=None, ref_sys_name=None, ...@@ -65,7 +65,7 @@ def add_srs_entry(srs, auth_name='EPSG', auth_srid=None, ref_sys_name=None,
if 'srtext' in srs_field_names: if 'srtext' in srs_field_names:
kwargs['srtext'] = srs.wkt kwargs['srtext'] = srs.wkt
if 'ref_sys_name' in srs_field_names: if 'ref_sys_name' in srs_field_names:
# Spatialite specific # SpatiaLite specific
kwargs['ref_sys_name'] = ref_sys_name or srs.name kwargs['ref_sys_name'] = ref_sys_name or srs.name
# Creating the spatial_ref_sys model. # Creating the spatial_ref_sys model.
......
...@@ -1329,7 +1329,7 @@ Example:: ...@@ -1329,7 +1329,7 @@ Example::
.. class:: Collect(geo_field) .. class:: Collect(geo_field)
*Availability*: PostGIS, Spatialite *Availability*: PostGIS, SpatiaLite
Returns a ``GEOMETRYCOLLECTION`` or a ``MULTI`` geometry object from the geometry Returns a ``GEOMETRYCOLLECTION`` or a ``MULTI`` geometry object from the geometry
column. This is analogous to a simplified version of the :class:`Union` column. This is analogous to a simplified version of the :class:`Union`
...@@ -1342,7 +1342,7 @@ not caring about dissolving boundaries. ...@@ -1342,7 +1342,7 @@ not caring about dissolving boundaries.
.. class:: Extent(geo_field) .. class:: Extent(geo_field)
*Availability*: PostGIS, Oracle, Spatialite *Availability*: PostGIS, Oracle, SpatiaLite
Returns the extent of all ``geo_field`` in the ``QuerySet`` as a four-tuple, Returns the extent of all ``geo_field`` in the ``QuerySet`` as a four-tuple,
comprising the lower left coordinate and the upper right coordinate. comprising the lower left coordinate and the upper right coordinate.
......
...@@ -37,10 +37,10 @@ totally fine with GeoDjango. Your mileage may vary. ...@@ -37,10 +37,10 @@ totally fine with GeoDjango. Your mileage may vary.
GDAL 2.1.0 2016-04 GDAL 2.1.0 2016-04
PostGIS 2.1.0 2013-08-17 PostGIS 2.1.0 2013-08-17
PostGIS 2.2.0 2015-10-17 PostGIS 2.2.0 2015-10-17
Spatialite 4.0.0 2012-11-25 SpatiaLite 4.0.0 2012-11-25
Spatialite 4.1.0 2013-06-04 SpatiaLite 4.1.0 2013-06-04
Spatialite 4.2.0 2014-07-25 SpatiaLite 4.2.0 2014-07-25
Spatialite 4.3.0 2015-09-07 SpatiaLite 4.3.0 2015-09-07
.. note:: .. note::
......
===================== =====================
Installing Spatialite Installing SpatiaLite
===================== =====================
`SpatiaLite`__ adds spatial support to SQLite, turning it into a full-featured `SpatiaLite`__ adds spatial support to SQLite, turning it into a full-featured
spatial database. spatial database.
First, check if you can install Spatialite from system packages or binaries. First, check if you can install SpatiaLite from system packages or binaries.
For example, on Debian-based distributions, try to install the For example, on Debian-based distributions, try to install the
``spatialite-bin`` package. For distributions that package SpatiaLite 4.2+, ``spatialite-bin`` package. For distributions that package SpatiaLite 4.2+,
......
...@@ -115,7 +115,7 @@ a flat surface is a straight line, the shortest path between two points on a cur ...@@ -115,7 +115,7 @@ a flat surface is a straight line, the shortest path between two points on a cur
surface (such as the earth) is an *arc* of a `great circle`__. [#fnthematic]_ Thus, surface (such as the earth) is an *arc* of a `great circle`__. [#fnthematic]_ Thus,
additional computation is required to obtain distances in planar units (e.g., additional computation is required to obtain distances in planar units (e.g.,
kilometers and miles). Using a geographic coordinate system may introduce kilometers and miles). Using a geographic coordinate system may introduce
complications for the developer later on. For example, Spatialite does not have complications for the developer later on. For example, SpatiaLite does not have
the capability to perform distance calculations between geometries using the capability to perform distance calculations between geometries using
geographic coordinate systems, e.g. constructing a query to find all points geographic coordinate systems, e.g. constructing a query to find all points
within 5 miles of a county boundary stored as WGS84. within 5 miles of a county boundary stored as WGS84.
......
...@@ -49,7 +49,7 @@ Bugfixes ...@@ -49,7 +49,7 @@ Bugfixes
exceptions recursed infinitely (#20278). exceptions recursed infinitely (#20278).
* :djadmin:`makemessages` no longer crashes with ``UnicodeDecodeError`` * :djadmin:`makemessages` no longer crashes with ``UnicodeDecodeError``
(#20354). (#20354).
* Fixed ``geojson`` detection with Spatialite. * Fixed ``geojson`` detection with SpatiaLite.
* :meth:`~django.test.SimpleTestCase.assertContains` once again works with * :meth:`~django.test.SimpleTestCase.assertContains` once again works with
binary content (#20237). binary content (#20237).
* Fixed :class:`~django.db.models.ManyToManyField` if it has a unicode ``name`` * Fixed :class:`~django.db.models.ManyToManyField` if it has a unicode ``name``
......
...@@ -225,10 +225,10 @@ Minor features ...@@ -225,10 +225,10 @@ Minor features
* It is now allowed to include a subquery as a geographic lookup argument, for * It is now allowed to include a subquery as a geographic lookup argument, for
example ``City.objects.filter(point__within=Country.objects.filter(continent='Africa').values('mpoly'))``. example ``City.objects.filter(point__within=Country.objects.filter(continent='Africa').values('mpoly'))``.
* The Spatialite backend now supports ``Collect`` and ``Extent`` aggregates * The SpatiaLite backend now supports ``Collect`` and ``Extent`` aggregates
when the database version is 3.0 or later. when the database version is 3.0 or later.
* The PostGIS 2 ``CREATE EXTENSION postgis`` and the Spatialite * The PostGIS 2 ``CREATE EXTENSION postgis`` and the SpatiaLite
``SELECT InitSpatialMetaData`` initialization commands are now automatically ``SELECT InitSpatialMetaData`` initialization commands are now automatically
run by :djadmin:`migrate`. run by :djadmin:`migrate`.
......
...@@ -448,7 +448,7 @@ ST_Perimeter(geom1) | OK | :-( (degr ...@@ -448,7 +448,7 @@ ST_Perimeter(geom1) | OK | :-( (degr
================================ ================================
Distance functions on Spatialite Distance functions on SpatiaLite
================================ ================================
| Projected Geometry | Lon/lat Geometry | Projected Geometry | Lon/lat Geometry
......
...@@ -292,7 +292,7 @@ class GISFunctionsTests(TestCase): ...@@ -292,7 +292,7 @@ class GISFunctionsTests(TestCase):
qs = Track.objects.annotate(num_points=functions.NumPoints('line')) qs = Track.objects.annotate(num_points=functions.NumPoints('line'))
self.assertEqual(qs.first().num_points, 2) self.assertEqual(qs.first().num_points, 2)
if spatialite or mysql: if spatialite or mysql:
# Spatialite and MySQL can only count points on LineStrings # SpatiaLite and MySQL can only count points on LineStrings
return return
for c in Country.objects.annotate(num_points=functions.NumPoints('mpoly')): for c in Country.objects.annotate(num_points=functions.NumPoints('mpoly')):
...@@ -321,7 +321,7 @@ class GISFunctionsTests(TestCase): ...@@ -321,7 +321,7 @@ class GISFunctionsTests(TestCase):
qs = Country.objects.annotate(point_on_surface=functions.PointOnSurface('mpoly')) qs = Country.objects.annotate(point_on_surface=functions.PointOnSurface('mpoly'))
for country in qs: for country in qs:
tol = 0.00001 # Spatialite might have WKT-translation-related precision issues tol = 0.00001 # SpatiaLite might have WKT-translation-related precision issues
self.assertTrue(ref[country.name].equals_exact(country.point_on_surface, tol)) self.assertTrue(ref[country.name].equals_exact(country.point_on_surface, tol))
@skipUnlessDBFeature("has_Reverse_function") @skipUnlessDBFeature("has_Reverse_function")
......
...@@ -187,7 +187,7 @@ def get_ogr_db_string(): ...@@ -187,7 +187,7 @@ def get_ogr_db_string():
except GDALException: except GDALException:
return None return None
# SQLite/Spatialite in-memory databases # SQLite/SpatiaLite in-memory databases
if db['NAME'] == ":memory:": if db['NAME'] == ":memory:":
return None return None
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment