矢量 shp 指向带有多边形的 ppp spatstat windows
vector shp point to ppp spatstat with polygon windows
我总是对此出错
# polygon that to be window
neighborhoods <- st_read("neighborhoods/neighborhoods.shp")
# convert CRS to planar projection as recommended by (
neighborhoods_3857 <- st_transform(neighborhoods, crs = 3857)
# point that to be PPP spatstat
trees <- st_read("trees/trees.shp")
# convert to planar projection
trees_3857 <- st_transform(trees, crs = 3857)
问题是,"trees_3857" 没有以 EPSG3857 坐标表示的数据框列,因此 "trees_3857" 的特征列没有与 EPSG 3857 相关的 x 和 y 列
q <- ppp(x=?, y=?, win=neighborhoods_3857)
我做了什么但错误
z <- as.ppp(trees_3857, win=neighborhoods_3857)
Error in as.ppp.sf(trees_3857, win = neighborhoods_3857): unused argument (win = neighborhoods_3857)
Traceback:
你可以从datacamp免费获取数据。
https://assets.datacamp.com/production/repositories/738/datasets/96a72364e69d872645038b3a6dc7c0dbcb1114d6/neighborhoods.zip
https://assets.datacamp.com/production/repositories/738/datasets/08a3684dc4d538d59ba051a64a834166883ab5d1/trees.zip
尽管您希望将数据转换为 spatstat
包中 class "ppp"
的对象,但错误消息表明问题出在函数 as.ppp.sf
是 sf
包的一部分。
错误消息显示 unused argument: win
,这意味着该函数无法识别或接受参数 win
。
只是为了让它更具挑战性,函数 as.ppp.sf
没有记录并且不可见...通过键入 sf:::as.ppp.sf
我们可以看到函数体并找出函数只有一个参数,因此它不接受任何 window 信息。
这不是通用函数 as.ppp
在 spatstat
包中设计的工作方式,所以如果您在 spatstat
中寻找 help(as.ppp)
,它不是令人惊讶的是你感到困惑。
最好的解决方案是(如 Ege Rubak 所建议的那样)转换点坐标,然后添加 window 信息:
z <- as.ppp(trees_3857)
Window(z) <- as.owin(neighborhoods_3857)
转换 as.ppp
和 as.owin
将使用 sf
中的代码执行,因此我不能保证它们会起作用。赋值 Window(z) <-
将在 spatstat
代码中执行,参见 help("Window<-.ppp")
。
我总是对此出错
# polygon that to be window
neighborhoods <- st_read("neighborhoods/neighborhoods.shp")
# convert CRS to planar projection as recommended by (
neighborhoods_3857 <- st_transform(neighborhoods, crs = 3857)
# point that to be PPP spatstat
trees <- st_read("trees/trees.shp")
# convert to planar projection
trees_3857 <- st_transform(trees, crs = 3857)
问题是,"trees_3857" 没有以 EPSG3857 坐标表示的数据框列,因此 "trees_3857" 的特征列没有与 EPSG 3857 相关的 x 和 y 列
q <- ppp(x=?, y=?, win=neighborhoods_3857)
我做了什么但错误
z <- as.ppp(trees_3857, win=neighborhoods_3857)
Error in as.ppp.sf(trees_3857, win = neighborhoods_3857): unused argument (win = neighborhoods_3857)
Traceback:
你可以从datacamp免费获取数据。
https://assets.datacamp.com/production/repositories/738/datasets/96a72364e69d872645038b3a6dc7c0dbcb1114d6/neighborhoods.zip
https://assets.datacamp.com/production/repositories/738/datasets/08a3684dc4d538d59ba051a64a834166883ab5d1/trees.zip
尽管您希望将数据转换为 spatstat
包中 class "ppp"
的对象,但错误消息表明问题出在函数 as.ppp.sf
是 sf
包的一部分。
错误消息显示 unused argument: win
,这意味着该函数无法识别或接受参数 win
。
只是为了让它更具挑战性,函数 as.ppp.sf
没有记录并且不可见...通过键入 sf:::as.ppp.sf
我们可以看到函数体并找出函数只有一个参数,因此它不接受任何 window 信息。
这不是通用函数 as.ppp
在 spatstat
包中设计的工作方式,所以如果您在 spatstat
中寻找 help(as.ppp)
,它不是令人惊讶的是你感到困惑。
最好的解决方案是(如 Ege Rubak 所建议的那样)转换点坐标,然后添加 window 信息:
z <- as.ppp(trees_3857)
Window(z) <- as.owin(neighborhoods_3857)
转换 as.ppp
和 as.owin
将使用 sf
中的代码执行,因此我不能保证它们会起作用。赋值 Window(z) <-
将在 spatstat
代码中执行,参见 help("Window<-.ppp")
。