如何在R中使用空间多边形数据框将多边形绘制到Google地图上?

时间:2016-11-27 04:30:43

标签: r google-maps ggmap

我正在使用spdep包中的奥克兰数据集并使用ggmap和ggplot2我试图将多边形绘制到奥克兰的谷歌地图上,但是我可以检索奥克兰的谷歌地图而没有问题,但是绘制多边形无论我尝试哪种方式,似乎都没有工作。它与我的坐标是Northing和Easting格式有关,因为它们不符合奥克兰的坐标。

花了很多时间试图解决这个问题并查看示例,但无济于事。

这是我正在使用的代码(应该可以重现而不需要外部导入):

## Load Package
library(maptools, quietly = T)
library(spdep   , quietly = T)

## Load auckland.nb
example(auckland)
row.names(auckland@data) = 1:nrow(auckland@data)
auck.df = auckland@data     

## Here is a basic plot that I would like to project onto my google map
par(mar=rep(0,4))
plot(auckland)
text(auck.df[,1],auck.df[,2],labels = 1:nrow(auck.df),cex=.6)

## Here is my attempt at that projection
library(ggmap  , quietly = T)
library(ggplot2, quietly = T)
library(rgdal  , quietly = T)
library(RgoogleMaps , quietly = T)

myLocation = "auckland"
myMap <- get_map(location=myLocation, source="google", maptype="satellite", crop=FALSE)

data <- fortify(auckland)

ggmap(myMap, zoom = 10, maptype = 'satellite') +
geom_polygon(aes(x = long, y = lat, group = group), data = data,
colour = 'black', fill = 'black', alpha = .4, size = .3)

我认为这是坐标问题,但我不知道如何正确转换它们。 Fortify将奥克兰的标题从Northing和Easting改为Lat / Long,但这似乎并不奏效 - 我已经尝试过很多小时,正如我所说的那样,我非常感谢社区的任何帮助。

0 个答案:

没有答案