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

avec Java Discussion :

Matrice distance java


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2015
    Messages : 136
    Par défaut Matrice distance java
    Bonjour a tous

    voila j'ai une fonction qui me calcule une distance entre deux point (longitude , latitude)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
       LatLng from = new LatLng(Latitude1,Longitude1);
            LatLng to = new LatLng(toLatitude,toLongitude);
     
     
            int distance = (int)SphericalUtil.computeDistanceBetween(from, to);
    a l'aide d'une matrice je veux calculer la distance entre un point lambda et plusieurs points et a la fin extraire la distance la plus courte
    (pas forcement avec une matrice , c'était mon idée )

    Quelqu’un peux m'aider ?
    Merci

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Salut,

    Si c'est la manière d'obtenir la distance la plus courte parmi une "liste" de distances, tu as, parmi les solutions possibles :

    Code pseudocode : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    int distance = Integer.MAX_INTEGER; // tu initialises la distance au maximum possible de ton type
    boucle sur tous les points to (autre que lambda)
     
         int distanceLambda = (int)SphericalUtil.computeDistanceBetween(lambda, to);
     
         if ( distanceLambda < distance ) { // cette distance est donc plus petite que la plus petite distance déjà trouvée
              distance = distanceLambda
         }
     
     
    fin boucle
    // ici  distance est la plus petite des distance

    On peut remplacer le test et l'affectation par un appel à Math.min( ) :
    Code pseudocode : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    int distance = Integer.MAX_INTEGER; // tu initialises la distance au maximum possible de ton type
    boucle sur tous les points to (autre que lambda)
     
         distance = Math.min( distance, (int)SphericalUtil.computeDistanceBetween(lambda, to));
     
    fin boucle
    // ici  distance est la plus petite des distance

    On peut également stocker les différentes distances calculées dans une liste, trier la liste par ordre croissant et prendre le premier de la liste.

    Code pseudocode : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    List<Integer> distances = new ArrayList<>();
     
    boucle sur tous les points to (autre que lambda)
     
         distances.add( (int)SphericalUtil.computeDistanceBetween(lambda, to));
     
    fin boucle
    Collections.sort( distances );
    if ( !distances.isEmpty() ) {
         int distance = distances.get(0);
    }

    Avec les streams Java 8, on aura encore plus concis (ou listeDesPoints est une collection de tes points, autre que lambda) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    int distance=listeDesPoints.stream()
           .map( to->  (int)SphericalUtil.computeDistanceBetween(lambda, to))
           .min(Comparator.naturalOrder())
           .findFirst()
           .orElse( une valeur par défaut quand il n'y a aucun point );
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2015
    Messages : 136
    Par défaut
    Salut merci déjà pour ta réponse

    ce que je veux faire c'est de calculer la distance la plus proche et revenir au cordonnée de cette distance "longitude et latitude"

    autre chose , je fais comment pour calculer plusieurs distance ?

  4. #4
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par abbescr7 Voir le message
    ce que je veux faire c'est de calculer la distance la plus proche et revenir au cordonnée de cette distance "longitude et latitude"
    Donc, c'est bien la plus petite.

    Citation Envoyé par abbescr7 Voir le message
    autre chose , je fais comment pour calculer plusieurs distance ?
    Bah, comme j'ai indiqué. Si (int)SphericalUtil.computeDistanceBetween(from, to); calcule la distance entre from et to, il suffit de l'appeler plusieurs fois avec des from et to différents.
    Tes différents points sont sous quelle forme ? Un tableau, une List, autre ?
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2015
    Messages : 136
    Par défaut
    mes 10 point sont sous forme d'un tableau de deux colonnes Longitude et Latitude , donc 10 lignes

    plus un tableau de deux colonnes Longitude et Latitude et une seule linge indiquant ma position (from)

  6. #6
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Donc, tu boucles sur ton tableau de points :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     LatLng from = new LatLng(lambda[0],lambda[1]); // si ton tableau avec ta position s'appelle lambda
     
    for(double[] point : tableauDePoints) { // si ton tableau de point c'est double[][] tableauDePoint
            LatLng to = new LatLng(point[0],point[1]);
     
     
            int distanceLambdaTo = (int)SphericalUtil.computeDistanceBetween(from, to);
     
            /*...*/
     
    }
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Matrice distance et kmeans
    Par dz_robotix dans le forum R
    Réponses: 11
    Dernier message: 07/06/2010, 14h43
  2. remplir une matrice avec java ?
    Par safèsaf dans le forum Général Java
    Réponses: 7
    Dernier message: 09/12/2009, 16h06
  3. les matrices en java
    Par aroua dans le forum Général Java
    Réponses: 4
    Dernier message: 20/04/2008, 11h40
  4. matrice en java
    Par aroua dans le forum Général Java
    Réponses: 1
    Dernier message: 08/04/2008, 11h21
  5. [DEBUTANT] Matrice en java
    Par Mehdi_82 dans le forum Langage
    Réponses: 1
    Dernier message: 26/08/2006, 21h11

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