我正在通过tmap包在交互式地图上绘制一些飞行轨迹。我想在飞行轨道上同时创建5海里的自助餐。
但是当这些点位于180°子午线周围时,该线将通过不同的方向连接。
如何将交互式地图重新定位到合适的中心并避免错误链接?
我的飞行数据向西飞行,有些飞往东部。 现在正向西航行的航班正确绘制如下。
我希望R总能用正确的中心绘制地图。
示例数据CSV在这里
我的代码如下
library(tmap)
library(rgeos)
library(sp)
temp<-read.csv("demo1.csv")
sp.data <- SpatialPointsDataFrame(temp[,c("LONGITUDE","LATITUDE")],temp,proj4string=CRS("+init=epsg:4326"))
tmap_mode("view")
ls1 <- Lines(Line(temp[,c("LONGITUDE","LATITUDE")]),ID=as.character("demo1"))
OFPtrack <- SpatialLines(list(ls1),proj4string=CRS("+init=epsg:4326"))
OFPtrack.moll <- sp::spTransform(OFPtrack, CRSobj = "+proj=moll")
#create buffer polygon
line_buffers <- rgeos::gBuffer(OFPtrack.moll,width=9260,byid=T)
#9260meters=5 Nautical Miles
m <- tm_shape(OFPtrack)+tm_lines()+
tm_shape(line_buffers)+tm_borders(alpha=0.4)+tm_fill(col="grey",alpha=0.4)+
tm_shape(sp.data)+tm_dots(col="grey",border.lwd=0.1)