Calcula la Distancia Entre dos Coordenadas Geográficas en Excel con una Función

Esta es una función que puedes agregar a tu Excel para calcular la distancia entre dos coordenadas geográficas por medio de la Fórmula del Haversine.
Comparto un pequeño módulo, que podrás descargarlo al final del artículo, que podrás insertar a tu Archivo Excel cuando requieras calcular la distancia entre dos coordenadas geográficas.




¿Qué es la fórmula del Haversine?

Todo lo puedes leer desde [Wikipedia]
De manera resumida, se puede estimar la distancia mediante la siguiente ecuación:

 

 

 Consideraciones

  • Las Latitudes y Longitudes deben de estar en grados decimales. (No en grados minutos o segundos)
  • Considerar el radio de la tierra en km, y según tu ubicación:
    • Para los polos: 6,356.8
    • Para la zona ecuatorial: 6,378.10
    • Radio Promedio 6,371.0
  • El orden de los datos en la función es la siguiente: (Latitud1, Longitud1, Latitud2, Longitud2, RadioTierra). Donde:
    • latitud1 : Latitud de tu punto inicial.
    • Longitud1: Longitud de tu punto inicial.
    • Latitud2 : Latitud de tu punto final.
    • Longitud2: Longitud de tu punto final.
    • RadioTierra: Radio de la tierra en Km.
  • El resultado obtenido lo tendremos en metros.

 

¿Cómo usar la función?

 

1. Haremos el procedimiento con un ejemplo.

 

2. Primero abrimos el archivo Excel donde veremos los datos de la latitud, longitud de los puntos inicial y final, y del radio de la tierra:

 

3. Vamos a la pestaña Programador (tienes que tenerla activada), y vamos a Visual Basic:

 

 

4. Seleccionamos nuestro archivo dentro de la ventana y luego vamos a Archivo->Importar:

 



5. Luego buscamos el archivo «FuncionDistanciaGeográfica.bas» que descargamos del repositorio:

 

 

6. Si vamos a la carpeta Módulos, podremos ver el archivo cargado:

 

 

7. Luego vamos al Excel, y ejecutamos la función DistanciaGeografica. Recuerda el orden que te indico en la sección de **Consideraciones**:

 

 

8. Al final, damos Enter y obtendremos el resultado:

 



Eso es todo. ¡Recuerda compartir si ha sido de gran ayuda!

 

El archivo se encuentra en mi repositorio de GitHub: Repositorio Distancia Geográfica. O si quieres descargarlo directamente haz click aqui

Autor: jmacalupur

Bach. en Ingeniería agrícola. Amante de las nuevas tecnologías. Estudiando actualmente en Platzi.

10 opiniones en “Calcula la Distancia Entre dos Coordenadas Geográficas en Excel con una Función”

    1. Hola, ¿Podrías dar un poco más de detalle? Creo que con la herramienta intersection es suficiente, por lo menos en ArcMap. En el caso de QGIS, una opción sería, dentro de la barra de la sección Vector > Analysis Tools > Points in Poylgon.

  1. hay algunas inexactitudes: por ejemplo: la varible b: te propongo el siguiente codigo:
    Function DistanciaGeografica(LatitudInicio, LongitudInicio, LatitudFin, LongitudFin) As Double

    Dim DiferenciaLatitud As Double
    Dim DiferenciaLongitud As Double
    Dim R As Double
    Const vConst = 3.14 / 180
    Const RadioTierra4 = 6372.795477598

    DiferenciaLatitud = LatitudInicio – LatitudFin
    DiferenciaLongitud = LongitudInicio – LongitudFin

    R = Sin(DiferenciaLatitud * vConst / 2) ^ 2 + Cos(LatitudInicio * vConst) * Cos(LatitudFin * vConst) * Sin(DiferenciaLongitud * vConst / 2) ^ 2
    R = 2 * WorksheetFunction.Asin(Sqr(R))
    DistanciaGeografica = R * RadioTierra4 * 1000

    End Function

  2. Hola, gracias, hasta el momento me está funcionando bien, sin embargo quiero hacer algo más.

    Tengo una latitud y una longitud que quiero comparar con una lista predefinida de coordenadas, lo que quiero es poder comparar las coordenadas iniciales con las de la lista y con eso sabría cual es la ubicación más cercana del listado, hay forma de hacerlo práctico?

    Gracias!

    1. Hola Antonio, lo que haría sería calcular la distancia de cada uno, en una nueva columna (Al lado de la lista predefinida por ejemplo) y luego en otra celda, colocar la función MIN (Mínimo) a fin de poder determinar cuál es la distancia menor. Posterior a ello, entiendo que las distancia menor es un indicador de búsqueda, haría un BUSCARX (Si tienes Office 2019 o 365) o BUSCARV, para que me muestre las coordenadas de la lista predefinida.

      Ten en cuenta que puede ser que tengas distancias iguales en más de una coordenada predefinida, con lo cual es preciso tener un contador de valores iguales a la mínima distancia, así puedes ver si tienes más de una coordenada de tu lista.

      ¡Espero haberte ayudado!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *


El periodo de verificación de reCAPTCHA ha caducado. Por favor, recarga la página.