- にしたいがSpatialPointDataFrame OK
- からRにおけるボロノイテッセレーションを作成
- SpatialPolygonDataFrame OKを得るどのように私の元SpatialPointDataFrameの値によってそれを色付け??? 限り
: とここで更新:https://gis.stackexchange.com/questions/190917/r-voronoi-tesselation-from-long-lat-dataを 私は、次の、ボロノイテッセレーションを作成し、更新しました。
私は図書館(「dismo」)ことによってそれを色付けすることができます知っている:https://gis.stackexchange.com/questions/136542/r-function-for-thiessen-polygons
しかし、上記のボロノイ機能を使用して、私のvoronoipolygonsで、私は1つの変数のみ持っている:「ダミー」。しかし、変数 "z"でポリゴンの色付けをしたいのですが、これは私の.voroポリゴンには含まれていません。
voronoipolygons = function(layer) {
require(deldir)
crds = [email protected]
z = deldir(crds[,1], crds[,2])
w = tile.list(z)
polys = vector(mode='list', length=length(w))
require(sp)
for (i in seq(along=polys)) {
pcrds = cbind(w[[i]]$x, w[[i]]$y)
pcrds = rbind(pcrds, pcrds[1,])
polys[[i]] = Polygons(list(Polygon(pcrds)), ID=as.character(i))
}
SP = SpatialPolygons(polys)
voronoi = SpatialPolygonsDataFrame(SP, data=data.frame(dummy = seq(length(SP)),
row.names=sapply(slot(SP, 'polygons'),
function(x) slot(x, 'ID'))))
}
私の質問は:"z"
変数、または/および方法真上voronoipolygons()
機能に含めることで、私の.voro
ポリゴンを色付けする方法?値の順序が変更されているため、[email protected]
に変数"z"
を追加するだけではなりません。私のRスキルはまだ強くはありません..ありがとうございました!
ダミーデータ:
x <- c(32.5, 32.1, 33.5, 32.2, 33.0)
y <- c(-2.2, -3.3, -2.3, -2.9, -3.0)
z <- c(1, 2, 5, 8, 4)
# make df
df<-as.data.frame(cbind(x,y,z))
coordinates(df)<- ~ x + y #make SPDF
df.voro <- voronoipolygons(df) # calculated VORONOI
require('dismo')
spplot(df.voro, "dummy") # colorize Polygons
# add z variable to newly created data
[email protected]$z<-df$z ## !!! can't use this, because this change order of values in df !!!
spplot(df.voro, "z")