--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes "Software Craftsmanship Toulouse".
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse software-craftsmanshi...@googlegroups.com.
Pour obtenir davantage d'options, consultez la page https://groups.google.com/d/optout.
Hello Fabien,
La première chose à faire est de convertir les codes postaux en coordonnées géographiques. Tu peux utiliser http://www.geonames.org/postal-codes/codes-postaux-france.html - c'est dispo sous forme de webservice, mais tu peux aussi télécharger les données pour faire la conversion sur ton serveur.
Une fois que tu as les coordonnées, la recherche par proximité est facile avec toute base de données avec un index géographique/2D comme Postgres, MongoDB, Solr, Elasticsearch, etc.
Sylvain
Qu'entends-tu donc par distance? Si c'est à vol d'oiseau, tu peux la calculer directement à partir des coordonnées GPS, dans n'importe quel langage ou même dans un tableur (http://stackoverflow.com/questions/365826/calculate-distance-between-2-gps-coordinates), voir directement dans ta base de données.
Si c'est de temps de trajet, as-tu besoin d'une approximation à la louche, où d'un temps réel. Si oui, est-ce en voiture, où aussi via des moyens de transport?
Enfin, pour mieux orienter la réponse, sur quelle genre de plateforme/techno/langages/stockage est-ce que tu travailles à ce jour?
2016-05-14 8:34 GMT+02:00 Fabien. <eliott...@gmail.com>:
Bonjour,Je cherche à récupérer parmis une liste de 100.000 entités mise à jour en temps réel celles qui sont situées à moins d'une certaine distance (ou temps de trajet) d'un point donné. Connaissez-vous un soft/lib/service qui fasse ca efficacement ?Merci,Fabien.PS : voici la version non synthétique de la question :J'ai une liste d'entités localisées (pour l'instant c'est une liste de en gros 20.000 entités, localisées par un code postal ; a l'avenir ce sera peut etre des adresse / points GPS) Cette ligne est mise a jour en continu (un ajout ou une suppression toutes les 3-4 secondes aux heures de pointe, en moyenne)Ensuite je reçois des événements (un par seconde aux heures de pointe) avec une localisation (un code postal, plus tard un point gps) et une distanceMax (entre 1 et 250km).Je cherche à chaque fois que je reçois l'événement à récupérer la liste des entités de la première liste qui sont situées à moins de distanceMax de l'événement.J'ai une solution temporaire (mise en cache des 6329x6329, distances soit une base de 1Go quand elle sera entièrement populée), mais elle n'est valable que parce que ma précision est réduite et que j'ai un petit nombre de code postaux.
--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes "Software Craftsmanship Toulouse".
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse software-craftsmanship-toulouse+unsubscribe@googlegroups.com.
Pour obtenir davantage d'options, consultez la page https://groups.google.com/d/optout.
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse software-craftsmanshi...@googlegroups.com.
Pour obtenir davantage d'options, consultez la page https://groups.google.com/d/optout.
--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes "Software Craftsmanship Toulouse".
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse software-craftsmanshi...@googlegroups.com.