专栏名称: GIS前沿
分享测绘地信资讯,交流行业软件技巧。
目录
相关文章推荐
Linux就该这么学  ·  别再担心了!微软高管也吐槽 AI:太累了 ... ·  昨天  
Linux就该这么学  ·  不止是操作系统!Linux ... ·  昨天  
Linux就该这么学  ·  开源装机工具 Ventoy 更新 ... ·  昨天  
Linux就该这么学  ·  告别繁琐操作!Linux ... ·  2 天前  
Linux爱好者  ·  126K + 30K ... ·  6 天前  
51好读  ›  专栏  ›  GIS前沿

ArcGIS查找弧线段的简单方法

GIS前沿  · 公众号  ·  · 2024-08-14 20:52

主要观点总结

文章主要介绍了如何解决入库时图斑存在的弧线段问题,包括问题分析、解决方法、模型工具和弧线段的处理方法。

关键观点总结

关键观点1: 问题分析

文章开头提到了在入库时遇到的问题,即图斑不允许存在弧线段,这对城规人员来说是个麻烦,因为之前的地图中存在大量类似道路转弯半径的弧线段。

关键观点2: 解决方法

文章介绍了使用地理处理工具来解决这个问题的方法,包括使用折点处分割线工具、计算几何属性、比较直线距离和线段长度的大小并添加标记、筛选出标记了弧线段的线段等步骤。

关键观点3: 模型工具

文章提到,以上流程已经整理成模型构建器,可以当作独立的工具来使用,并且提供了获取方式。

关键观点4: 弧线段的处理方法

文章介绍了两种处理弧线段的方法,一种是使用增密工具将弧线段转为折线段,另一种是导出为SHP要素,弧线段会自动转为折线段。


正文

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 -


历史干货

各种符号库下载 | 二调、三调、制图规范、1:1万地形图、土地利用总体规划图.....
解放GIS、BIM从业者!完美地形+酷炫动画!好学易用的国产3D开发引擎下载






请到「今天看啥」查看全文