Calculate distance between 2 lat longs

前端 未结 2 1358
走了就别回头了
走了就别回头了 2021-01-23 18:51

I have 4 columns in my data frame lat1,long1...lat2,long2. I need to calculate distance between these pairs. I am trying to use Distm function.

When I try to use

相关标签:
2条回答
  • 2021-01-23 19:11

    Please try the below Script Code:

     function getDistanceFromLatLonInKm(lat1,lon1,lat2,lon2) {
     var R = 6371; // Radius of the earth in km
     var dLat = deg2rad(lat2-lat1);  // deg2rad below
     var dLon = deg2rad(lon2-lon1); 
     var a = 
     Math.sin(dLat/2) * Math.sin(dLat/2) +
     Math.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2)) * 
     Math.sin(dLon/2) * Math.sin(dLon/2)
     ; 
     var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); 
     var d = R * c; // Distance in km
     return d;
     }
    
    function deg2rad(deg) {
     return deg * (Math.PI/180)
    }
    

    For more details follow the below link:

    Calculate distance between two latitude-longitude points? (Haversine formula)

    0 讨论(0)
  • 2021-01-23 19:23

    Try

    df <- read.table(sep=",", col.names=c("lat1", "lon1", "lat2", "lon2"), text="
    52,4,52,13 
    39,116,52,13")
    library(geosphere)
    distHaversine(df[, 2:1], df[, 4:3]) / 1000 # Haversine distance in km
    
    0 讨论(0)
提交回复
热议问题