如何在 spatstat 中测量沿线段的 tp

how is tp along a segment measured in spatstat

我只是想澄清一下 tp 的测量。它沿着一条线段从 0 到 1。我的问题是 spatstat 从哪里开始测量 0。它是数字化段的起点吗?还是来自其他分析约定 window 或与 window 的原点对齐?

如果我想反转这个测量,也就是说,如果我想让零从线段的另一端开始,我该怎么办?

例如在ArcGIS中,如果我从北向南数字化了一条线,我可以使用翻转工具将数字化从南向北改变。这在 spatstat 中可行吗?

spatstat包中classlinnet的一个对象表示一个线性网络。它有一个组件 vertices,它是网络所有顶点(节点)的点模式。它具有分量 fromto,它们是整数索引,指定每个线段的起始顶点和结束顶点。沿每个线段的空间坐标 tp 是从起始顶点到结束顶点测量的。 fromto 的选择取决于对象的构造方式。您可以通过以下方式反转所有段:

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=0x1,y1 对应 tp=1.