I want to show you something. I am using django+postgis and I am experiencing wrong distance values between two points.
This is my model:
class Location(models.Model):
name = models.CharField(max_length=255)
latitude = models.FloatField(blank=True, null=True, verbose_name='Latitude')
longitude = models.FloatField(blank=True, null=True, verbose_name='Longitude')
location = models.PointField(blank = True, null=True)
objects = models.GeoManager()
def save(self, *args, **kwargs):
self.location = Point(self.latitude, self.longitude)
super(Location, self).save(*args, **kwargs)
This is the data:
bogota = Location(name='bogota', latitude='4.61779093242', longitude='-74.0893133545')
bogota.save()
barranquilla = Location(name='barranquilla', latitude='10.9731710819', longitude='-74.8020513916')
barranquilla.save()
This is the query:
ls = Location.objects.distance(bog.location).order_by('distance')
for l in ls: l.name; l.distance.km
This is the output:
Out[29]: u'BOGOTA'
Out[29]: 0.0
Out[29]: u'BARRANQUILLA'
Out[29]: 205.27667079004999
But Barranquilla city is to ~700km from Bogota city, see here: "http://www.travelmath.com/flight-distance/from/Bogota,+Colombia/to/Barranquilla,+Colombia"
So, what is wrong? the SRID are the default values.
