2017-06-29 3 views
0

私はこのドキュメントを読んできましたが、この質問ではどこにも行きませんでした。リーフレットのラスターを作成して表示するR

私は3つの列を持つデータフレームを持っています。最初の2つはgps座標です([Provincetown、Massachusetts、USA]の場合は42.06、-70.19など)、3番目の列はこれらの座標のそれぞれの値です。

library(raster) 
library(leaflet) 
library(rgdal) 

needsRaster = rasterFromXYZ(forRaster) 
plot(needsRaster) 
needsImage = image(needsRaster) 
needsLeafletRaster = projectRasterForLeaflet(needsImage) 

needsMap = leaflet() 
addRasterImage(needsMap, needsLeafletRaster) 
needsMap 

しかし、私はprojectRasterForLeaflet呼び出しの後に、このエラーを取得しておく::データフレームがforRaster

と呼ばれていること

は、ここで私がこれまで持っているものだ Error in raster::projectRaster(x, raster::projectExtent(x, crs = sp::CRS(epsg3857))) : input projection is NA

私はリーフレットのドキュメントを見つけます誰かが援助するかどうか疑問に思っています。ラスタを何らかの方法で別のものにする必要がある場合、私はそうすることを喜んでします。ありがとう。

答えて

0

私はそれを理解しました!

# Made a new data frame with lat, long, and the value 
df = data.frame(value = v, lng = y, lat = x) 

#Did this.... 
s = SpatialPixelsDataFrame(df[,c('lng', 'lat')], data = df) 
crs(s) = sp::CRS("+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs") 

r = raster(s) 

# Set up the colors 
val = as.numeric(c(0:max(df$value))) 
pal = colorNumeric(c("yellow", "orange", "red"), val, 
       na.color = "transparent") 

# Made the map 
leaflet() %>% addProviderTiles("CartoDB.Positron") %>% 
    addRasterImage(r, colors = pal, opacity = 0.5) %>% 
    addLegend(pal = pal, values = val, title = "Number of Needs") 
関連する問題