IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

recupere les coordonnees les plus proche


Sujet :

Java

  1. #1
    Invité
    Invité(e)
    Par défaut recupere les coordonnees les plus proche
    Bonjour,

    j'ai un probleme concerne de trouver les cinques les plus proches des coordonnes(sont des magazins) passer en paramétre voila mon methode et je sais pas comment extraires les cinques les plus proches merci de m'aider
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    public static String getMagasinProche(double lat,double lon){
    	double latitude;
            double longitude;
            String v;
            String chaine="";
            double madistance;
            ArrayList  distances=new ArrayList();
            if(Magasins.c==null) etablirConnexion();
    		try{
                Statement s=c.createStatement();
                java.sql.ResultSet curseur=s.executeQuery("select latitude,longitude,nomville from liste_magasins");
                ResultSetMetaData rsmd=curseur.getMetaData();
                int nCol=rsmd.getColumnCount();
                    while(curseur.next()){
                latitude=curseur.getDouble("latitude");
                longitude=curseur.getDouble("longitude");
                v=curseur.getString("nomville");
                double latr=Math.toRadians(lat);
                double lonr=Math.toRadians(lon);
                double latituder=Math.toRadians(latitude);
                double longituder=Math.toRadians(longitude);
                double substrire=longituder-lonr;
                madistance=6378*Math.acos(Math.cos(latr)*Math.cos(latituder)*Math.cos(substrire)+Math.sin(latr)*Math.sin(latituder));
                distances.add(madistance);
                Object obj=Collections.min(distances);
     
     
                 }}catch(Exception e){System.out.println("erreur selection"+e);
    	}return chaine;
    merci

  2. #2
    Membre Expert
    Avatar de Patriarch24
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    1 047
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 047
    Par défaut
    Il y a une balise pour le code, qui est illisible dans ton cas.
    Par ailleurs, il serait pas mal de faire des efforts parce que pour te comprendre, c'est pas évident.

    Pour ton problème, c'est simple : tu calcules la distance de chaque magasin avec ton point (c'est de la géométrie euclidienne de base), et tu tries ces distances de manière à récupérer les cinq plus petites (donc les plus proches du point donné).

    Bon courage !

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    merci pour votre réponse si ca mon probleme comment je doit extraires les cinques latitude et longitude a partir de cette arrayliste dans lequel je mis mes distance
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    distances.add(madistance);
                Object obj=Collections.min(distances);
    Merci de m'aider svp

  4. #4
    Membre Expert Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Par défaut
    Une fois que toutes tes collections sont mise dans ton ArrayList tu peux utiliser la méthode sort de la classe Collections
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Collections.sort(distances);
    Tu peux ensuite récupérer les 5 premières valeurs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    distances.get(0);
    ...
    distances.get(4);

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour guigui5931,
    merci pour votre réponse concerne la methode sort va trier croissant la arraylist


    si oui apres l'extraction des distances comment je doit récupere les latitudes et logitudes car la methode doit retourne une listes des latitudes et longitude


    Merci de me repondre

Discussions similaires

  1. [Google Maps] Tri markers avec les destinations le plus proches
    Par Rhino Onizuka dans le forum APIs Google
    Réponses: 22
    Dernier message: 12/02/2014, 05h57
  2. Trouver les X nombres les plus proche d'un nombre donné
    Par pyrou dans le forum Langage SQL
    Réponses: 4
    Dernier message: 06/07/2007, 08h53
  3. [Algo] Les K voisins les plus proches
    Par GyZmoO dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 25/05/2007, 11h33
  4. [MySQL] Extraire les 50 valeurs les plus proches d'un entier
    Par denis.ws dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 19/01/2007, 08h42
  5. Recuperer les enregistrements present plus de x fois
    Par rikewir dans le forum Requêtes
    Réponses: 5
    Dernier message: 05/04/2006, 16h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo