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

Python Discussion :

Dessiner une carte


Sujet :

Python

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2007
    Messages
    237
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 237
    Points : 99
    Points
    99
    Par défaut Dessiner une carte
    Bonjour,

    Je souhaite faire un programme qui permet de placer des villes dont je possède les coordonnées GPS sur un fond de carte. Je ne sais pas comment aborder ce problème, d'autant que mes compétences en programmation sont très limitées. Pouvez vous me donner une approche avec le différents modules de Python à utiliser ?

    1 - Comment dessiner une carte géoréférencée ?
    2 - Comment placer des point GPS dessus ?

    Si cette approche n'est pas la bonne, tous les conseils sont les bienvenus

    Merci

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Bonjour,

    Intéressant comme question, tout d'abord les canevas des librairies graphiques sont orthonormés, tu peux donc y déposer tes villes selon des coordonnées x et y.

    Toutefois il faudra gérer la projection, deux points séparés, par exemple, de 5 degrés 43 minutes en longitude seront espacés réellement d'un nombre de kilomètres différent selon la latitude où il se trouvent.

    J'ai fais une fonction qui fait ce calcul, très simple par ailleurs, pour un programme qui trie des photos selon leurs coordonnées gps.

    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
     
        def meter_to_minute(self, dpar, dmin, kmeter):
            """Convert Kilometer to angular value in minutes.
     
            Convert Kilometer to angular value in minutes.
            Note: 12732 is diameter of the earth and 21600 = 360° * 60 min
            
            Keyword arguments:
            dpar -- degree of paralell
            dmin -- min of paralell
            kmeter -- distance in kilometer
     
            Returns
            Angle in minute
            """
            m = 1/(60/dmin)
            alpha = 90 - (dpar + m)
            k = ((12732 * math.sin(alpha)) * math.pi) / 21600
            try:
                minute = kmeter / k
            except ValueError:
                return None
            return minute
    Tu comptais utiliser un fond de réference à ta carte ou un simple feuille blanche ?

    vincent

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2007
    Messages
    237
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 237
    Points : 99
    Points
    99
    Par défaut
    Merci de ta réponse VinS.

    En fait je souhaite utiliser un fond de carte de la France et à partir d'un fichier contenant des villes avec coordonnées GPS les positionner sur cette carte.

    Mais je me pose quelques question :

    Comment lire un fond de carte ? Quels outils python utiliser ?
    Comment faire correspondre les points des villes avec la carte ? Il doit y avoir une référence !

    Merci

  4. #4
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2007
    Messages
    237
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 237
    Points : 99
    Points
    99
    Par défaut
    une bonne âme pour m'aider please

  5. #5
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Le problème est que ta carte sera sûrement matricielle et non vectorielle, ce serait trop facile.

    Il faudra, donc que tu entres par toi-même les données permettant au programme de "savoir où il se trouve" sur la sphère.

    Par exemple les coordonnées d'un point de la carte et les distances de ce point à chacun des quatre côtés de la carte, ces dernières, éventuellement en kilomètres ou à échelle donnée.

    Avec ça, c'est faisable, sans ça, je ne vois pas.

    vincent

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 149
    Points : 219
    Points
    219
    Par défaut
    Vous êtes dans le domaine des Sig, Systèmes d'informations géographiques, domaine ou Python est fort utilisé et il y a plein de modules existants pour faire ce que vous voulez
    http://pypi.python.org/pypi?:action=...show=all&c=391

    Le plus simple est d'utiliser Matplotlib avec son module cartographique Basemap
    http://matplotlib.sourceforge.net/basemap/doc/html/

Discussions similaires

  1. Créer une carte de France avec les dessins de formes libres
    Par Arkham46 dans le forum Microsoft Office
    Réponses: 41
    Dernier message: 26/10/2019, 01h24
  2. Dessiner un itinéraire sur une carte
    Par noussa_nouha dans le forum Android
    Réponses: 7
    Dernier message: 19/04/2012, 00h54
  3. Dessiner une "carte"
    Par superxor dans le forum C#
    Réponses: 4
    Dernier message: 28/10/2010, 14h31
  4. Dessiner une carte
    Par Goundy dans le forum Langage
    Réponses: 19
    Dernier message: 10/10/2005, 14h31

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