首页 > 代码库 > 根据道路的shape获得high_cross和low_cross
根据道路的shape获得high_cross和low_cross
如图所示:如何根据提供的道路的shape file获得该路的high cross和low cross
所谓的high cross就是图中的king st这条路,low cross是Gravers Ln这条路。
具体实现的方法如下:
#1 将道路的shape数据导入到 Sql Server中
#2 在实体表中增加两个字段low_cross和high_cross
#3 用程序【我是用C#写的一个小程序】循环每条街道,找出跟当前街道相交的路,获得当前道路起始点地址的经纬度和一个交叉路口的经纬度,比较起始点位置与交叉路口的远近,离数字较小的近就是low cross,离数字小的较远的就是high cross。
#4 当然处理的过程中有多种情况:有只有一个交叉点的情况 -- 只能更新一个high cross 或者low cross
两个交叉路都在同一个方向的 -- 这就需要用Intersections的方法获得交叉点比较,然后用STEquals的方法比较这两个点是否为同一个点
三个交叉路口、四个交叉路口、五个交叉路口的都有 -- 处理方法是一样,当前无法区分那个确实是high cross 和low cross,所以这种情况就是high cross或low cross可能有多个的情况。
根据道路的shape获得high_cross和low_cross
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。