Sobre el autor

Roy Rojas

Con más de 20 años de experiencia en programación, experto en lenguajes .NET, VB, C#, ASP.NET, Xamarin, XCode, DBA en SQL Server. Creador de dotnetcr.com, sitio web para programadores en español. royrojas.com | dotnetcr.com | GitHub

8 Comentarios

  1. 1

    Rodrigo

    Muy buenas,

    tengo un problema que aunque creo que es simple de resolver no logro dar con ello.

    Estoy aplicando la fórmula en línea recta sobre plano (distancia = 100* raiz((lat1-lat2)^2+(lon1-lon2)^2) y para ciertos casos me da una distancia

    mayor que la distancia por carretera según google maps, lo cual no tiene ningún sentido. Concretamente expongo un ejemplo:

    Distancia entre Zamora y Soria según Google maps: 305 km.

    Coordenadas de los dos puntos (las he revisado a propósito):

    Latitud de Zamora: 41,50368
    Longitud de Zamora: -5,743778
    Latitud de Soria:41,7636
    Longitud de Soria: -2,464921

    Distancia según la fórmula anterior: 328 km

    ¿Podrían ayudarme?

    Ya de paso comento que tambieén lo estoy comparando con la fórmula de Haversine y hay casos en los que también dicha fórmula me sale una distancia

    mayor que la distancia por carretera, e incluso casos en los que la distancia de Haversine es menor que la distancia sobre un plano, cuando debido

    a la curvatura de la tierra debería de ser mayor.

    Muchas gracias de antemano.

    Saludos

    Responder
    1. 1.1

      Roy Rojas

      Hola Rodrigo, acabo de probar las coordenadas y me da una distancia de 274.31 con la formula que he publicado. Muy similar a la de Google Maps en linea recta. Me parece que algo debes de estar haciendo mal que el resultado te está dando distinto.

      SELECT dbo.dn_fn_CalculaDistancia(41.50368,-5.743778,41.7636,-2.464921,’M’)
      Resultado: 274317.48 metros

      SELECT dbo.dn_fn_CalculaDistancia(41.50368,-5.743778,41.7636,-2.464921,’K’)
      Resultado: 274.31 kilómetros

      Responder
    2. 1.2

      Miguel

      Rodrigo,

      La formula que tu estas aplicando es sobre dos puntos en un plano cartesiano.

      La formula de Roy, es sobre “la tierra” o elipsoide.

      Saludos.

      Responder
      1. 1.2.1
        1. 1.2.1.1

          junior

          en que formato te da la respuesta por default, metros, kilometros, millas, radianes??? no esta claro…

          Responder
          1. 1.2.1.1.1

            Roy Rojas

            El default debe ser Kilómetros, pero el parámetro de unidad métrica es requerido por lo que siempre se debe indicar si se quiere en Kilómetros o Metros

  2. 2

    Jesus

    Muchas gracias, me ha sido de bastante ayuda

    Responder
    1. 2.1

      Roy Rojas

      Que bueno que el articulo te sirvió

      Responder

Deja un Comentario

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

2015 Powered by DotNetcr.com