Forum Clubic

Polygones chargés dans google à partir d'un fichier kml

Bonjour,

Je vous expose mon problème.

Je charge un KML qui me permet de découper une zone géographique en polygone.

J?ai des coordonnées X/Y de points que je souhaite géolocaliser par rapport à ces polygones.

Je souhaite savoir quelle méthode invoquer pour connaitre le polygone qui contient ces coordonnées.

La seule solution que j?ai trouvé est de tester chaque polygone, ce qui n?est pas acceptable dans mon cas de figure (trop de polygones, près de 1000 et énormément de points x/y à tester en permanence).

Avez-vous une idée ? Merci beaucoup.

Tu peux pas optimiser le chargement de tes points pour les trier de sorte à ce qu’ils soient proches géographiquement ? (genre tri par latitude, longitude; et idem pour tes polygones - en commençant une recherche par le dernier polygone trouvé, susceptible de contenir le nouveau point (parce que proche)) ?

Après, tu as probablement des API géographiques qui font ça pour toi (voire même des extensions de base de données), et avec un algo aux petits oignons :wink:

Je n’ai pas programmé sur GoogleMaps donc ma réponse est une réflexion générale. A condition que tes polygones ne se recouvrent pas les uns les autres, tu devrais calculer le barycentre de chaque polygone (et stocker cette liste dans un tableau) puis tester l’inclusion de ton XY par ordre de distance croissante, et sortir de la boucle dès que tu as trouvé le bon polygone. Ca devrait réduire drastiquement la quantité de calculs.