2017-06-29 3 views
0

J'ai lu la documentation, mais je n'ai obtenu aucune réponse à cette question.Création et affichage d'un raster pour le dépliant dans R

J'ai une trame de données avec trois colonnes. Les deux premiers sont des coordonnées gps, [telles que 42.06, -70.19 pour (Provincetown, Massachusetts, USA)], et la troisième colonne est une valeur pour chacune de ces coordonnées.

Ce cadre de données est appelée forRaster

Voici ce que j'ai jusqu'à présent:

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

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

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

Mais je continue à obtenir cette erreur après l'projectRasterForLeaflet appel: Error in raster::projectRaster(x, raster::projectExtent(x, crs = sp::CRS(epsg3857))) : input projection is NA

Je trouve la documentation dépliant pas tout à fait simple, et je me demande si quelqu'un peut aider. Si j'ai besoin de faire différemment le raster, je suis heureux de le faire. Merci.

Répondre

0

Je l'ai compris!

# 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")