如何在不使用 Google 地图(图像)的情况下在地图上绘制数据?
How to plot data on a map without using Google map (image)?
我有一个变量名为 "Latitude"、"Longitude"、"PM10 concentration" 的 csv 文件。您可以下载数据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)
我不明白接下来我该做什么。
这是一个例子:
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))
我有一个变量名为 "Latitude"、"Longitude"、"PM10 concentration" 的 csv 文件。您可以下载数据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)
我不明白接下来我该做什么。
这是一个例子:
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))