J'ai un fichier XML qui contient un certain nombre de points avec leur longitude et leur latitude.Magasin 3 coordonnées les plus proches
Mon code python obtient pour le moment le point le plus proche simplement en faisant une boucle dans le fichier XML, en trouvant le plus proche, en miles ou autre, puis en le comparant avec le point le plus proche précédent. Si c'est plus proche alors j'attribue à la variable la valeur de ce nouveau point. Donc, tout fonctionne à cet égard.
Maintenant, ce que je veux faire est de stocker les 2 ou 3 points les plus proches. Comment puis-je faire cela? Le fichier XML n'est pas classé par le plus proche, et de plus, l'emplacement des utilisateurs changera chaque fois qu'une demande est faite. Est-ce que je peux faire ceci avec un fichier XML ou devrais-je devoir regarder en stockant les données est SQL Server ou MySQL?
Merci pour l'aide. PS, l'exemple de code est available here si quelqu'un est intéressé. Cela fait partie d'un projet d'université.
Merci pour votre aide! Je ne pense pas que l'écriture dans un fichier est faisable car ces données seront consommées par un iPhone. Je ne comprends pas très bien la 2ème boucle for(). Comment sait-il seulement obtenir les 3 plus proches? Je suppose que c'est fait dans 'mypoints [0: 3]' mais mon python est seulement basique. Je vais le tester quand même et je vous le ferai savoir. – eoinzy
Merci Joaquin! J'ai utilisé une partie de votre code et l'ai fait fonctionner! La seule chose qui manquait était un "+ =" sur 'shortestStation', donc la façon dont je l'ai maintenant est' shortestStation = shortestStation + json.dumps() .... '. Merci encore!! – eoinzy
les trois plus proches sont stockés dans mythree_sorter et ils sont pris par la boucle dans l'ordre. La seconde pour la boucle est là pour sauvegarder les trois points les plus proches sérialisés comme des cordes json quelque part (une liste, un fichier) ou peut-être pour les envoyer quelque part (à vous de voir) ... – joaquin