计算 SpatialLinesDataFrame 中每个 SpatialLines 的面积
Calculate area in each of the SpatialLines in a SpatialLinesDataFrame
是否可以计算 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)
让我们将 SpatialLines
转换为 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)
是否可以计算 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)
让我们将 SpatialLines
转换为 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)