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

ASP.NET Discussion :

Conseil sur une procedure


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de topolino
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 901
    Par défaut Conseil sur une procedure
    Bonjour,

    J'ai une fonctionnalité de geolocalisation sur le projet sur lequel je travaille, c'est de situer en km chaque utilisateur en fonction de ma situation geographique.

    Je dois donc calculer pour tous les utilisateurs la distance qui les separe avec tous les autres.

    J'ai donc une class qui calcul bien ces distances, ce n'est pas ca le probleme.

    Est ce pertinent de calculer par exemple la nuit chaque coordonnée des utilisateurs en fonction de tous les utilisateurs ? ca risque de prendre du temps et de la place en Bdd non ? Car si j'ai 5000 utilisateurs ca va faire 5000 x 5000 en base de données et que lorsqu'un nouvel utilisateur s'inscrit, je vais devoir parcourir toute la table utilisateur afin de calculer sa distance avec les autres donc 5001 traitement.

    Avez vous des conseils ?

    Merci de votre aide

  2. #2
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    Comment calcule tu cette distance ?
    Dans SQL Server 2008, il y a la possibilité de stocker des données géographiques pour ensuite générer des index spatiaux. Cette méthode est efficace et permet entre autres de calculer les distances entre les coordonnées.

    Et sinon c'est pas vraiment 5000 * 5000 comme calcul. C'est plus du genre 6248750...

    Pour résumer, je suis tout de même plus tenté par une approche orientée calcul de distance à la volée plutôt que précalculée.
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  3. #3
    Membre éprouvé
    Avatar de topolino
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 901
    Par défaut
    Je suis sous sql server 2005. Et je stocke les coordonées de chaque utilisateurs en bdd. J' dois afficher par exemple sur la Home page, les personnes qui sont par à moins de 5000 metres de l'utilisateur logué(critere qui peut etre changé a tous moment par l'utilisateur). Donc calculer en temps reelle me fait un peu peur qd meme, car il peut y avoir un nombre important d'utilisateurs dans la bdd.

  4. #4
    Expert confirmé
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Par défaut
    Je verrai plus une division du monde en plusieurs carrés, un peut à la manière des cartes dans les jeux. Le plus grand serai le monde en entier, et à chaque itération du divise le monde en 4 avec comme taille minimale 1 km (ou plus, une fois que tu as déjà une idée de qui est dans un carré, ça élimine déjà pas mal de monde, sauf s'ils sont tous concentrés sur 2 km², et tu peut aller boucler sur les gens présents dans le carrés).
    Si les utilisateurs sont répartis à peut près équitablement, tu pourra approcher du log ce qui fait déjà beaucoup moins que 5000 * 5000 ...

  5. #5
    Membre éprouvé
    Avatar de topolino
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 901
    Par défaut
    c'est une bonne idee, mais comment gerer une personne qui est à la limite d'un carré ?

  6. #6
    Expert confirmé
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Par défaut
    Si elle est exactement à la limite d'un carré tu pourrai décréter qu'elle est à l'intérieur comme cela tu pourrai ensuite calculer plus précisément une fois que tu aura fini ta découpe. Quitte à rajouter 2 ou 3 personnes en plus ça ne doit pas être très fréquent qu'une personne se trouve exactement à la limite. (en théorie la proba est nulle, mais ça c'est autre chose )

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

Discussions similaires

  1. Conseil sur une bibliothèque de traitement d'image
    Par fumidu dans le forum C++Builder
    Réponses: 4
    Dernier message: 07/11/2006, 12h31
  2. Besoin de conseils sur une application
    Par Jim_Nastiq dans le forum Langage
    Réponses: 12
    Dernier message: 12/04/2006, 12h43
  3. Conseils sur une demande d'emploi à temps partiel
    Par Pollux dans le forum Emploi
    Réponses: 5
    Dernier message: 06/02/2006, 12h50
  4. Conseil sur une configuration oracle RAC
    Par mrhuve dans le forum Oracle
    Réponses: 44
    Dernier message: 22/07/2005, 15h40
  5. Conseils sur une API simple pour Windows
    Par alejandro dans le forum Choisir un environnement de développement
    Réponses: 4
    Dernier message: 28/04/2005, 18h12

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