有线路偏移的算法吗?

2013-05-30 16:21:26 +08:00
 tearsinchina
有这样一个需求,无论何时,只要发现被检测对象偏离了计划的路线,就发出警报。

目前可以得到的是坐标的经纬度,求算法如何设计,谢谢
5316 次点击
所在节点   地理信息系统
8 条回复
ipconfiger
2013-05-30 16:34:36 +08:00
把线路离散成N个点,然后把当前位置的点和所有点计算距离(GIS是有现成的方法的),然后如果最近的一个点,超过某阈(yù)值的时候就可以报警了。如果要提高性能,在第一次遍历所有点取值后,定时检测当前点的位置只需要和上次最近点附近一段的点对比就可以了。最重要的是,点击右边的感谢按钮可以保证算法绝对正确
tearsinchina
2013-05-30 16:39:42 +08:00
@ipconfiger 有现成的sample吗?
for4
2013-05-30 17:00:16 +08:00
@ipconfiger haha, 感谢拼音注解~~~
raquelken
2013-05-30 17:09:21 +08:00
@ipconfiger 在一段很长的直线路上,会不停的报警
xiangjian
2013-05-30 19:53:47 +08:00
没这么复杂吧,GIS里的缓冲区分析,先生成线路合理的缓冲去,点到缓冲区外就报警。 空间数据库 或GIS 软件基本都提供这个功能
Ludwiyk
2013-05-30 22:24:37 +08:00
@xiangjian +1
终于见到有关于GIS的问题了...有学GIS的同学吗?举个手
Ludwiyk
2013-05-30 22:34:48 +08:00
笨方法:根据当前对象所在点的经纬度,算出离当前点最近的路,近而算出垂直距离,看是否在允许的偏离范围内,但是地图是有偏差值的,得考虑进去
xiangjian
2013-05-31 20:56:19 +08:00
@Ludwiyk 学GIS,毕业后做过,近几年一直都没做这方面的工作。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/70665

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX