У меня есть следующая модель:
class City(models.Model):
name = models.CharField(null=False, blank=False, max_length=200)
coordinates = models.PointField(null=False, blank=False)
objects = models.GeoManager()
Я пытаюсь найти расстояние между двумя городами выше, используя следующее:
city1=City.objects.get(name='New York')
city2=City.objects.get(name='Boston')
city1.coordinates.distance(city2)
Но получаю следующее:
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/home/rok/apps/django-trunk/django/contrib/gis/geos/geometry.py", line 667, in distance
raise TypeError('distance() works only on other GEOS Geometries.')
TypeError: distance() works only on other GEOS Geometries.
Глядя на структуры и данные, кажется, что все в порядке:
>>> city1.coordinates.coords
(40.714623,-74.006605)
>>> city2.coordinates.coords
(42.360024, -71.060168)
Что я делаю не так?
city1.coordinates.distance(city2.coordinates)
вместоcity1.coordinates.distance(city2)
- person zero323   schedule 17.09.2013