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

Algorithmes et structures de données Discussion :

recherche d'un périmètre à partir de la longitude et latitude


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de sami_c
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Mai 2002
    Messages
    768
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Directeur des systèmes d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 768
    Par défaut recherche d'un périmètre à partir de la longitude et latitude
    salut,
    j'ai un fichier qui contient la liste des villes ainsi que la position géographique (longitude, latitude)
    étant donnée une ville (long1, lat1), je voudrais chercher les villes appartenant à un rayon de 100km, pour limiter la recherche j'ai pensé à ceci :
    je cherche tt les villes dont :
    1 - longitude comprise entre long1-X et long1+X
    2 - latitude comprise entre lat1-X et lat1+X
    le pb c'est que je ne sais pas comment calculer la valeur de X, c-a-d le nombre de dégrées relatif à 100km !
    est-ce que cette méthode est correcte ? quelle est la valeur de X ?

  2. #2
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Bon, remarque evidente, ton algo va te donner les villes qui sont dans le meme "carré", mais pas dans le meme "cercle". voila, c'est dit.

    Pour le reste, ton X n'est pas une constante. En effet la longueur d'un degré de latitude/longitude dépend de la latitude a laquelle tu es .

    Pour la latitude, c'est (a peu pres) une constante: 1° = 114 km

    Pour la longitude, ca varie beaucoup en fonction de la latitude:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Longueur d'1° de longitude suivant la latitude:
     
    º Lat 	longueur en Km
    0	111
    10	110
    20	105
    30	96
    40	85
    50	72
    60	56
    70	38
    80	19
    90	0
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  3. #3
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    je dirais même plus

    ça dépend aussi de la projection et des paramètres de la Terre utilisée (rayon, ellipticité, posiiton du centre).
    (par exemple en général chaque pays a ses propres coordonnées du centre de la terre et sa propre ellipticité, afin d'être au plus proche de sa surface réelle)...

    Pour calculer le nombre de kms relatifs à un nombre de degrés, comme mentionné, ça dépend des projections....et c'est compliqué...

    Et grandement...

    Voir http://www.galleryofmapprojections.com/

    En France en général c'est la projection Lambert 2 qui est utilisée.

    Une approximation (mais j'insiste sur "approximation"), et que à nos latitudes (entre 40 et 50 degrés) 1 degré de latitude fait 100 kms et un degré de longitude fait 110 kms.

    Le calcul exact est très complexe. Si vous voulez des exemples de sources, recherchez "SIG projections" ou "GIS projections" sur Google....

    Bon courage ...


  4. #4
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Citation Envoyé par souviron34
    Une approximation (mais j'insiste sur "approximation"), et que à nos latitudes (entre 40 et 50 degrés) 1 degré de latitude fait 100 kms et un degré de longitude fait 110 kms.
    1° de longitude <-> 110 kms en France ?!??
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par pseudocode
    1° de longitude <-> 110 kms en France ?!??
    oui tu as raison c'était en sens inverse.. Environ 79 kms..

    Voici un petit calculateur en ligne sami_c

    http://www.csgnetwork.com/degreelenllavcalc.html

  6. #6
    Membre éclairé Avatar de sami_c
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Mai 2002
    Messages
    768
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Directeur des systèmes d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 768
    Par défaut
    merci pour tous
    en fait je ne cherche pas un calcul exact ! j'ai une grosse table SQL (environs 35'000 lignes) qui contient les long/lat, donc j'ai besoin d'un truc hyper rapide et tanpi si c'est pas précis
    en fait je ne peux pas m'amuser à convertir soustraire la long/lat de tt les villes avec long1/lat1 et puis convertir en Km, ça sera trop lent comme traitement, c'est pour ça que j'ai besoin d'une approximation
    NOTE : je travaille sur les villes de France

  7. #7
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    633
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 633
    Par défaut
    Bonjour,
    Citation Envoyé par souviron34
    Une approximation (mais j'insiste sur "approximation"), et que à nos latitudes (entre 40 et 50 degrés) 1 degré de latitude fait 100 kms et un degré de longitude fait 110 kms.
    On ne met jamais de s dans les symboles d'unité, même "au pluriel".

    Je sais, c'est une erreur si courante qu'on pourrait croire que..., sans parler d'écrire KMS, presque aussi fréquent, et qui cumule l'erreur du s, au fait que ce sont des symboles, qui par conséquent doivent être écrits tels qu'ils sont définis, le passage en majuscule/minuscule changeant la signification du symbole.

    C'était mon petit grain de sel de la journée

  8. #8
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Citation Envoyé par thewho
    Bonjour,
    On ne met jamais de s dans les symboles d'unité, même "au pluriel".

    Je sais, c'est une erreur si courante qu'on pourrait croire que..., sans parler d'écrire KMS, presque aussi fréquent, et qui cumule l'erreur du s, au fait que ce sont des symboles, qui par conséquent doivent être écrits tels qu'ils sont définis, le passage en majuscule/minuscule changeant la signification du symbole.

    C'était mon petit grain de sel de la journée
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  9. #9
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    Bonjour,

    Parce que en C moi j'ai fait un truc 2 fois pire (750 000 lignes, 6 conversions) en 8 secs...
    Je pourrais dire la même chose en Delphi : ce n'est pas le calcul de distance ou la conversion d'e cordonnées string du genre ddmmssNdddmmssE en lat/lon réelles qui consommeront beaucoup de temps CPU.

Discussions similaires

  1. [Google Maps] Département et ville à partir de la longitude et latitude
    Par aurelientp dans le forum APIs Google
    Réponses: 2
    Dernier message: 04/08/2009, 10h52
  2. recherche d'une valeur à partir de criteres.
    Par Flamby38 dans le forum Excel
    Réponses: 2
    Dernier message: 14/11/2007, 14h57
  3. Recherche de chaine texte à partir d'un formulaire
    Par francky55 dans le forum IHM
    Réponses: 3
    Dernier message: 22/02/2007, 08h30
  4. Réponses: 4
    Dernier message: 08/01/2007, 23h38
  5. Recherche d'un état à partir d'un formulaire
    Par Marmouz dans le forum Access
    Réponses: 2
    Dernier message: 14/09/2005, 23h14

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