我只是想澄清一下tp的测量。它沿线段的范围从0到1。我的问题是spatstat从哪里开始测量0。它是数字化线段的起点吗?或者它来自分析窗口的其他约定,或者与窗口的原点对齐?
如果我想反转这个测量值,也就是说,如果我想让零从线段的另一端开始,我该怎么做呢?
例如,在ArcGIS中,如果我从北到南数字化了一条线,则可以使用翻转工具将数字化从南更改为北。在spatstat中这是可能的吗?
发布于 2017-01-17 12:15:32
在spatstat
包中,类linnet
的对象表示一个线性网络。它有一个组件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
,它是表示所有这些线段的线段(类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
。
https://stackoverflow.com/questions/41679455
复制相似问题