mirror of
https://github.com/django/django.git
synced 2024-12-23 01:25:58 +00:00
Confirmed Spatialite 4 support
This commit is contained in:
parent
0f1f12c564
commit
e62dea9ad5
@ -435,8 +435,11 @@ class GeoQuerySetTest(TestCase):
|
||||
self.assertEqual(c.mpoly.difference(geom), c.difference)
|
||||
if not spatialite:
|
||||
self.assertEqual(c.mpoly.intersection(geom), c.intersection)
|
||||
self.assertEqual(c.mpoly.sym_difference(geom), c.sym_difference)
|
||||
self.assertEqual(c.mpoly.union(geom), c.union)
|
||||
# Ordering might differ in collections
|
||||
self.assertSetEqual(set(g.wkt for g in c.mpoly.sym_difference(geom)),
|
||||
set(g.wkt for g in c.sym_difference))
|
||||
self.assertSetEqual(set(g.wkt for g in c.mpoly.union(geom)),
|
||||
set(g.wkt for g in c.union))
|
||||
|
||||
@skipUnless(getattr(connection.ops, 'envelope', False), 'Database does not support envelope operation')
|
||||
def test_envelope(self):
|
||||
@ -775,9 +778,9 @@ class GeoQuerySetTest(TestCase):
|
||||
def test_unionagg(self):
|
||||
"Testing the `unionagg` (aggregate union) GeoQuerySet method."
|
||||
tx = Country.objects.get(name='Texas').mpoly
|
||||
# Houston, Dallas -- Oracle has different order.
|
||||
# Houston, Dallas -- Ordering may differ depending on backend or GEOS version.
|
||||
union1 = fromstr('MULTIPOINT(-96.801611 32.782057,-95.363151 29.763374)')
|
||||
union2 = fromstr('MULTIPOINT(-96.801611 32.782057,-95.363151 29.763374)')
|
||||
union2 = fromstr('MULTIPOINT(-95.363151 29.763374,-96.801611 32.782057)')
|
||||
qs = City.objects.filter(point__within=tx)
|
||||
self.assertRaises(TypeError, qs.unionagg, 'name')
|
||||
# Using `field_name` keyword argument in one query and specifying an
|
||||
@ -786,12 +789,8 @@ class GeoQuerySetTest(TestCase):
|
||||
u1 = qs.unionagg(field_name='point')
|
||||
u2 = qs.order_by('name').unionagg()
|
||||
tol = 0.00001
|
||||
if oracle:
|
||||
union = union2
|
||||
else:
|
||||
union = union1
|
||||
self.assertEqual(True, union.equals_exact(u1, tol))
|
||||
self.assertEqual(True, union.equals_exact(u2, tol))
|
||||
self.assertEqual(True, union1.equals_exact(u1, tol) or union2.equals_exact(u1, tol))
|
||||
self.assertEqual(True, union1.equals_exact(u2, tol) or union2.equals_exact(u2, tol))
|
||||
qs = City.objects.filter(name='NotACity')
|
||||
self.assertEqual(None, qs.unionagg(field_name='point'))
|
||||
|
||||
|
@ -15,7 +15,7 @@ Program Description Required
|
||||
:ref:`GDAL <ref-gdal>` Geospatial Data Abstraction Library No (but, required for SQLite) 1.9, 1.8, 1.7, 1.6
|
||||
:ref:`GeoIP <ref-geoip>` IP-based geolocation library No 1.4
|
||||
`PostGIS`__ Spatial extensions for PostgreSQL Yes (PostgreSQL only) 2.0, 1.5, 1.4, 1.3
|
||||
`SpatiaLite`__ Spatial extensions for SQLite Yes (SQLite only) 3.0, 2.4, 2.3
|
||||
`SpatiaLite`__ Spatial extensions for SQLite Yes (SQLite only) 4.1, 4.0, 3.0, 2.4, 2.3
|
||||
======================== ==================================== ================================ ==========================
|
||||
|
||||
..
|
||||
@ -35,6 +35,8 @@ Program Description Required
|
||||
SpatiaLite 2.3.0 2009-04-06
|
||||
Spatialite 2.4.0 2010-11-14
|
||||
Spatialite 3.0.0 2011-12-30
|
||||
Spatialite 4.0.0 2012-11-25
|
||||
Spatialite 4.1.0 2013-06-04
|
||||
|
||||
.. admonition:: Install GDAL
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user