Loading django/contrib/gis/tests/geoapp/tests.py +9 −10 Original line number Diff line number Diff line Loading @@ -437,8 +437,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): Loading Loading @@ -781,9 +784,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 Loading @@ -792,12 +795,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')) Loading docs/ref/contrib/gis/install/geolibs.txt +3 −2 Original line number Diff line number Diff line Loading @@ -15,7 +15,7 @@ Program Description Required :ref:`GDAL <ref-gdal>` Geospatial Data Abstraction Library No (but, required for SQLite) 1.10, 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.1, 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 ======================== ==================================== ================================ ========================== .. Loading @@ -37,6 +37,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 Loading @@ -299,4 +301,3 @@ file: .. [#] Specifically, GeoDjango provides support for the `OGR <http://gdal.org/ogr>`_ library, a component of GDAL. .. [#] See `GDAL ticket #2382 <http://trac.osgeo.org/gdal/ticket/2382>`_. Loading
django/contrib/gis/tests/geoapp/tests.py +9 −10 Original line number Diff line number Diff line Loading @@ -437,8 +437,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): Loading Loading @@ -781,9 +784,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 Loading @@ -792,12 +795,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')) Loading
docs/ref/contrib/gis/install/geolibs.txt +3 −2 Original line number Diff line number Diff line Loading @@ -15,7 +15,7 @@ Program Description Required :ref:`GDAL <ref-gdal>` Geospatial Data Abstraction Library No (but, required for SQLite) 1.10, 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.1, 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 ======================== ==================================== ================================ ========================== .. Loading @@ -37,6 +37,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 Loading @@ -299,4 +301,3 @@ file: .. [#] Specifically, GeoDjango provides support for the `OGR <http://gdal.org/ogr>`_ library, a component of GDAL. .. [#] See `GDAL ticket #2382 <http://trac.osgeo.org/gdal/ticket/2382>`_.