2

我在 R 中的 spatstat 包中工作,我想从 shapefile 创建一个“linnet”(网络)类的对象。不幸的是,虽然我能够从 ArcGIS 获取网络中所有节点的位置,但我无法弄清楚获取边列表或邻接矩阵的方法,这是在 spatstat 中构建“linnet”类对象所必需的. 那么如何获得其中一个(网络中的边列表或顶点邻接矩阵)是我的问题。

如果您有任何处理此问题的代码或任何建议,我将不胜感激。

下面是来自 spatstat 文档的对象类的描述。

提前谢谢了,

描述 创建一个表示线段网络的“linnet”类对象。用法 linnet(vertices, m, edges) 参数 vertices - 指定网络顶点的点模式(“ppp”类的对象)。m - 邻接矩阵。当相应的顶点由一条线连接时,逻辑值矩阵等于 TRUE。(指定 m 或边。) edges - 边列表。一个由两列组成的整数矩阵,指定应由边连接的所有顶点对。(指定 m 或边。)

4

1 回答 1

1

这是不可能的。如果只知道节点的位置,软件无法猜测出哪些节点是由线连接的。

如果您从 shapefile 开始,则需要提取网络的线并将它们转换为spatstat"psp"对象(平面线段模式)。然后就可以as.linnet用来组成网络了。

请参阅spatstat 书的第 17 章

于 2015-12-30T10:49:01.223 回答