相关疑难解决方法(0)

如何使用R中的Leaflet将两个坐标与一条线连接起来

我试图用宣传单封装中的R画一个放大器和连接给出下表中的经度和纬度信息的标记.


    | Observation | InitialLat | InitialLong | NewLat    | NewLong   |
    |-------------|------------|-------------|-----------|-----------|
    | A           | 62.469722  | 6.187194    | 51.4749   | -0.221619 |
    | B           | 48.0975    | 16.3108     | 51.4882   | -0.302621 |
    | C           | 36.84      | -2.435278   | 50.861822 | -0.083278 |
    | D           | 50.834194  | 4.298361    | 54.9756   | -1.62179  |
    | E           | 50.834194  | 4.298361    | 54.9756   | -1.62179  |
    | F           | 50.834194  | 4.298361    | 51.4882   | -0.302621 |
    | …

r leaflet r-leaflet

19
推荐指数
2
解决办法
2万
查看次数

计算数据帧中两个长纬度坐标之间的距离

我想计算几个 GPS 点之间的距离。我试过

distm(c(lon1,lat1), c(lon2,lat2), fun = distHaversine)
Run Code Online (Sandbox Code Playgroud)

这仅适用于一点,但不适用于我的数据框中的列。

所以我按照这里的建议尝试:

计算 2 lat longs 之间的距离

但是对于这两个计算,我确实得到了不同的结果:

df <- read.table(sep=",", col.names=c("lat1", "lon1", "lat2", "lon2"),text="
7.348687,53.36575,7.348940,53.36507 
7.348940, 53.36507,7.350939,53.36484")


# as recommended in the link above
distHaversine(df[,2:1], df[,4:3])

[1]  80.18433 223.97181

# with distm
distm(c(7.348687,53.36575), c(7.348940,53.36507), fun = distHaversine)

         [,1]
[1,] 77.54033

distm(c(7.348940, 53.36507), c(7.350939,53.36484), fun = distHaversine)

         [,1]
 [1,] 135.2317
Run Code Online (Sandbox Code Playgroud)

那么如何计算数据帧列中两个 GPS 点之间的正确距离(即 distm(c(lon1,lat1), c(lon2,lat2), fun = distHaversine))?我仔细检查了这么远的距离,我知道我通过这种方式获得了正确的距离。

提前致谢。

r distance

3
推荐指数
2
解决办法
1万
查看次数

标签 统计

r ×2

distance ×1

leaflet ×1

r-leaflet ×1