ArcGIS查找弧线段的简单方法

文摘   2024-08-13 09:28   甘肃  

01

问题分析

最近在做入库的时候遇到个问题,图斑不允许存在弧线段,这对城规人来说可是个大麻烦,毕竟之前画的用地图存在着大量类似道路转弯半径的弧线段:

现在的问题是要怎么将这些弧线段找出来。


02

解决方法

这里不需要写python脚本或二次开发(当然其实用代码会更有效率,更准确),就单纯使用地理处理工具来解决这个问题。

核心思路:

弧线段的首末点的直线距离要小于弧线段本身的长度。

这个看图应该很容易理解:

因此我们只要计算并比较一下这2个值就行了。

方法步骤:

1、使用【在折点处分割线】工具将图斑转成段线:


2、使用【计算几何属性】算出线段的起点、终点xy坐标:

生成结果:


3、添加一个字段,并计算线段首末点的直线距离:

这里的计算代码:

math.sqrt(math.pow(!起点x! - !终点x!,2 )+math.pow(!起点y! -!终点y!,2 ) )

字段名不一样的话,注意把几个字段参数替换掉。


4、比较直线距离和线段长度的大小,并添加一个文本字段作标记:

结果框代码,还是要注意字段名不一样的话,要替换掉:

ss(!直线距离!,!Shape_Length!)

代码块中的代码:

def ss(a,b):    if a==b:        return ""    else:        return "弧线段"


5、筛选出标记了【弧线段】的线段:

至此,整个工作流程就结束了,查看一下筛选出来的弧线段:

完美。


03

模型工具

以上流程已经整理成模型构建器,可以当作独立的工具来使用:

需要的小伙伴可以后台发送私信【arc】来获取。


04

弧线段的处理方法

以上是查找弧线段的方法。

这里再稍提一下处理方法。

1、可以使用【增密】工具将弧线段转为折线段。

此办法有一个缺点,直线段也会被增密。

2、另一种方法,可以将图斑导出为SHP要素,弧线段就自动转为折线段了。

SHP要素缺点很多,但这是它难得的一个优点。

它只会处理弧线段,这一点上比【增密】工具好。


·END·

凯凯GIS
乐于分享、善于发现、勤于练习
 最新文章