如何使用PHP或MySQL检查地理代码是否接近或位于KML行字符串中定义的路径上

如何使用PHP或MySQL检查地理代码是否接近或位于KML行字符串中定义的路径上,php,mysql,maps,kml,Php,Mysql,Maps,Kml,我有一个KML文件,定义了标记中包含的几个路径/路线(代表实际道路)。将文件解析为其他格式(arrays/MySQL)已经就绪,因此这不是问题 给定一个点(经度/纬度),我希望能够检查该点是否位于或接近KML文件中的一条路线(几米以内)。我一直在寻找一个PHP解决方案,但我还没有找到一个——我也不确定我在寻找什么。然而,在我看来,这确实是一个常见的问题,所以我怀疑有人已经解决了这个问题。有人知道解决办法吗?;) 提前谢谢 您需要将其分解为两个问题: 从路径的每个部分生成一组多边形 对上述多边形

我有一个KML文件,定义了
标记中包含的几个路径/路线(代表实际道路)。将文件解析为其他格式(arrays/MySQL)已经就绪,因此这不是问题

给定一个点(经度/纬度),我希望能够检查该点是否位于或接近KML文件中的一条路线(几米以内)。我一直在寻找一个PHP解决方案,但我还没有找到一个——我也不确定我在寻找什么。然而,在我看来,这确实是一个常见的问题,所以我怀疑有人已经解决了这个问题。有人知道解决办法吗?;)


提前谢谢

您需要将其分解为两个问题:

  • 从路径的每个部分生成一组多边形
  • 对上述多边形进行简单的多边形内点测试

应该有一些php来完成这两项任务。

pnpoly
如果正确完成,实际上相当快。我对MySQL中几十万个多边形顶点进行了检查,并进行了二次处理。将数据拉入PHP并在那里执行pnpoly循环可以在不需要太多时间的情况下完成


张贴您正在使用的代码?

谢谢您的回复。这件事花了很多时间反复试验,但最终我找到了解决办法。不幸的是,pip测试似乎需要相当长的时间,所以我可能必须找到另一个解决方案。