我有很长的路线的JSON文件。 该文件包含lat和长的这条路线。
我想,以纪念基于一套标准(这是我在一个数据帧已经编译)这条路线的不同部分。 不过,我面临的问题:
1)如何打破这种长期设置的纬度和长成段? (因为我有很多途径的变化不能手动做到这一点)
2)如何分配可变颜色各段?
我打算用单张地图(它的交互性),但我接受更好的建议。
我有很长的路线的JSON文件。 该文件包含lat和长的这条路线。
我想,以纪念基于一套标准(这是我在一个数据帧已经编译)这条路线的不同部分。 不过,我面临的问题:
1)如何打破这种长期设置的纬度和长成段? (因为我有很多途径的变化不能手动做到这一点)
2)如何分配可变颜色各段?
我打算用单张地图(它的交互性),但我接受更好的建议。
当处理空间数据,它有助于了解空间类! 我假设你知道锄读你的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画廊一个不错的教程。
注意 :这个答案是仅适用于非突出的地理坐标(即经/纬度)!