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 :

[Networkx] Ajouter des sommets d'un graphe avec deux coordonnées


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2017
    Messages : 6
    Par défaut [Networkx] Ajouter des sommets d'un graphe avec deux coordonnées
    Bonjour à tous,

    je m'adresse à vous aujourd'hui pour trouver la solution d'un problème qui m'empêche d'avancer.
    J'ai actuellement un graphe à récupérer contenant quelques centaines de sommets, sommets étant les différentes stations autolibs de Paris. J'ai réussi à récupérer les différentes adresses en longitude et lattitude en geojson et a les intégrer dans un dictionnaire python. Vous pourrez trouver la syntaxe du geojson ci dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     {
          "type": "Feature",
          "properties": {
            "name": "",
            "desc": "nom_de_la_station=Paris/Tolbiac/15\ncode_postal=75013\nville=Paris\nemplacement=Voirie\nnombre_total_de_places=4"
          },
          "geometry": {
            "type": "Point",
            "coordinates": [
              2.3744385,
              48.8292818
            ]
          }
        },
    On cherche donc ici à récupérer les coordonnées et à les ajouter pour un seul et unique sommet. J'ai donc fait ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for feature in data['features']:
       g.add_nodes_from(feature['geometry']['coordinates'])
    mais le problème étant que lorsque j'affiche ces points, j'en ai un par coordonné !
    Pourtant lorsque j'affiche les coordonnées et type de chaque point j'obtiens bien les deux valeurs voulues... étonnant ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for feature in data['features']:
       print feature['geometry']['type']
       print feature['geometry']['coordinates']
    Si vous le souhaitez je peux facilement rajouter des screens des résultats obtenus.

    Cordialement,

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Salut,

    Citation Envoyé par Tsuba Voir le message
    Pourtant lorsque j'affiche les coordonnées et type de chaque point j'obtiens bien les deux valeurs voulues... étonnant ?
    Je ne vois pas trop ce qu'il y a d'étonnant: vous passez la liste [ 2.3744385, 48.8292818 ] à la méthode .add_nodes_from supposée créer autant de nœuds qu'il y a d'éléments dans la liste. Ce qui serait étonnant, c'est que çà fasse autre chose.
    Peut être vouliez vous utiliser .add_node?

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2017
    Messages : 6
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Salut,

    Peut être vouliez vous utiliser .add_node?

    - W
    Bonjour ! Merci de votre réponse !
    J'ai aussi essayé avec .add_node mais j'obtiens un message d'erreur comme quoi mon objet dictionnaire n'est pas une liste

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Citation Envoyé par Tsuba Voir le message
    J'ai aussi essayé avec .add_node mais j'obtiens un message d'erreur comme quoi mon objet dictionnaire n'est pas une liste
    Textuellement, çà doit dire qu'une liste n'étant pas "hashable" impossible de l'utiliser comme clef d'un dictionnaire. Ca pourrait tomber en marche si vous transformiez la liste en tuple.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2017
    Messages : 6
    Par défaut
    Petit up

    J'ai d'abord essayé comme tu l'a proposé de prendre un tuple et mettre mes données dedans.
    Cependant cela n'a pas marché car je souhaitais mettre une certaine donné dedans, et non pas tout mon dictionnaire.

    J'ai donc utilisé une liste en ajoutant pas à pas la donnée que je souhaitais : et cela a marché !

    Merci de m'avoir mis sur la piste

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

Discussions similaires

  1. Ajouter des lignes verticales à un graph
    Par julien_julio dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 01/06/2010, 17h05
  2. coloration des sommets d'un graphes en c++
    Par michalove dans le forum C++
    Réponses: 5
    Dernier message: 06/03/2008, 02h12
  3. [MySQL] Ajouter des données dans une table avec la cmd update
    Par pierrot10 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 25/09/2007, 19h54
  4. [Graphique]Construction d'un graph avec deux coordonnées
    Par tomsabourin79 dans le forum Access
    Réponses: 3
    Dernier message: 05/04/2007, 10h08
  5. Ajouter des champ dans une table avec une procedure sp
    Par Abdou1 dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 26/07/2006, 18h32

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