如何在 spatstat 中测量沿线段的 tp
how is tp along a segment measured in spatstat
我只是想澄清一下 tp 的测量。它沿着一条线段从 0 到 1。我的问题是 spatstat 从哪里开始测量 0。它是数字化段的起点吗?还是来自其他分析约定 window 或与 window 的原点对齐?
如果我想反转这个测量,也就是说,如果我想让零从线段的另一端开始,我该怎么办?
例如在ArcGIS中,如果我从北向南数字化了一条线,我可以使用翻转工具将数字化从南向北改变。这在 spatstat 中可行吗?
在spatstat
包中classlinnet
的一个对象表示一个线性网络。它有一个组件 vertices
,它是网络所有顶点(节点)的点模式。它具有分量 from
和 to
,它们是整数索引,指定每个线段的起始顶点和结束顶点。沿每个线段的空间坐标 tp
是从起始顶点到结束顶点测量的。
from
和 to
的选择取决于对象的构造方式。您可以通过以下方式反转所有段:
oldfrom <- L$from
oldto <- L$to
spa <- L$sparse
newL <- linnet(L$vertices, edges=cbind(oldto, oldfrom), sparse=spa)
不确定为什么这是必要的...
根据您的意图,您还可以使用组件 lines
,它是代表所有这些线段的线段 (class psp
) 的空间模式,因此 L$lines[i]
是从 L$vertices[L$from[i] ]
到 L$vertices[L$to[i] ]
的片段。如果你做 df <- as.data.frame(as.psp(L))
那么 df
给出每个线段的端点坐标,x0, y0
列对应 tp=0
列 x1,y1
对应 tp=1
.
我只是想澄清一下 tp 的测量。它沿着一条线段从 0 到 1。我的问题是 spatstat 从哪里开始测量 0。它是数字化段的起点吗?还是来自其他分析约定 window 或与 window 的原点对齐?
如果我想反转这个测量,也就是说,如果我想让零从线段的另一端开始,我该怎么办?
例如在ArcGIS中,如果我从北向南数字化了一条线,我可以使用翻转工具将数字化从南向北改变。这在 spatstat 中可行吗?
在spatstat
包中classlinnet
的一个对象表示一个线性网络。它有一个组件 vertices
,它是网络所有顶点(节点)的点模式。它具有分量 from
和 to
,它们是整数索引,指定每个线段的起始顶点和结束顶点。沿每个线段的空间坐标 tp
是从起始顶点到结束顶点测量的。
from
和 to
的选择取决于对象的构造方式。您可以通过以下方式反转所有段:
oldfrom <- L$from
oldto <- L$to
spa <- L$sparse
newL <- linnet(L$vertices, edges=cbind(oldto, oldfrom), sparse=spa)
不确定为什么这是必要的...
根据您的意图,您还可以使用组件 lines
,它是代表所有这些线段的线段 (class psp
) 的空间模式,因此 L$lines[i]
是从 L$vertices[L$from[i] ]
到 L$vertices[L$to[i] ]
的片段。如果你做 df <- as.data.frame(as.psp(L))
那么 df
给出每个线段的端点坐标,x0, y0
列对应 tp=0
列 x1,y1
对应 tp=1
.