2

この空間ポリゴン データ フレームをラスターに変換する際に問題が発生しています。変換を行うと、ラスターの値は 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)

私は間違って何をしている可能性がありますか? データフレームの値がラスターに反映されるようにする方法について助けが必要です。

4

1 に答える 1

3

以下に示すように、原理は機能します。

library(raster)
SPP <- shapefile(system.file("external/lux.shp", package="raster"))
r <- raster(SPP, ncol=40, nrow=45)    
SPP2 <- rasterize(SPP, r, "ID_1")

これはうまくいかないので、ラスター セルのサイズに比べてポリゴンが非常に小さく、どのセルも覆われていないと思います。はるかに小さいグリッドセルで試すことができますか? 実際にポリゴンがそれほど小さい場合は、それらの重心 ( coordinates(SPP)) を使用して、これらを (ポイントとして) ラスタライズする方が理にかなっています。

于 2015-07-10T04:40:44.360 に答える