1

我正在通过 tmap 包在交互式地图上绘制一些飞行轨迹。我想同时在飞行轨迹周围创建 5 海里的自助餐。

但是当这些点位于 180° 子午线附近时,这条线将通过不同的方向连接起来。

地图结果样本在这里

如何将交互式地图重新定位到合适的中心并避免错误链接轨道?

我有向西飞行的飞行数据,也有一些向东飞行的数据。现在向西飞行的航班正确绘制如下。

地图结果样本 2

我希望 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)
4

0 回答 0