Foros del Web » Creando para Internet » Diseño web »

Distancia entre dos puntos (dados por longitud y latitud)

Estas en el tema de Distancia entre dos puntos (dados por longitud y latitud) en el foro de Diseño web en Foros del Web. Hola a todos No se donde dejar este tema porque no encaja ningun tema pero al igual alguien me puede ayudar Como se hace para ...
  #1 (permalink)  
Antiguo 27/08/2007, 06:05
 
Fecha de Ingreso: diciembre-2005
Ubicación: Barcelona
Mensajes: 1.428
Antigüedad: 18 años, 3 meses
Puntos: 15
Distancia entre dos puntos (dados por longitud y latitud)

Hola a todos
No se donde dejar este tema porque no encaja ningun tema
pero al igual alguien me puede ayudar

Como se hace para medir la distancia en metros o kilomentros entre dos puntos determinados por longintud y latitud

supongamos estos dos puntos

punto 1: LATITUD 18.33616 LONGITUD -66.472087

punto 2: LATITUD 40.922326 LONGITUD -72.637078

cuantos metros o km hay entre ellos?

gracias
saludos
  #2 (permalink)  
Antiguo 27/08/2007, 12:21
Avatar de bookmaster  
Fecha de Ingreso: febrero-2002
Ubicación: Toledo
Mensajes: 976
Antigüedad: 22 años, 2 meses
Puntos: 67
Re: Distancia entre dos puntos (dados por longitud y latitud)

Supongo que podria hacer lo siguiente.

Calculas la diferencia de distancia que hay de la siguiente manera:

(P2 - P1)*L=D

Traducción:
P1 = Punto 1
P2 = Punto 2
L = Longitud
D = Distancia

Tendrias que saber cuando vale L para poder realizar los calculos, por ejemplo,supongamos que 1 punto de Longitud son 100 Metros la formula seria
(P2 - P1) * 100 = Distancia entre un punto y el otro

Ahora el inconveniente que veo es el controlar los puntos negativos, ya que podria ser que de dieran distancias equivocadas.
__________________
Decir si te a funcionado la respuesta es ¡GRATIS!. Por favor indicarlo.
http://www.lohacemosweb.net
http://tutoriales.lohacemosweb.net
  #3 (permalink)  
Antiguo 27/08/2007, 13:15
Avatar de Daniel Ulczyk
Super Moderador
 
Fecha de Ingreso: febrero-2005
Ubicación: Buenos Aires
Mensajes: 9.263
Antigüedad: 19 años, 1 mes
Puntos: 2114
Re: Distancia entre dos puntos (dados por longitud y latitud)

Cita:
Iniciado por chefnelone Ver Mensaje

Como se hace para medir la distancia en metros o kilomentros entre dos puntos determinados por longintud y latitud
Entiendo que basando los cálculos en trigonometría esférica. En esta página tenés una buena explicación (en inglés).
Para resolverlo mediante herramientas online, tenés disponible el sitio de:
Arid Land Agricultural Research Center
Geody
Northern Arizona University


__________________
—Somos lo que hacemos repetidamente. La excelencia, entonces, no es un acto sino un hábito. (Aristóteles dixit)
  #4 (permalink)  
Antiguo 28/08/2007, 06:46
Avatar de Kelpie  
Fecha de Ingreso: febrero-2002
Ubicación: NorthSpain
Mensajes: 609
Antigüedad: 22 años, 2 meses
Puntos: 8
Re: Distancia entre dos puntos (dados por longitud y latitud)

Distancias I

La latitud y la longitud son distancias en grados al meridiano 0 y al ecuador.
La latitud (distancia al ecuador) puede ser Norte o Sur, pero siempre entre 0 y 90º

La longitud (distancia al meridiano 0) es más complicada y se puede expresar de varias maneras:
- Especificando Este u Oeste, en cuyo caso estará entre 0 y 180
- Empleando positivos para el Este y negativos para el Oeste, en cuyo caso estará entre -180 y 180
- Empleando la circunferencia completa, en cuyo caso estará entre 0 y 360, y siempre son Este

Dependiendo de cómo lo expreses lo harás de una manera u otra.

En todos los casos llegaras a representar el punto en un sistema cartesiano, definido por sus distancias en Km al eje X (Ecuador) y al eje Y (Meridiano 0).

A partir de ese momento, la distancia entre ellos es trivial:

D=SQR((X2-X1)^2+(Y2-Y1)^2), siendo

D: La distancia a calcular
X1-Y1: coordenadas del punto 1
X2-Y2: coordenadas del punto 2


Sigue...
__________________
Kelpie
  #5 (permalink)  
Antiguo 28/08/2007, 06:58
Avatar de Kelpie  
Fecha de Ingreso: febrero-2002
Ubicación: NorthSpain
Mensajes: 609
Antigüedad: 22 años, 2 meses
Puntos: 8
Re: Distancia entre dos puntos (dados por longitud y latitud)

Distancias II

Tomando el segundo caso de definición de la longitud, una manera de llegar a las coordenadas cartesianas de tus puntos sería:

La latitud: Suponemos ambos en latitud norte... (Para una latitud sur nos bastaría con cambiar el signo del resultado)

Podemos sacarla con una simple regla de tres:

Si 90º es 10000 Km (Más o menos un cuadrante terrestre)
18,33616º será ?

? será 18,33616x10000/90
? será 2.037,3511 Km

Y para 40,922326 obtenemos 4.546,9251 Km

La longitud: El proceso es similar. Cada grado de longitud nos da (40.000/360) unos 111,1111 Km...

Para -66.472087º obtenemos -7.385,7873 Km
Para -72.637078º obtenemos -8.070,7863 Km

Con todo ello, ya podemos expresar nuestros puntos en formato cartesiano:

P1=(-7385.7873,2037.3511)
P2=(-8070.7863,4546.9251)

Sigue...
__________________
Kelpie
  #6 (permalink)  
Antiguo 28/08/2007, 07:07
Avatar de Kelpie  
Fecha de Ingreso: febrero-2002
Ubicación: NorthSpain
Mensajes: 609
Antigüedad: 22 años, 2 meses
Puntos: 8
Re: Distancia entre dos puntos (dados por longitud y latitud)

Distancias III

Y ahora estamos en disposición de aplicar la fórmula:

P1=(-7385.7873,2037.3511)
P2=(-8070.7863,4546.9251)

X2-X1=-8070.7863 - (-7385.7873)=-684,999
Y2-Y1=2037.3511-4546.9251 = -2509,574

Elevando al cuadrado:

(X2-X1)^2= -684,999^2 = 469223,63
(Y2-Y1)^2= -2509,574^2 = 6297961,6

Sumamos:

469223,63+6297961,6=6767185,2

Y sacamos la raiz cuadrada:

SQR(6767185,2)=2601,381402

Luego a los puntos P1 y P2 les separan 2.601,381402 Km de vellón


Si no me he equivocado, que lo he escrito del tirón...
__________________
Kelpie
  #7 (permalink)  
Antiguo 28/08/2007, 07:17
Avatar de Kelpie  
Fecha de Ingreso: febrero-2002
Ubicación: NorthSpain
Mensajes: 609
Antigüedad: 22 años, 2 meses
Puntos: 8
Re: Distancia entre dos puntos (dados por longitud y latitud)

Distancias y IV

En el cálculo se asume que la tierra es esférica (que no lo es) y con un radio aproximado de 6.366,2 Km.

El radio equivolumétrico de la tierra (el de una esfera que tuviera el mismo volumen que el planeta) viene andando por los 6.371 Km. Con ese radio, el cuadrante terrestre mediría 40.030 Km, y el avance por grado sería de 111,195 Km..

Todo ello para poner los valores en los cálculos que más le gusten a cada uno...

FIN

Pd. Vaya pedazo de rollo que he metido, pero solo con los conceptos claros se puede desarrollar un programa que las calcule...
Si tienes problemas con la programación mándame un mensajillo y te posteo el código..

Saludos
__________________
Kelpie
  #8 (permalink)  
Antiguo 28/08/2007, 12:08
 
Fecha de Ingreso: diciembre-2005
Ubicación: Barcelona
Mensajes: 1.428
Antigüedad: 18 años, 3 meses
Puntos: 15
Re: Distancia entre dos puntos (dados por longitud y latitud)

aqui encontre justo lo que estaba buscando y listo en php para usarlo modificandolo un poco

The above formula as a function:
< ?php

function getDistance($lat1, $long1, $lat2, $long2)
{
//$earth = 6371; //km change accordingly
$earth = 3960; //miles

//Point 1 cords
$lat1 = deg2rad($lat1);
$long1= deg2rad($long1);

//Point 2 cords
$lat2 = deg2rad($lat2);
$long2= deg2rad($long2);

//Haversine Formula
$dlong=$long2-$long1;
$dlat=$lat2-$lat1;

$sinlat=sin($dlat/2);
$sinlong=sin($dlong/2);

$a=($sinlat*$sinlat)+cos($lat1)*cos($lat2)*($sinlo ng*$sinlong);

$c=2*asin(min(1,sqrt($a)));

$d=round($earth*$c);

return $d;
}

// pull cords out of database

echo "Distance in miles from CB2 to SS4: ".getDistance(52.163, 0.133, 51.594, 0.715);
?>
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 3 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 01:46.