【问题标题】:Convert a column value(s) in SpatialpolygonDataframe into raster image将 SpatialpolygonsDataframe 中的列值)转换为光栅图像
【发布时间】:2021-06-04 11:47:26
【问题描述】:

我需要帮助将空间多边形中的变量或列值转换为光栅图像。我有行政单位的空间数据以及每个单位的收入(平均)信息。我想将此信息转换为栅格以供进一步分析。

我尝试了下面的代码,但没有成功。

r <- raster(ncol=5,nrow=15) 
r.inc <- rasterize(DK,r,field=DK@data[,2],fun=mean)

其中 SP 是存储在 SpatialPolygonDataframe 的第 2 列中的空间多边形和每个空间单元的平均收入。任何人都可以提供如何栅格化感兴趣列中的值的函数或代码吗?空间多边形数据框的示例(已创建)和我对数据进行栅格化的尝试如下

suppressPackageStartupMessages(library(tidyverse))
url = "https://api.dataforsyningen.dk/landsdele?format=geojson"
geofile = tempfile()
download.file(url, geofile)
DK <- rgdal::readOGR(geofile)
DK@data = subset(DK@data, select = c(navn))
DK@data$inc = runif(11, min=5000, max=80000)
require(raster)
r <- raster(ncol=5,nrow=15) 
r.inc <- rasterize(DK,r,field=DK@data[,2],fun=mean)
plot(r.inc)

谢谢。

致谢:创建示例 SPDF 的代码来自 Mikkel Freltoft Krogsholm(链接如下)。

https://www.linkedin.com/pulse/easy-maps-denmark-r-mikkel-freltoft-krogsholm/?trk=read_related_article-card_title

【问题讨论】:

  • 请发布一个包含数据的完全可重现的示例。这将增加获得答案的机会。
  • 感谢 Andrew,我已编辑问题以包含示例数据和我的代码。

标签: r


【解决方案1】:

这里有一些东西可以制作光栅。

library(tidyverse)
library(rgdal)
library(raster)
url <- "https://api.dataforsyningen.dk/landsdele?format=geojson"
geofile <- tempfile()
download.file(url, geofile)
DK <- rgdal::readOGR(geofile)
r_dk <- raster(DK, nrows = 100, ncols = 100)      # Make a raster of the same size as the spatial polygon with many cells
DK$inc <- runif(nrow(DK), min=5000, max=80000)    # Add some fake income data
rr <- rasterize(DK, r_dk, field='inc')            # Rasterize the polygon into the raster - fun = 'mean' won't make any difference
                                                                                             
plot(rr)

原始栅格是整个地球的大小,所以我认为丹麦被平均为一无所有。我通过根据具有 100x100 像元的 DK 空间多边形的范围制作一个空栅格来解决此问题。我还简化了代码。通常,如果您发现自己使用@ 进行空间数据操作,则表明可能有更简单的方法。因为光栅的分辨率远大于每个DK区域的大小,取平均值并没有太大的区别。

【讨论】:

  • 谢谢,安德鲁。另外,非常感谢您有见地的解释。
猜你喜欢
  • 2020-12-27
  • 2020-05-24
  • 2012-10-05
  • 2014-11-20
  • 1970-01-01
  • 2019-12-14
  • 1970-01-01
  • 1970-01-01
  • 2020-01-05
相关资源
最近更新 更多