Thursday, July 29, 2010

Re: Calculate distance between 2 latitude/longitude Point

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 <agonzalezro@gmail.com>
I going to try it now, but the unique results that I obtain in google searching [1] gd2gcc is this thread :)


Did you make some mistake writting it?

Thanks,
Álex González


On Wed, Jul 28, 2010 at 19:34, !!CONDORIOUS!! <condor.chou@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 <agonzalezro@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.
> For more options, visit this group at
> http://groups.google.com/group/django-users?hl=en.
>



--
Condor
310.951.1177
condor.chou@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.
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 .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.
For more options, visit this group at http://groups.google.com/group/django-users?hl=en.

No comments:

Post a Comment