matlab压缩邻接表转矩阵,arcgis如何生成邻接矩阵/邻接关系分析

arcgis如何生成邻接矩阵/邻接关系分析

arcgis如何生成邻接矩阵/邻接关系分析

作者:地理小子

链接:https://www.zhihu.com/question/38477549/answer/213151180

来源:知乎

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

这里借鉴知乎,加以补充操作步骤:

我现在有一个区域内的点和线的矢量信息,点位于线的交点上,想得到整个图的邻接矩阵。

比如这个图中:

17efb972913a0ef5a28949d4d422ffda.png

有三个点,1,2,3,。1与2相连,2与3相连。邻接矩阵为:

cf04728c924c80dda5b1532e89a88d96.png

分析:这里的邻接矩阵生成前提条件可由ArgGis生成节点与线段的空间邻近关系得到,以下是一位朋友的分析,但是没有加上操作步骤,也没有加上由节点与选段之间的空间邻近关系获得邻接矩阵。

1、【实验数据】首先动手制作一个样例数据:

说明:黑色数字为节点编号。粉色数字为线编号。

de0225631c7e85e9cf8d70adc8094a16.png

2、【问题分析】既然要求每个节点与线的邻接矩阵,则就是一个临近度分析,但由于这里的“邻近”实际上是相连的,即“什么在什么上”的问题,那么又是一个叠加分析。所以,直接用叠加分析的思路即可解决。

3、【解决方案】如果用过ArcGIS,必定经常用一个强大的基础矢量数据叠加空间,即【空间连接】用这个工具即可解决。

4、【操作方法】输入要素是节点,连接要素是线,连接方式选one_to_many(关键)。然后保持默认。运行即可得到邻接表。

57a2e13b9d6c70f378748d57b9ac84d5.png

5、【分析结果】j打开生成的属性表,即可得到邻接要素ID映射表。至于变换为矩阵,ArcGIS也可以,Excel也可以。

注:为什么节点3和节点5只有两个邻接边,那是因为我的实验数据中线段1-6是一条线,并没有打断。

5c7d032e62fe17881c0816eefbde504f.png

2ArcGis中操作步骤:

1以下以ArcMap10.6分析,加载节点数据和路段数据之后点击工具箱

437a67f3b93d4d59ae21251b59418fef.png

2找到空间邻近分析

ba179c1ffc2afbdff38a82f5448be47f.png

3选择你要的效果

a1cdff1b1818f3f9e090874334c8e4fc.png

3.结果

当选择节点与线段的邻接关系生成的表结果如下:

0d243a0affa8e8667f686ebe1620a907.png                   

782e5371d73e16d8849aafc1331438e6.png

4.总结

1.第一种图可以生成上面的邻接矩阵,博主已经用matlab实现,并不难,后面将会更新。

2.第二种图可表示单向路径邻接关系

arcgis如何生成邻接矩阵/邻接关系分析相关教程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值