ArcGIS:提取线折角至点

1.添加并计算线的方向值

编辑状态下选中所有的线,选择分割为COGO线,在ArcCatlog中创建COGO字段,再回到ArcMap中更新COGO属性(也可先创建后分割),获得的相关字段为direction,其他可根据需要保留或删除

  

2.通过要素折点转点获取转折点要素,利用删除相同项工具删除重复的点要素

3.通过空间连接工具获取与点相关的线的方向值

 

 

4.输出的点要素结果中,Join_Count字段代表以该折点为端点的线的数量,为1时表示是线的端点,为2时表示是两线连接点,3及以上代表几通,角度概念适用于该值为2。

5.添加角度字段,进行以下运算

 cal( !Directio_1!, !Direction_!)

def cal(d1,d2):
 d1 = float(d1)
 d2 = float(d2)
 ang=d2+180-d1
 if(ang<0):
  ang=-ang
 elif(ang>180 and ang<360):
  ang=360-ang
 elif(ang>360 or ang==360):
  ang=ang-360
 ang=str(ang)
 return ang

posted @ 2023-01-05 09:30  37wjy  阅读(279)  评论(0编辑  收藏  举报