如何不同的颜色,以单张地图上的路线的不同部分? [R工作室](How different col

2019-09-27 15:33发布

我有很长的路线的JSON文件。 该文件包含lat和长的这条路线。

我想,以纪念基于一套标准(这是我在一个数据帧已经编译)这条路线的不同部分。 不过,我面临的问题:

1)如何打破这种长期设置的纬度和长成段? (因为我有很多途径的变化不能手动做到这一点)

2)如何分配可变颜色各段?

我打算用单张地图(它的交互性),但我接受更好的建议。

Answer 1:

当处理空间数据,它有助于了解空间类! 我假设你知道锄读你的JSON文件作为数据帧为R.

这里有一个重复的例子:

library(mapview)
library(sp)

### create some random data with coordinates from (data("breweries91", package = "mapview"))
set.seed(123)
dat <- data.frame(val = as.integer(rnorm(32, 10, 2)),
                  lon = coordinates(breweries91)[, 1],
                  lat = coordinates(breweries91)[, 2])

### state condition for creation of lines
cond <- c(8, 9, 10)

### loop through conditions and create a SpatialLines object for each condition
lns <- lapply(seq(cond), function(i) {

  ind <- dat$val == cond[i]
  sub_dat <- dat[ind, ]

  coords <- cbind(sub_dat$lon, sub_dat$lat)
  ln <- coords2Lines(coords, ID = as.character(cond[i]))

  proj4string(ln) <- "+init=epsg:4326"
  return(ln)
})

### view lines with mapview
mapview(lns[[1]], col = "darkred") +
  mapview(lns[[2]], col = "forestgreen") +
  mapview(lns[[3]], col = "cornflowerblue")

从本质上讲,我们在这里做的是建立一个有效的SP :: SpatialLines对象为我们指定每个条件。 在我们情节那些使用MapView的给你提到的交互性。 空间对象的绘图可以以多种方式( 基地格子 ,GGPLOT2, 传单 ,...)来实现,以便有很多选项可供选择。 看看SP画廊一个不错的教程。

注意 :这个答案是仅适用于非突出的地理坐标(即经/纬度)!



文章来源: How different colors to different sections of a route on leaflet map? [R Studio]