我是一名物流程序员,并且我被要求弄清楚GPS点是否是“非路线”,其中路线由若干地理空间点(纬度,经度)组成。地理空间路由
确定点是否在路线附近的最佳算法是什么?我将使用C#和SQL Server,但是如果我知道使用什么算法,这真的不重要。
我认为
- 找到两个最近点和确定的三角形的面积超过一个特定的限制。
- 对所有点对使用矢量,然后检查它们中的任何一个是否与由GPS点定义的矢量“相似”,并且我确定该点在路线中是“下一个”。
我没有数学学位,但是我可以处理任何给定正确条件和搜索引擎的东西。
我将不得不每小时至少进行4000次计算,因此使用映射解决方案可能由于体积而不可接受。
什么你问是一个有趣的问题。三角形的表面积解决方案不起作用,因为两个相距很远的点会产生一个具有大表面面积的三角形,即使该点只是略微偏离路线。不知道我有更好的解决方案。谢谢你给我一些想法。 –
您使用的是哪个版本的SQL Server?你有关于巴士位置除lat/long以外的属性吗?公交车ID,路线ID等可以绑定到正确的道路上吗? – RyanDalton
@RyanDalton 2005不幸的。据我所知,2012年有关于空间数据的一些相当不错的功能。我并没有使用mongo或其他数据库,但最终还是需要更多的工作来设置和维护具有实时信息的另一个数据库。 –