请问多点之间怎么连线及距离计算

0 投票
186 浏览
请问有一个点数据集,应该怎么做能够让每一个点与周围的点连线,并计算每条线的距离呢
最新提问 11月 2, 2017 分类:  186次浏览 | 用户: argentum (0 分)

1个回答

0 投票
您好

如果您只需要得到多点之间的距离,建议使用ProximityAnalyst.ComputeRangeDistance 邻近分析范围距离计算接口,源数据和邻近数据都设置为同一个点数据集,设置到最大距离和最小距离,距离的单位与数据集单位一致。

如果你还需要保存构造的线对象,就只能遍历每一个点的方式来构造线对象,从线对象的SMlength属性里面获取线的长度。
最新回答 11月 2, 2017 用户: 胡林 名扬四海 (3,231 分)
那怎么遍历每一个点构造线对象,而且假如遍历其中一个点,是将所有其他的点与这个点相连吗,那么如果我有一千多个对象,这样连线不就混乱了吗
你是想把1000多个点连成一个线对象吗?

是将每一个点与周围几个点相连就行了,最后是一块一块的多边形拼接起来的样子;实在不行,与周围其中一个点相连也行​​​​​​​,多边形的形式大概像这样

这种需要保证两个条件

1.哪些点对象用来构造成为一条线对象

2.用来构造同一条线对象节点的顺序

要满足这两个条件就需要两个属性字段,一个字段存储哪些点用来构造成为同一条线,比如属性值都为1的点用来构造第一条线,属性值都为2的用来构造第二条线。另一个字段存储点构线的先后顺序。

另外,我看你的截图有点类似构造泰森多边形,参考ProximityAnalyst.CreateThiessenPolygon 方法
这两个字段都需要我自己建,然后自己分类怎么去分类哪些点构建哪些面吗,还有泰森多边形有相应的接口,那这个有吗
分类肯定得你自己去分,没有接口,换个说法,如果你都不清楚哪些点要用来构成一条线,程序怎么可能知道呢,对吧。
那是在桌面端里对照每一个点然后进行分类吗
对的,桌面端编辑属性比较方便
...