距离小于一定数值的点之间连线

本文介绍了一种通过ArcGIS工具连接距离小于1000的点之间的方法。首先使用Near工具找出符合条件的点,然后通过VBA脚本计算角度和长度并创建线段。最后通过Planarize Lines处理重复线,实现点的连接。此外,还提供了一种改进的方案,用于计算任意两点间的距离和角度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

近日偶得一个距离小于一定数值的点之间连线方法,写出来与大家同享。
假设要将点文件or_point中距离小于1000的点之间连线,下面是具体步骤:
1、首先用near工具找出距离小于1000的点: (第一步修改下文末。)
文件原属性表:

使用下面的工具:

参数设置:

input features和near features均填你的点文件,search radius填1000,angle选项选中。
运行工具后的点文件属性表:


然后按属性选出距离大于0的点导出到另一文件(比如new_point.shp),并在新文件中建一整型字段,比如dummy。


2、新建一线文件(比如p2l.shp),和new_point一起加入arcmap,并使线文件为最上一层:

打开new_point的属性表,在dummy上点右键,选field calculator,在弹出的窗口内点advanced,在Pre-logid VBA Script Code窗口内输入下列代码:

Dim pMxDoc As IMxDocument
Dim pMap As IMap
Dim pPoint As IPoint
Dim pEndPoint As IPoint
Dim pLine As esriGeometry.ILine
Dim pTransform As ITransform2D

Dim dLength As Double
Dim dAngle As Double
Dim pSegColl As ISegmentCollection
Dim Pi As Double
Dim pFeatcls As IFeatureClass
Dim pFeatLayer As IFeatureLayer
Dim iLayerOrder As Integer
Dim pF

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值