0
是否可以計算SpatialLinesDataFrame中每個SpatialLines的面積?計算SpatialLinesDataFrame中每個SpatialLines的面積
我在尋找一種計算個體面積的方法以及總面積的平均值。
是否可以計算SpatialLinesDataFrame中每個SpatialLines的面積?計算SpatialLinesDataFrame中每個SpatialLines的面積
我在尋找一種計算個體面積的方法以及總面積的平均值。
這是一種方法。讓我們先創造一些虛擬的數據:
library(sp)
l1 <- Lines(list(Line(cbind(c(1, 1, 2, 2, 1), c(0, 1, 1, 0, 0)))), "1")
l2 <- Lines(list(Line(cbind(c(1, 1, 2, 2, 1), c(0, 5, 5, 0, 0)))), "2")
ls <- SpatialLines(list(l1, l2))
正如預期的那樣,線不具有面積:
library(rgeos)
gArea(ls, byid = TRUE)
讓轉換到SpatialPolygons
ps <- SpatialPolygons(
lapply(1:length(ls),
function(i) Polygons(lapply(coordinates(ls)[[i]], function(y) Polygon(y)), as.character(i))))
gArea(ps, byid = TRUE)
謝謝:-)很好地工作 –
'SpatialLines'沒有區域就像它們一樣(線路的集合)。你的意思是'SpatialPolygons'元素的區域? –
因此,我將不得不將SpatialLinesDataFrame中的每一行轉換爲多邊形,然後計算該區域? –
所以。如何將SpatialLinesDataFrame行轉換爲多邊形? –