私は複数のポイントセットを持っています(別の年〜20年)Rパッケージを使用してポイントからポリゴンを作成する方法は?
私は、r個の空間パッケージを使用して各ポイントのセットに対してthiessenポリゴンを生成したいと思います。
私は、これはGISを使用して行うことができます知っているが、私はバッチ処理を必要とRの中で何かが
参考になります。
私は複数のポイントセットを持っています(別の年〜20年)Rパッケージを使用してポイントからポリゴンを作成する方法は?
私は、r個の空間パッケージを使用して各ポイントのセットに対してthiessenポリゴンを生成したいと思います。
私は、これはGISを使用して行うことができます知っているが、私はバッチ処理を必要とRの中で何かが
参考になります。
あなたはデータにアクセスできませんでしたが、ここではCarson Farmerがhis blogに記載したアプローチを使用して、世界の都市を表すポイントの例です。うまくいけば、それはあなたが始めるよ...
# Carson's Voronoi polygons function
voronoipolygons <- function(x) {
require(deldir)
require(sp)
if (.hasSlot(x, 'coords')) {
crds <- [email protected]
} else crds <- x
z <- deldir(crds[,1], crds[,2])
w <- tile.list(z)
polys <- vector(mode='list', length=length(w))
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(x=crds[,1],
y=crds[,2], row.names=sapply(slot(SP, 'polygons'),
function(x) slot(x, 'ID'))))
}
例1:入力がSpatialPointsDataFrameです:
# Read in a point shapefile to be converted to a Voronoi diagram
library(rgdal)
dsn <- system.file("vectors", package = "rgdal")[1]
cities <- readOGR(dsn=dsn, layer="cities")
v <- voronoipolygons(cities)
plot(v)
例2:入力はxのベクトルで、Y座標:
dat <- data.frame(x=runif(100), y=runif(100))
v2 <- voronoipolygons(dat)
plot(v2)
jbaumsによって示されるように
同じ原理が、より簡単なコード:
library(dismo)
library(rgdal)
cities <- shapefile(file.path(system.file("vectors", package = "rgdal")[1], "cities"))
v <- voronoi(cities)
plot(v)
'install.packagesは( "SOS")。ライブラリ( "sos"); findFn( "thiessen") ' –
私はArcGISを同じものに使用しています... – user2760