python - terrestre - ¿Cómo encuentro la distancia entre dos puntos?
distancia entre dos puntos terrestres (3)
Es una implementación del teorema de Pitágoras. Enlace: http://en.wikipedia.org/wiki/Pythagorean_theorem
Digamos que tengo x1, y1 y también x2, y2.
¿Cómo puedo encontrar la distancia entre ellos? Es una función matemática simple, pero ¿hay un fragmento de esto en línea?
No olvidemos math.hypot:
dist = math.hypot(x2-x1, y2-y1)
A continuación, se incluye el valor de un fragmento de un fragmento para calcular la longitud de una ruta definida por una lista de tuplas x, y:
from math import hypot
pts = [
(10,10),
(10,11),
(20,11),
(20,10),
(10,10),
]
ptdiff = lambda (p1,p2): (p1[0]-p2[0], p1[1]-p2[1])
diffs = map(ptdiff, zip(pts,pts[1:]))
path = sum(hypot(*d) for d in diffs)
print path
dist = sqrt( (x2 - x1)**2 + (y2 - y1)**2 )
Como han señalado otros, también puede usar el math.hypot()
incorporado equivalente:
dist = math.hypot(x2 - x1, y2 - y1)