Имам следния модел:
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