如何在不使用谷歌地图(图像)的情况下在地图上绘制数据?

时间:2015-07-10 09:40:07

标签: r ggplot2 spatial rgdal

我有一个csv文件,变量名称为“Latitude”,“Longitude”,“PM10浓度”。您可以下载数据here。我想根据他们的纬度和经度在韩国地图上绘制PM10数据。此外,我想将它们显示为具有不同大小和颜色的气泡。

Following this example我已在Google地图上绘制了PM10数据。但现在我想在不使用Google地图的情况下这样做,而不是通过创建空间对象或以任何其他方式。

我尝试编写一些代码,但我已经下载了韩国管理区域(GADM)的空间数据。但我不确定这种做法是对还是错。

library(rgdal)
library(ggplot2)
library(maptools)

map<-readOGR('D:/BACKUP/R/GSTAT/R File/shape file korea map',layer ='KOR_adm2')
summary(kmap)

EPSG<-make_EPSG()
EPSG[grepl("WGS 84$", EPSG$note), ]

kmap84<-spTransform(kmap, CRS("+init=epsg:4326"))
kmaps<-fortify(kmap84)

我不明白接下来该怎么办。

1 个答案:

答案 0 :(得分:3)

以下是一个例子:

library(raster)
library(ggplot2)
download.file("https://docs.google.com/uc?id=0ByY3OAw62EShakxJZkplOXZ0RGM&export=download", tf <- tempfile(fileext = ".csv"))
df <- read.csv(tf, row.names = 1)
skorea <- getData("GADM", country = "South Korea", level = 2)
skorea <- fortify(skorea)
ggplot() +  
  geom_map(data = skorea, map = skorea, aes(x = long, y = lat, map_id = id, group = group), 
           fill = NA, colour = "black") + 
  geom_point(data = df, aes(x = LON, y = LAT, size = PM10), colour = "red", alpha = .5) + 
  scale_size(range = c(1, 5))

enter image description here