Thursday, July 29, 2010

Re: Calculate distance between 2 latitude/longitude Point

Geopy has a distance function build in, if you want something a little
more widely used/tested:
http://code.google.com/p/geopy/wiki/GettingStarted#Calculating_distances

Alex

On Jul 29, 5:23 am, Alexandre González <agonzale...@gmail.com> wrote:
> I've solved translating a JavaScript function to python:
>
> from math import *
>
> RADIUS = 6371 #Earth's mean raadius in km
>
> def distance(origin, destiny):
>     (latitude1, longitude1) = (origin[0], origin[1])
>     (latitude2, longitude2) = (destiny[0], destiny[1])
>
>     dLat = radians(latitude1 - latitude2)
>     dLong = radians(longitude1 - longitude2)
>
>     # matter of faith
>     a = sin(dLat/2) * sin(dLat/2) + cos(radians(latitude1)) *
> cos(radians(latitude2)) * sin(dLong/2) * sin(dLong/2)
>     c = 2 * atan2(sqrt(a), sqrt(1-a))
>
>     return (RADIUS * c)
>
> # a test
> origin = (40.96312364002175, -5.661885738372803)
> destiny = (40.96116097790996, -5.66283792257309)
> print distance(origin, destiny)
>
> 2010/7/29 Alexandre González <agonzale...@gmail.com>
>
>
>
> > I going to try it now, but the unique results that I obtain in google
> > searching [1] gd2gcc is this thread :)
>
> > [1]
> >http://www.google.com/search?hl=en&safe=off&q=gd2gcc&aq=f&aqi=&aql=&o...
>
> > <http://www.google.com/search?hl=en&safe=off&q=gd2gcc&aq=f&aqi=&aql=&o...>Did
> > you make some mistake writting it?
>
> > Thanks,
> > Álex González
>
> > On Wed, Jul 28, 2010 at 19:34, !!CONDORIOUS!! <condor.c...@gmail.com>wrote:
>
> >> (lat , lon in radians)
>
> >> pt 1 = lat, lon, alt=0
> >> pt 2 = lat, lon, alt=0
>
> >> p1_gcc = gd2gcc(p1)
> >> p1_gcc = gd2gcc(p2)
>
> >> gd2gcc ( is a standard operation found on the itnernet)
>
> >> dis = sqrt(sum(pow(p1_gcc-p2-gcc, 2)))
>
> >> cheers,
>
> >> 2010/7/28 Alexandre González <agonzale...@gmail.com>:
> >> > Hi! I'm using the Django GEOS API [1] in my project to see the distance
> >> > between two users.
> >> > I get the coordinates from google maps in latitude/longitude mode and I
> >> need
> >> > to calculate the distance between them. I'm testing with .distance()
> >> method
> >> > at GEOSGeometry but I receive a strange value.
> >> > This is the result of one of my test:
> >> > In [45]: Point(40.96312364002175,
> >> > -5.661885738372803).distance(Point(40.96116097790996,
> >> -5.66283792257309))
> >> > Out[45]: 0.0021814438604553388
> >> > In Google Maps Distance Calculator [2] I can see that the result is:
> >> 0.145
> >> > miles = 0.233 km = 0.126 nautical miles = 233 meters = 764.436 feet
> >> > A friend told me on Google that perhaps I must calculate the distance in
> >> > UTMs and the results surely is a lat/long distance. To test it I need
> >> pygps
> >> > that is a project not maintained to import
> >> > LLtoUTMfrom from LatLongUTMconversion
> >> > Any idea about this?
> >> > [1]http://docs.djangoproject.com/en/dev/ref/contrib/gis/geos/
> >> > [2]
> >>http://www.daftlogic.com/projects-google-maps-distance-calculator.htm
>
> >> > --
> >> > Please, don't send me files with extensions: .doc, .docx, .xls, .xlsx,
> >> .ppt
> >> > and/or .pptx
> >> >http://mirblu.com
>
> >> > --
> >> > You received this message because you are subscribed to the Google
> >> Groups
> >> > "Django users" group.
> >> > To post to this group, send email to django-users@googlegroups.com.
> >> > To unsubscribe from this group, send email to
> >> > django-users+unsubscribe@googlegroups.com<django-users%2Bunsubscribe@googlegroups.com>
> >> .
> >> > For more options, visit this group at
> >> >http://groups.google.com/group/django-users?hl=en.
>
> >> --
> >> Condor
> >> 310.951.1177
> >> condor.c...@gmail.com
>
> >> :%s/war/peace/g
>
> >> --
> >> You received this message because you are subscribed to the Google Groups
> >> "Django users" group.
> >> To post to this group, send email to django-users@googlegroups.com.
> >> To unsubscribe from this group, send email to
> >> django-users+unsubscribe@googlegroups.com<django-users%2Bunsubscribe@googlegroups.com>
> >> .
> >> For more options, visit this group at
> >>http://groups.google.com/group/django-users?hl=en.
>
> > --
> > Please, don't send me files with extensions: .doc, .docx, .xls, .xlsx, .ppt
> > and/or .pptx
> >http://mirblu.com
>
> --
> Please, don't send me files with extensions: .doc, .docx, .xls, .xlsx, .ppt
> and/or .pptxhttp://mirblu.com

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to django-users+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/django-users?hl=en.

No comments:

Post a Comment