Loading django/contrib/gis/db/backends/base/models.py +1 −6 Original line number Diff line number Diff line Loading @@ -21,12 +21,7 @@ class SpatialRefSysMixin(object): # TODO: Figure out how to pull out angular units of projected coordinate system and # fix for LOCAL_CS types. GDAL should be highly recommended for performing # distance queries. units_regex = re.compile( r'.+UNIT ?\["(?P<unit_name>[\w \'\(\)]+)", ?(?P<unit>[\d\.]+)' r'(,AUTHORITY\["(?P<unit_auth_name>[\w \'\(\)]+)",' r'"(?P<unit_auth_val>\d+)"\])?\]([\w ]+)?(,' r'AUTHORITY\["(?P<auth_name>[\w \'\(\)]+)","(?P<auth_val>\d+)"\])?\]$' ) units_regex = re.compile(r'.+UNIT ?\["(?P<unit_name>[\w \.\'\(\)]+)", ?(?P<unit>[^ ,\]]+)', re.DOTALL) @property def srs(self): Loading tests/gis_tests/distapp/tests.py +25 −19 Original line number Diff line number Diff line from __future__ import unicode_literals from unittest import skipUnless from django.contrib.gis.db.models.functions import ( Area, Distance, Length, Perimeter, Transform, ) from django.contrib.gis.gdal import HAS_GDAL from django.contrib.gis.geos import GEOSGeometry, LineString, Point from django.contrib.gis.measure import D # alias for Distance from django.db import connection from django.db.models import F, Q from django.test import TestCase, ignore_warnings, skipUnlessDBFeature from django.test import TestCase, ignore_warnings, mock, skipUnlessDBFeature from django.utils.deprecation import RemovedInDjango20Warning from ..utils import no_oracle, oracle, postgis Loading Loading @@ -487,6 +490,7 @@ class DistanceFunctionsTests(TestCase): tol ) @skipUnless(HAS_GDAL, "GDAL is required.") @skipUnlessDBFeature("has_Distance_function", "has_Transform_function") def test_distance_projected(self): """ Loading @@ -509,6 +513,8 @@ class DistanceFunctionsTests(TestCase): 455411.438904354, 519386.252102563, 696139.009211594, 232513.278304279, 542445.630586414, 456679.155883207] for has_gdal in [False, True]: with mock.patch('django.contrib.gis.gdal.HAS_GDAL', has_gdal): # Testing using different variations of parameters and using models # with different projected coordinate systems. dist1 = SouthTexasCity.objects.annotate(distance=Distance('point', lagrange)).order_by('id') Loading Loading
django/contrib/gis/db/backends/base/models.py +1 −6 Original line number Diff line number Diff line Loading @@ -21,12 +21,7 @@ class SpatialRefSysMixin(object): # TODO: Figure out how to pull out angular units of projected coordinate system and # fix for LOCAL_CS types. GDAL should be highly recommended for performing # distance queries. units_regex = re.compile( r'.+UNIT ?\["(?P<unit_name>[\w \'\(\)]+)", ?(?P<unit>[\d\.]+)' r'(,AUTHORITY\["(?P<unit_auth_name>[\w \'\(\)]+)",' r'"(?P<unit_auth_val>\d+)"\])?\]([\w ]+)?(,' r'AUTHORITY\["(?P<auth_name>[\w \'\(\)]+)","(?P<auth_val>\d+)"\])?\]$' ) units_regex = re.compile(r'.+UNIT ?\["(?P<unit_name>[\w \.\'\(\)]+)", ?(?P<unit>[^ ,\]]+)', re.DOTALL) @property def srs(self): Loading
tests/gis_tests/distapp/tests.py +25 −19 Original line number Diff line number Diff line from __future__ import unicode_literals from unittest import skipUnless from django.contrib.gis.db.models.functions import ( Area, Distance, Length, Perimeter, Transform, ) from django.contrib.gis.gdal import HAS_GDAL from django.contrib.gis.geos import GEOSGeometry, LineString, Point from django.contrib.gis.measure import D # alias for Distance from django.db import connection from django.db.models import F, Q from django.test import TestCase, ignore_warnings, skipUnlessDBFeature from django.test import TestCase, ignore_warnings, mock, skipUnlessDBFeature from django.utils.deprecation import RemovedInDjango20Warning from ..utils import no_oracle, oracle, postgis Loading Loading @@ -487,6 +490,7 @@ class DistanceFunctionsTests(TestCase): tol ) @skipUnless(HAS_GDAL, "GDAL is required.") @skipUnlessDBFeature("has_Distance_function", "has_Transform_function") def test_distance_projected(self): """ Loading @@ -509,6 +513,8 @@ class DistanceFunctionsTests(TestCase): 455411.438904354, 519386.252102563, 696139.009211594, 232513.278304279, 542445.630586414, 456679.155883207] for has_gdal in [False, True]: with mock.patch('django.contrib.gis.gdal.HAS_GDAL', has_gdal): # Testing using different variations of parameters and using models # with different projected coordinate systems. dist1 = SouthTexasCity.objects.annotate(distance=Distance('point', lagrange)).order_by('id') Loading