¿Cómo comprobar si está cerca de codificación geográfica o el camino definido en una cadena de línea KML con PHP o MySQL
Pregunta
Tengo un archivo KML definir varios caminos / rutas (en representación de los caminos reales) encerrado en las etiquetas <LineString><coordinates></coordinates></LineString>
. Analizar el archivo a otros formatos (arrays / MySQL) ya está en su lugar, de modo que no es un problema.
Dado un punto (longitud / latitud) Me gustaría ser capaz de verificar si el punto está en o cerca (a pocos metros) una de las rutas en el archivo KML. He estado buscando una solución en PHP, pero no he sido capaz de encontrar uno - y no estoy realmente seguro, lo que estoy buscando. Esto sin embargo me parece como un problema común, así que sospecho que alguien ya resolvió el problema. ¿Alguien sabe de una solución? ;)
Gracias de antemano!
Solución
Es necesario descomponerlo en dos problemas:
- Generar un conjunto de polígonos de cada sección de su camino.
- ¿Es un simple punto en la prueba de polígonos en los polígonos anteriores.
No debe haber algo de PHP por ahí para llevar a cabo esas dos tareas.
Otros consejos
pnpoly
es en realidad bastante rápido si se hace correctamente. Escribí un cheque contra muchos cientos de miles de vértices del polígono en MySQL y en segundo procesamiento. Tirando de los datos en PHP y realizar el bucle pnpoly no puede hacerlo en no mucho más tiempo.
enviar el código que está utilizando?