Je veux créer une carte en utilisant ggmap. Je veux montrer l'emplacement de certains points, en commençant par un dataframe avec les coordonnées UTM. Cependant, je me retrouve toujours avec le message d'erreur: 'Erreur: ggplot2 ne sait pas comment traiter les données de la classe SpatialPointsDataFrame'. Aide est très appriciated ... o_0ggmap: 'Erreur: ggplot2 ne sait pas comment traiter les données de la classe SpatialPointsDataFrame'
Voici mon exemple:
#packages
library(rgeos)
library(maptools)
library(rgdal)
library(sp)
library(ggmap)
#create data frame with UTM coordinates
Point_ID <- c(1,2)
Easting <- c(519769,518250)
Northing <- c(5767155,5766640)
df <- data.frame(Point_ID, Easting, Northing)
#set spatial coordinates to create a Spatial object
myvars <- c("Easting","Northing")
coords <- df[myvars]
sp = SpatialPoints(coords)
spdf = SpatialPointsDataFrame(sp, df)
#define the projection (UTM coordinates zone 30)
proj4string(spdf)=CRS("++proj=utm +zone=30")
#transformed to geographic coordinates (latitude/longitude)
spdf<- spTransform(spdf, CRS("+proj=longlat +datum=WGS84"))
#create map
myLocation <- "Hereford"
myMap <- get_map(location = myLocation, zoom=16, maptype= "satellite")
ggmap(myMap)+
geom_point(aes(x = lon, y = lat), data = spdf,
alpha = .5, color="darkred", size = 3)
#Error: ggplot2 doesn't know how to deal with data of class SpatialPointsDataFrame