Comment vérifier si géocodage est proche ou sur le chemin défini dans un fichier KML LineString avec PHP ou MySQL

StackOverflow https://stackoverflow.com/questions/1750040

  •  20-09-2019
  •  | 
  •  

Question

J'ai un fichier KML définissant plusieurs chemins / routes (représentant les routes réelles) enfermé dans les balises <LineString><coordinates></coordinates></LineString>. L'analyse du fichier à d'autres formats (tableaux / MySQL) est déjà en place, de sorte que ce n'est pas un problème.

Soit un point (longitude / latitude) Je voudrais être en mesure de vérifier si le point est sur ou à proximité (à quelques mètres) l'une des routes dans le fichier KML. J'ai cherché une solution en PHP, mais je ne l'ai pas été en mesure de trouver un - et je ne suis pas vraiment sûr, ce que je cherche. Cela ne semble cependant à moi comme un problème commun, donc je suppose que quelqu'un a déjà résolu le problème. Quelqu'un sait-il d'une solution? ;)

Merci d'avance!

Était-ce utile?

La solution

Vous devez décomposer en deux problèmes:

  • Générer un ensemble de polygones de chaque section de votre chemin.
  • Faites un point simple test de polygone sur les polygones ci-dessus.

Il devrait y avoir php là pour accomplir ces deux tâches.

Autres conseils

pnpoly est en fait assez rapidement si elle est faite correctement. J'ai écrit un chèque contre plusieurs centaines de milliers de sommets du polygone dans MySQL et dans un second traitement. Tirer les données en PHP et exécuter la boucle pnpoly il peut le faire dans pas beaucoup plus de temps.

Postez le code que vous utilisez?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top