我有问题在R中绘制真实的地理范围像素。文件附带每日单一坐标和像素大小(区域)的列表。还有一个Z元素与此分开。数据结构看起来像这样:
X <- c(1,3,6,7)
Y <- c(3,2,7,8)
Z <- c(38,23,12,12)
Area <- c(32,23,45,67)
X和Y的经度和纬度为经度,而面积为平方公里。我使用以下方法轻松创建点要素:
library(sp)
A <- cbind(X,Y,Z,Area)
B <- SpatialPoints(A)
我使用区域值轻松绘制这些图,以确定用于绘图的“cex”。 Z列是强度,我使用这些值来确定颜色。如何使用R中每个点的面积创建空间多边形要素?我将使用这些点来创建网格栅格。
答案 0 :(得分:5)
这应该可以解决问题:
library(rgeos) ## for gBuffer()
library(raster) ## for bind()
ww <- sqrt(B$Area)/2 ## Widths of buffers needed to produce desired areas
pp <- list()
for(i in seq_along(B)) {
pp[i] <- gBuffer(B[i], width=ww[i], quadsegs=1, capStyle="SQUARE")
}
PP <- do.call(bind, pp)
## Check that it worked
plot(PP)
plot(B, add=TRUE)
text(B, labels=1:4, adj=c(-1,0), col="red")