Fixed #21850 -- Made GeometryField.geodetic case insensitive

This commit is contained in:
Oliver George 2014-01-22 12:54:55 +11:00 committed by Claude Paroz
parent 088cb711fe
commit a4fbdcdf66
2 changed files with 3 additions and 3 deletions

View File

@ -51,7 +51,7 @@ class GeometryField(Field):
form_class = forms.GeometryField form_class = forms.GeometryField
# Geodetic units. # Geodetic units.
geodetic_units = ('Decimal Degree', 'degree') geodetic_units = ('decimal degree', 'degree')
description = _("The base GIS field -- maps to the OpenGIS Specification Geometry type.") description = _("The base GIS field -- maps to the OpenGIS Specification Geometry type.")
@ -147,7 +147,7 @@ class GeometryField(Field):
Returns true if this field's SRID corresponds with a coordinate Returns true if this field's SRID corresponds with a coordinate
system that uses non-projected units (e.g., latitude/longitude). system that uses non-projected units (e.g., latitude/longitude).
""" """
return self.units_name(connection) in self.geodetic_units return self.units_name(connection).lower() in self.geodetic_units
def get_distance(self, value, lookup_type, connection): def get_distance(self, value, lookup_type, connection):
""" """

View File

@ -646,7 +646,7 @@ class GeoQuerySet(QuerySet):
# been transformed via the `transform` GeoQuerySet method. # been transformed via the `transform` GeoQuerySet method.
if self.query.transformed_srid: if self.query.transformed_srid:
u, unit_name, s = get_srid_info(self.query.transformed_srid, connection) u, unit_name, s = get_srid_info(self.query.transformed_srid, connection)
geodetic = unit_name in geo_field.geodetic_units geodetic = unit_name.lower() in geo_field.geodetic_units
if backend.spatialite and geodetic: if backend.spatialite and geodetic:
raise ValueError('SQLite does not support linear distance calculations on geodetic coordinate systems.') raise ValueError('SQLite does not support linear distance calculations on geodetic coordinate systems.')