recherche des chemins les plus courts à l'aide de Google Maps pour un grand nombre de nœuds

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

Question

J'essaie d'effectuer une analyse de réseau pour un client. La couche SIG fournie du réseau routier est de mauvaise qualité; par conséquent, je dois recourir à Google Maps pour me fournir le chemin le plus court entre 200 points, afin de produire des matrices de temps et de distance entre chaque point.

Existe-t-il un moyen de saisir la couche sous forme d’un ensemble de points KML afin d’obtenir des sorties de la distance et du temps entre ces points?

si cela est faisable via l’API, avez-vous des astuces ou des suggestions sur la façon d’écrire un tel script?

MODIFIER le résultat final idéal serait un fichier CSV de la forme suivante:

node_1, node_2, distance, travel_time
node_n, node_m, distance, travel_time
Était-ce utile?

La solution

Je n'écrirai pas l'intégralité du script pour vous, mais vous pouvez le faire avec l'API maps. Ouvrez le le bac à cartes et ajoutez-le à la fonction onGDirectionsLoad :

alert(gdir.getDistance().meters);

Vous pouvez trouver la documentation ici - un getDuration () est également disponible. Il ne vous reste plus qu'à envoyer une nouvelle demande une fois celle-ci terminée, en indiquant le chemin à suivre pour chaque paire de points de départ et d'arrivée.

Toutefois, notez que si vous prévoyez d’obtenir 200 * 200 chemins, Google peut décider de vous limiter à un moment donné. Utilisez cette méthode à vos risques et périls, et avec un délai entre les demandes.

Notez également que le prise en charge du langage KML intégré de Google par Google Cela semble aller dans le sens de vous donner la liste des points - cela a du sens, car le client ne peut avoir que ceux qui sont actuellement à l’écran. Vous devrez peut-être écrire votre propre chargeur KML si vous souhaitez utiliser KML comme format de saisie. Ou utilisez un format plus simple, comme dans cet exemple .

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