TODOPIC

FORO TÉCNICO => Telefonía, GPS y Microcontroladores => Mensaje iniciado por: richardjr en 10 de Junio de 2009, 14:04:06

Título: Calculo de distancia entre dos puntos definidos por longitud y latitud
Publicado por: richardjr en 10 de Junio de 2009, 14:04:06
Buenas! Como bien lo dice el nombre, es a ese problema al que me enfrento... Recibo de un GPS por medio del protocolo NMEA los datos de longitud y latitud. Mi idea es ir tomando registro de cuanto nos desplazamos en el plano XY mediante la sumatoria de la distancia entre los sucesivos puntos. El problema es... como traducir las coordenadas que vienen en longitud y latitud a la forma cartesiana para poder hacer el calculo?

Desde ya muchas gracias! Cualquier referencia es muy bienvenida!!
Título: Re: Calculo de distancia entre dos puntos definidos por longitud y latitud
Publicado por: Nocturno en 10 de Junio de 2009, 14:59:51
Encontré este Excel que quizás te ayude.
El problema no es tan simple como trasladarlo a un plano cartesiano; también hay que tener en cuenta la curvatura de la tierra.
Aquí la formulación matemática aplicable: http://envisat.esa.int/handbooks/aatsr/CNTR2-6-1-1-5-2.htm
Título: Re: Calculo de distancia entre dos puntos definidos por longitud y latitud
Publicado por: Rogil en 10 de Junio de 2009, 15:12:44

Hola,
Yo quisiera preguntarles, para calculos ademas del recorrido sino tambien aceleracion, eso se hace con acelerometros por ejemplo, o se puede hacer mediante los datos que da el GPS?

Gracias
Título: Re: Calculo de distancia entre dos puntos definidos por longitud y latitud
Publicado por: richardjr en 10 de Junio de 2009, 15:55:17
Gracias Nocturno ! Ahora me pongo a ver eso!!

Tambien se me ocurre, para no meterme con coordenadas, la posibilidad de hacer uso de la velocidad y el tiempo que va tirando el gps... que problema podria haber con eso?.

Con el tema de la aceleracion... haciendo la derivada de la velocidad respecto del tiempo... pero no se si se lo banca el micro!

Rogil, vos tenes solucionado el tema de distancias?

Sds!
Título: Re: Calculo de distancia entre dos puntos definidos por longitud y latitud
Publicado por: Rogil en 10 de Junio de 2009, 17:14:12
Hola richardjr.

Fijate en este link, en estos momentos estoy buscando información ahí, no encuentro el proyecto que queria mostrarte, donde manejan acelerometros para aumentar la precisión y hacen los calculos por curbatura, sin embargo tienen varios proyectos con GPS, hay que leer pero no dudo que en esta página este la solución a este problema.

htmlhttp://courses.cit.cornell.edu/ee476/FinalProjects/s2002/ckp5/index.html (http://htmlhttp://courses.cit.cornell.edu/ee476/FinalProjects/s2002/ckp5/index.html).

Suerte.
Título: Re: Calculo de distancia entre dos puntos definidos por longitud y latitud
Publicado por: BrunoF en 10 de Junio de 2009, 20:48:21
Hola richardjr!

Si la distancia entre cada nuevo conjunto de coordenadas enviado es medianamente chica, podés considerar a la superficie de la tierra como plana. No necesitás calcular la curvatura si no requerís de extrema precisión. La mayoría de los procesadores internos de los GPS también descartan el cálculo ante pequeñas distancias.

No se cada cuánto tiempo configuraste recibir cada ráfaga de datos desde el GPS, pero si los tiempos son considerables, vas a obtener velocidades y aceleraciones medias más que instantáneas.

Saludos.
Título: Re: Calculo de distancia entre dos puntos definidos por longitud y latitud
Publicado por: richardjr en 10 de Junio de 2009, 23:49:38
Gracias por las respuestas! Muy buena la observacion sobre considerar la tierra plana is tengo incrementos pequeños de distancia. Encontre buscando por ahi una expresion que es valida para incrementos pequeños... y no tan pequeños, pero considerando la tierra como una esfera. Les cuento, puse dos puntos de prueba en google earth, y tome la distancia. Despues, value la formula para las mismas coordenadas que puse en google earth... y oh sorpresa... la diferencia entre los dos resultados es minima!! :-/

En google earth:
lat1=-31.6338658159 ;lon1=-64.4140642151;\
                                                                   |> Estan separados 10.91 metros segun google earth
lat2=-31.6338775297 ;lon2=-64.4139494791;/       

//Radio de la Tierra en metros :6372797.560856

lat1=-31.6338658159 ;lon1=-64.4140642151;
lat2=-31.6338775297 ;lon2=-64.4139494791;

En MAtlab:

(acos(sin(deg2rad(lat1)) * sin(deg2rad(lat2)) +cos(deg2rad(lat1)) * cos(deg2rad(lat2)) *cos(deg2rad(lon1) - deg2rad(lon2))) * 6372797.560856)

En MAtlab da: 10.9523   :mrgreen:



Título: Re: Calculo de distancia entre dos puntos definidos por longitud y latitud
Publicado por: Rogil en 11 de Junio de 2009, 14:42:16
Excelente información, gracias por ensayar richardjr, yo saqué el error porcentual basado en tus datos tomano como dato teorico el encontrado con matlab y como practico el tomado asumiendo 2 dimensiones, yo se que la cantidad de información no permite detalle y se necesitan mas pruebas, sin embargo puede ser útil para dar alguna idea.

El error porcentual me dio: 0,3862, entonces para una distancia de 360 Km, el error seria de +/- 1.39 Km, que parece bastante aceptable.

Pero mi pregunta es si el error se incrementaria si estamos en una topografia como la de Colombia, que es montaña sube montaña baja y curbas en las curbas.
Título: Re: Calculo de distancia entre dos puntos definidos por longitud y latitud
Publicado por: Rogil en 11 de Junio de 2009, 19:34:14
Que tal?
Se me habia olvidado preguntarles, lo que he hecho ha sido con un SIEMENS A56  y un GPS GARMIN,  pero me quiero comprar un modem con GPS embebido, escucho sugerencias y si me pueden ayudar con precios, estuve mirando el Telit GM862-GPS, pero si hay algo mejor soy todo oidos.

Gracias
Título: Re: Calculo de distancia entre dos puntos definidos por longitud y latitud
Publicado por: richardjr en 12 de Junio de 2009, 01:05:39

Pero mi pregunta es si el error se incrementaria si estamos en una topografia como la de Colombia, que es montaña sube montaña baja y curbas en las curbas.

Claro que la altura influye, el problema a mi parecer, deberia ser enfrentado suponiendo un vector en el cual entre en juego la altura... si necesitamos saber desplazamiento, debemos considerlo en los tres ejes. La distancia entre muestra y muestra, estaria dada por ej por: Disttotal=Sqr(Distxy^2+Altura^2) , donde distxy es lo que calculamos con la formula anterior.
Título: Re: Calculo de distancia entre dos puntos definidos por longitud y latitud
Publicado por: Nocturno en 19 de Septiembre de 2015, 05:26:36
Has utilizado las latitudes y longitudes en la fórmula como si fueran distancias en kilómetros, y en realidad son grados.
Para hacer el cálculo correcto, creo que tendrías que traducir la diferencia de grados en una distancia kilométrica, utilizando para ello el radio de la tierra y la fórmula de la circunferencia: 2*pi*R