我目前正在开发技术,以帮助用户找到停车位。 但我面临一个小问题: 如果用户表示他现在正在一个免费的位置停车,但他正在撒谎并且他现在在家。 我如何从GPS中检测到他是在建筑物内还是在路边? 感谢
答案 0 :(得分:0)
您需要地图数据(OpenStreetMap是免费的),并确定用户是否在该地图上的某个位置。您可以通过将GPS数据与地图数据进行比较来实现这一目标。
在这种情况下我做的是测量纬度/经度与每条道路之间的距离,并将GPS角度与每条线的角度进行比较。您使用的上下文信息越多,您获得的结果就越准确:
基本上你会计算每条道路的得分,然后选择得分最高的道路来了解你的位置。
得分= DistScore * DistWeight + AngleScore + AngleWeight等。
此外,从iOS和Android中,您可以获得精确到米。如果您可以访问原始GPS数据,也可以自己计算。使用它,您可以设置需要扫描的区域。例如,对于高精度(3米),您可能没有很多道路要扫描。如果精确度为50米,您可能应该匹配更远的道路。
如果准确性很重要,您应该查看一系列GPS数据,并测试所遵循的路线是否是逻辑路径。