在 ggplot2 中绘制“正式类 SpatialGrid”

问题描述

我想使用 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 (将#修改为@)