问题描述
我想使用 Formal class SpatialGrid
绘制 ggplot2
。
我可以使用以下代码创建一个网格,该网格可以在基础 R 或 spplot
中绘制,但我想在 ggplot 中绘制。
以下代码借鉴自here
# Load libraries
library(sp)
library(raster)
# Projection
wgs.84 <- CRS("+proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0")
# Load data
x <- c(76.82973,76.82972,76.82969,76.83076,76.83075,76.83071,76.83129,76.83126,76.83125)
y <- c(28.26734,28.26644,28.26508,28.26778,28.26733,28.26507,28.26912,28.26732,28.26687)
z <- c(-56.7879,-58.22462,-58.4211,-55.75333,-58.55153,-56.38619,-56.11011,-58.17415,-59.77212)
# Create data frame
dataset <- data.frame("LONGITUDE" = x,"LATITUDE" = y,"VALUES" = z)
# Create SpatialPointsDataFrame object
datasetSP <- SpatialPointsDataFrame(coords = dataset[,c(1,2)],data = data.frame("id" = 1:nrow(dataset),"values" = dataset$VALUES),proj4string = wgs.84)
# Extent
extentDatasetSP <-extent(datasetSP)
# Make grid options
# Cell size (map units)
xCellSizeGrid <- 0.003
yCellSizeGrid <- 0.003
# Grid
grid <- GridTopology(cellcentre.offset = c(extentDatasetSP@xmin,extentDatasetSP@ymin),cellsize = c(xCellSizeGrid,yCellSizeGrid),cells.dim = c(15,15))
# Plot grid and points
plot(datasetSP,xlab = "Longitude",ylab = "Latitude",pch = 19)
plot(SpatialGrid(grid = grid),add = TRUE)
box()
这段代码确实有效,它确实允许我使用定义的网格对数据进行子集化
但我只是希望能够在 ggplot2 中绘制网格(和点)。
我已经查看了所有内容,但大多数解决方案都提供基于 R 或其他绘图包的绘图。
干杯!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)