栅格化 R 中的空间多边形,给出具有 NA 值的栅格
Rasterize spatialpolygons in R giving raster with NA values
我在将此空间多边形数据帧转换为栅格时遇到问题。当我进行转换时,栅格的值是 NA。如下图:
DL3
[1]
class : SpatialPolygonsDataFrame
features : 126
extent : -15.04001, 46.1036, 3.759985, 31.71804 (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +datum=WGS84 +towgs84=0,0,0 +ellps=WGS84
variables : 1
names : LFRP
min values : 14
max values : 335.2
这是我栅格化它的方式:
##TO CONVERT TO RASTER
FunR<-function(r){
ext<-raster(extent(r))
crs(ext)<-crs(r)
D<-rasterize(r,ext,field=1,update=T)
D}
DL4<-lapply(DL3,FunR)
DL4
[1]
class : RasterLayer
dimensions : 45, 40, 1800 (nrow, ncol, ncell)
resolution : 1.52859, 0.6212901 (x, y)
extent : -15.04001, 46.1036, 3.759985, 31.71804 (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +datum=WGS84 +towgs84=0,0,0 +ellps=WGS84
data source : in memory
names : layer
values : NA, NA (min, max)
我做错了什么?我需要帮助确保数据框中的值反映在栅格中的方法。
原理有效,如下图
library(raster)
SPP <- shapefile(system.file("external/lux.shp", package="raster"))
r <- raster(SPP, ncol=40, nrow=45)
SPP2 <- rasterize(SPP, r, "ID_1")
由于这对您不起作用,我假设您的多边形相对于栅格像元大小非常小,因此 none 个像元被覆盖。您可以尝试使用更小的网格单元吗?如果多边形确实那么小,使用它们的质心 (coordinates(SPP)
) 并将它们栅格化(作为点)可能更有意义。
我在将此空间多边形数据帧转换为栅格时遇到问题。当我进行转换时,栅格的值是 NA。如下图:
DL3
[1]
class : SpatialPolygonsDataFrame
features : 126
extent : -15.04001, 46.1036, 3.759985, 31.71804 (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +datum=WGS84 +towgs84=0,0,0 +ellps=WGS84
variables : 1
names : LFRP
min values : 14
max values : 335.2
这是我栅格化它的方式:
##TO CONVERT TO RASTER
FunR<-function(r){
ext<-raster(extent(r))
crs(ext)<-crs(r)
D<-rasterize(r,ext,field=1,update=T)
D}
DL4<-lapply(DL3,FunR)
DL4
[1]
class : RasterLayer
dimensions : 45, 40, 1800 (nrow, ncol, ncell)
resolution : 1.52859, 0.6212901 (x, y)
extent : -15.04001, 46.1036, 3.759985, 31.71804 (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +datum=WGS84 +towgs84=0,0,0 +ellps=WGS84
data source : in memory
names : layer
values : NA, NA (min, max)
我做错了什么?我需要帮助确保数据框中的值反映在栅格中的方法。
原理有效,如下图
library(raster)
SPP <- shapefile(system.file("external/lux.shp", package="raster"))
r <- raster(SPP, ncol=40, nrow=45)
SPP2 <- rasterize(SPP, r, "ID_1")
由于这对您不起作用,我假设您的多边形相对于栅格像元大小非常小,因此 none 个像元被覆盖。您可以尝试使用更小的网格单元吗?如果多边形确实那么小,使用它们的质心 (coordinates(SPP)
) 并将它们栅格化(作为点)可能更有意义。