博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
依据道路的shape获得high_cross和low_cross
阅读量:5836 次
发布时间:2019-06-18

本文共 667 字,大约阅读时间需要 2 分钟。

如图所看到的:怎样依据提供的道路的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的方法比較这两个点是否为同一个点【实际操作过程中发现,有时候两个点的经纬度区别非常小,假设用STEquals推断是两个点,实际逻辑上应该是一个点,STDistance比較一个容差的距离的方式比較合适的,经过測试我设置的值为0.00002,这个值可依据实际情况设置】

三个交叉路口、四个交叉路口、五个交叉路口的都有 -- 处理方法是一样,当前无法区分那个确实是high cross 和low cross,所以这样的情况就是high cross或low cross可能有多个的情况。

你可能感兴趣的文章
【small项目】MySQL第二天早上第一次连接超时报错,解决方法com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:...
查看>>
phpcms v9 添加内容出现500错误
查看>>
Java中的平衡树
查看>>
v9 wk跑的效果在哪看
查看>>
程序员的傲慢与无知
查看>>
django -- verbose_name的对数据库层面的影响
查看>>
vue2.0 自定义过滤器(filter)实例
查看>>
fiddler使用
查看>>
自己来实现一套IOC注解框架
查看>>
istio
查看>>
linux下core file size设置笔记
查看>>
SpringBoot 使用yml配置 mybatis+pagehelper+druid+freemarker实例
查看>>
耳机插在电脑上只有按住接听键,才能正常听到声音怎么解决
查看>>
黄聪:PHP发送邮件出现Connection: opening to ssl://的解决办法
查看>>
前端调试的那些手段
查看>>
Redis面试题及分布式集群
查看>>
C++ 判断目录是否存在并新建目录
查看>>
Face Alignment by Coarse-to-Fine Shape Searching--解析
查看>>
工作总结 [ActionName("ss123")] 更改路由中Action名称 获取或设置操作的名称
查看>>
grpc nodejs tools 安装问题
查看>>