gpt4 book ai didi

r - 如何在传单 R 中正确绘制线条?

转载 作者:行者123 更新时间:2023-12-04 07:51:08 24 4
gpt4 key购买 nike

我正在使用传单包在 R 中制作 map 。该 map 基本上绘制了一条从中国到美国的线。但它并没有以我期望的方式出现。下面是 map 的图像。 enter image description here

所以你可以看到中国和美国之间的一条线,但它是跨越陆地区域,而不是直接的海上 channel 。

生成 map 的代码如下:

library(leaflet)
structure(list(lat = c(21.4982662200928, 25.3100662231445, 25.8857326507568,
33.5610008239746, 33.9683494567871, 46.2030830383301), lng = c(121.90234375,
131.111709594727, 133.618789672852, 159.100082397461, 165.190643310547,
-123.813652038574), row_rank = structure(1:6, .Label = c("1",
"2", "3", "4", "5", "6"), class = "factor")), .Names = c("lat",
"lng", "row_rank"), row.names = c(NA, -6L), class = "data.frame")

map <- leaflet() %>% addTiles(urlTemplate ="http://server.arcgisonline.com/ArcGIS/rest/services/Specialty/DeLorme_World_Base_Map/MapServer/tile/{z}/{y}/{x}") #"http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"
map <- map %>%
addCircleMarkers(data=df1, radius = 8, color = 'red', fill = TRUE, label = ~as.character(row_rank), labelOptions=c(noHide=TRUE)) %>%
addPolylines(data=df1, lng = ~lng, lat = ~lat)
map

我该如何纠正?

最佳答案

这可能有点不寻常,但我在第 6 个点的经度上增加了 360 度,所以 -123.813652038574 + 360 = 236.813652038574,并在数据框中更改了该值,它绘制了我想象的您正在寻找的内容 -一条直接的海上航线,而不是跨大陆折返。

library(leaflet)
df1 <- structure(list(lat = c(21.4982662200928, 25.3100662231445, 25.8857326507568,
33.5610008239746, 33.9683494567871, 46.2030830383301), lng = c(121.90234375,
131.111709594727, 133.618789672852, 159.100082397461, 165.190643310547,
-123.813652038574 + 360), row_rank = structure(1:6, .Label = c("1",
"2", "3", "4", "5", "6"), class = "factor")), .Names = c("lat",
"lng", "row_rank"), row.names = c(NA, -6L), class = "data.frame")

map <- leaflet() %>% addTiles() #"http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"
map <- map %>%
addCircleMarkers(data=df1, radius = 8, color = 'red', fill = TRUE, label = ~as.character(row_rank), labelOptions=c(noHide=TRUE)) %>%
addPolylines(data=df1, lng = ~lng, lat = ~lat)
map

关于r - 如何在传单 R 中正确绘制线条?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38874378/

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