gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 12:31:50 25 4
gpt4 key购买 nike

我正在尝试使用 R 中的 Leaflet 包来绘制放大器并连接下表中给出的纬度和经度信息的标记。

|观察 |初始纬度 |初始长 |新纬度 |新龙 |
|-------------|------------|-------------|-------- ---|-----------|
|一个 | 62.469722 | 6.187194 | 51.4749 | -0.221619 |
|乙| 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 |
|克| 47.460427 | -0.530804 | 51.44 | -2.62021 |
| H | 51.5549 | -0.108436 | 53.4281 | -1.36172 |
|我 | 51.5549 | -0.108436 | 52.9399 | -1.13258 |
| Ĵ | 51.5549 | -0.108436 | 51.889839 | -0.193608 |
| | 51.5549 | -0.108436 | 52.0544 | 1.14554 |

我想从 InitialLat 中的坐标给定的初始点画线和 InitialLong列到 NewLat 给出的终点和 NewLong列。

这是我当前的 R 代码,它只在 map 上绘制标记。

图书馆(传单)
map3 = 传单(数据)%>% addTiles()
map3 %>% addMarkers(~InitialLong,~InitialLat, popup=~Observation)

最佳答案

这是使用 leaflet 的另一种方法包裹。出于演示的目的,我只是在您的数据中提取了两个数据点。

mydf <- data.frame(Observation = c("A", "B"),
InitialLat = c(62.469722,48.0975),
InitialLong = c(6.187194, 16.3108),
NewLat = c(51.4749, 51.4882),
NewLong = c(-0.221619, -0.302621),
stringsAsFactors = FALSE)

我更改了 mydf 的格式并为传单创建一个新的数据框。您可以通过各种方式 reshape 数据。
mydf2 <- data.frame(group = c("A", "B"),
lat = c(mydf$InitialLat, mydf$NewLat),
long = c(mydf$InitialLong, mydf$NewLong))

# group lat long
#1 A 62.46972 6.187194
#2 B 48.09750 16.310800
#3 A 51.47490 -0.221619
#4 B 51.48820 -0.302621

library(leaflet)
library(magrittr)

leaflet()%>%
addTiles() %>%
addPolylines(data = mydf2, lng = ~long, lat = ~lat, group = ~group)

我修剪了我得到的交互式 map 。请看下面的 map 。尽管在此图像中两条线相连,但它们是分开的。如果你运行代码并放大,你会看到这两行是分开的。

enter image description here

关于r - 如何使用 R 中的 Leaflet 将两个坐标与一条线连接起来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32275213/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com