将Shapefile,要素类或网络数据集导入R.

时间:2013-10-11 11:00:40

标签: r network-programming arcgis shapefile spatstat

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

如果您有任何代码处理此问题,或任何建议,我将非常感谢。

以下是spatstat文档中对象类的描述。

非常感谢,

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

1 个答案:

答案 0 :(得分:1)

这是不可能的。如果您只知道节点的位置,则软件无法猜测哪些节点是按行连接的。

如果您从shapefile开始,则需要提取网络线并将其转换为spatstat"psp"对象(平面线段模式)。然后,您可以使用as.linnet构建网络。

spatstat book

的第17章