近日偶得一个距离小于一定数值的点之间连线方法,写出来与大家同享。
假设要将点文件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