2016-04-02 11 views
2

ggmapを使用してマップを作成したい。いくつかの点の位置を、UTM座標を持つデータフレームから始めたいと思っています。しかし、私はいつもエラーメッセージ「エラー:ggplot2はクラスSpatialPointsDataFrameのデータを扱う方法を知らない」というメッセージで終了します。 - あなたが与える2点のエッジから外れているggmap: 'エラー:ggplot2はSpatialPointsDataFrameクラスのデータを処理する方法を知らない'

#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 

答えて

5

がSpatialPointsDataFrame

ggmap(myMap)+ 
geom_point(aes(x = Easting, y = Northing), data = as.data.frame(coordinates(spdf)), 
     alpha = .5, color="darkred", size = 3) 

ノートからコーディネート抽出します。ヘルプは非常にここで

O_0は私の例です...にappriciatedされます地図。

関連する問題