2016-06-25 5 views
0

私は長いルートのJSONファイルを持っています。ファイルには、このルートの緯度と経度が含まれています。チラシマップ上のルートの異なるセクションにどのような色がありますか? [R Studio]

私は、データフレームでコンパイルした一連の基準に基づいて、このルートのさまざまなセクションをマークしようとしています。しかし、私は問題に直面しています:

1)どのように私はこの長い緯度と経度のセグメントを分割しますか? (私は多くの経路のバリエーションがあるため、これを手動で行うことはできません)

2)どのように各セグメントに可変色を割り当てるのですか?

私は(その対話性のための)リーフレットマップを使いたいと思っていますが、私はより良い提案をしています。

答えて

0

空間データを扱う場合、空間クラスを知ることができます。私は

ここで再現可能な例だRにデータフレームとしてあなたのJSONファイルを読むためにあなたが鍬を知っていると仮定しています:基本的に

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 Galleryを見てください。

注::この回答は、投影されていない地理座標(緯度経度)でのみ有効です。

関連する問題