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

Requêtes PostgreSQL Discussion :

Calculer la distance entre deux villes


Sujet :

Requêtes PostgreSQL

  1. #1
    Membre chevronné
    Calculer la distance entre deux villes
    Bonjour,

    Je suis en train de modéliser le SI d'un projet.
    Et j'aurai besoin de calculer les distances qui séparent mes utilisateurs.

    Pour
    ceux qui sont dans un même rayon.

    Je ne ai jamais fait ça.

    Est-ce que je dois stocker les latitudes et les longitudes dans une table pour chaque villes ?
    Et m'en resservir pour recaculer les distances ?
    Faire une matrice des distances pour entre chaques villes ?

    Utiliser un service comme Google Map ?

    Si vous avez déjà fait ça, pouvez vous me conseiller s'il vous plait ?
    Cordialement
    Consultez mes articles sur l'accessibilité numérique :

    Comment rendre son application SWING accessible aux non voyants
    Créer des applications web accessibles à tous

    YES WE CAN BLANCHE !!!

    Rappelez-vous que Google est le plus grand aveugle d'Internet...
    Plus c'est accessible pour nous, plus c'est accessible pour lui,
    et meilleur sera votre score de référencement !

  2. #2
    Rédacteur/Modérateur

    Bonjour,

    Vous installez l'extension spatiale PostGIS.
    Vous créez une colonne GEOMETRY de type point à partir des coordonnées de vos utilisateurs.
    Vous avez alors accès à tout un tas de fonctions dédier pour répondre à tout un tas de questions, du genre :
    • Quel(s) utilisateur(s) se situe(nt) dans un rayon de N km autour d'un utilisateur donné ?
    • Quel est l'utilisateur le plus proche d'un utilisateur donnée et à quelle distance est-il ?
    • etc.


    PostGIS est justement fait pour ça.

    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  3. #3
    Membre chevronné
    Bonjour,

    Merci, j'ai commencé à lire la documentation sur PostGIS.
    C'est exactement ça.

    Je commencé à lire aussi la documentation sur Hibernate.
    Est-ce que vous avez utiliser PostGIS .avec Hibernate ou JPA ? ou un ORM ?
    Et si oui ça s'intègre bien ?

    Pour l'instant je ne vais pas stocker les coordonnées exactes d'un membre.
    Je vais juste me limiter à sa ville.
    Je vais stocker la position de la mairie ou de l'église ou du centre ville.
    Donc je vais faire une table avec la ville et les coordonnées de la ville.
    Je vais les stocker depuis un service.
    Je vais requêter en faisant une jointure

    Et Est-ce que les coordonnées sont compatibles avec celles des services de google ou un autre?

    J'hésite entre utiliser PostGreSql et MySql.
    PostGreSql à un meilleur PL/SQL, mais j'en ai pas encore besoin
    Car j'ai vu par hazar que MySql a aussi des fonction spatiales.

    Comme je commence sous Windows je me sert de Wamp.
    Mais PostGreSql est plus lourd à administrer sous Windows

    Cordialement
    Consultez mes articles sur l'accessibilité numérique :

    Comment rendre son application SWING accessible aux non voyants
    Créer des applications web accessibles à tous

    YES WE CAN BLANCHE !!!

    Rappelez-vous que Google est le plus grand aveugle d'Internet...
    Plus c'est accessible pour nous, plus c'est accessible pour lui,
    et meilleur sera votre score de référencement !

  4. #4
    Rédacteur/Modérateur

    Citation Envoyé par CoderInTheDark Voir le message
    Je commencé à lire aussi la documentation sur Hibernate.
    Est-ce que vous avez utiliser PostGIS .avec Hibernate ou JPA ? ou un ORM ?
    Et si oui ça s'intègre bien ?
    Non, pas personnellement. Je ne peux donc pas vous dire, même si je sais que beaucoup de projets utilisent des ORM pour accéder à des données stockées sous PostgreSQL sans soucis (d'un point de vue accès au données).

    Citation Envoyé par CoderInTheDark Voir le message
    Et Est-ce que les coordonnées sont compatibles avec celles des services de google ou un autre?
    Tout dépend du système de projection que vous allez utiliser pour stocker vos géométries.

    Citation Envoyé par CoderInTheDark Voir le message
    J'hésite entre utiliser PostGreSql et MySql.
    PostGreSql à un meilleur PL/SQL, mais j'en ai pas encore besoin
    Car j'ai vu par hazar que MySql a aussi des fonction spatiales.
    Il n'y a pas photo entre PostgreSQL/PostGIS et MySQL sur les fonctions et index spatiaux. Certes, PostgreSQL demande plus de temps pour bien le prendre en main et l'administrer correctement, mais il offre bien plus de fonctionnalités pour ce que vous voulez faire.

    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça