Bienvenue! Inscrivez-vous et rejoignez notre communauté :)
  • Login:

Bienvenue sur Forum SIG - Systèmes d'Information Géographique et Géomatique.

Bienvenue sur le forumSIG. S'il s'agit de votre première visite, assurez vous de faire une recherche préalable dans les FAQ SIG. Vous devez vous inscrire avant de pouvoir poster.

Affichage des résultats 1 à 7 sur 7
  1. #1

    Date d'inscription
    octobre 2012
    Localisation
    Midi-Pyrénées
    Emploi
    ingénieur
    Organisme
    secteur public
    Messages
    3

    Par défaut Non Résolu : Calcul de graphe planaire

    Bonjour à tous

    habitué à utiliser OpenJump pour ce genre de choses, je ne (re)trouve pas dans QGis la possibilité de, à partir d'un ensemble d'arcs, calculer un graphe planaire. Ai-je mal cherché ou QGis ne propose-t-il pas cette fonctionnalité ?

  2. #2
    Modérateur et rédacteur
    Date d'inscription
    octobre 2005
    Localisation
    Louvain-la-neuve
    Emploi
    Géologue
    Organisme
    Université Catholique de Louvain - Région Wallonne
    Messages
    1 822

    Par défaut

    non, je ne crois pas, mais on peut utiliser la console Python en se basant sur le module Python networkx comme cela a été fait pour les shapefiles dans http://www.portailsig.org/content/py...-un-reseau-top
    Cette démarche a été transformée en un plugin expérimental par Tom Holderness dans https://github.com/talltom/NetworkX-Tools-QGIS-Plugin

    La deuxième solution est de se baser sur la classe Network analysis library (http://www.qgis.org/api/group__networkanalysis.html) qui peut être traitée dans la console:http://www.qgis.org/pyqgis-cookbook/...-analysis.html
    Vous avez le droit de poster sur différents forums mais prévenez nous qu'on ne perde pas de temps à faire les mêmes réponses !

    "Caminante, no hay camino, el camino se hace al andar" A. Machado

  3. #3

    Date d'inscription
    octobre 2012
    Localisation
    Midi-Pyrénées
    Emploi
    ingénieur
    Organisme
    secteur public
    Messages
    3

    Par défaut

    Bonjour Gene et merci pour ta réponse,

    J'ai consulté les liens que tu as fournis et lu les articles aussi mais j'ai l'impression qu'ils n'abordent pas les aspects qui m'intéressent (et que j'aurais dû préciser dans mon post initial).

    Par exemple, dans networkx, ce sont les problématiques liées aux parcours et trajets qui sont traitées. La localisation géographique des arcs importe peu (même si, dans la fonction read_shp qui crée un graphe à partir d'un shapefile, les coordonnées des noeuds sont les coordonnées géographiques : la localisation des autres points est ignorée et seul le fait que les noeuds soient reliés est pris en compte).

    Le graphe planaire d'OpenJump (barre de menu Outils + Edition géométrie + Conversion + Graphe planaire) fournit les couches (cetaines sont optionnelles) :


    • des arcs (avec sommets initial et final, faces gauche et droite),
    • des noeuds,
    • des faces.



    Les arcs en entrée sont donc recoupés, si nécessaire, aux intersections, les parties d'arcs communes sont "commonalisées" (vraie partage de géométrie) et les faces induites sont calculées. Ce sera plus clair sur un petit exemple.

    les arcs en entrée :



    résultat du calcul de graphe planaire sous OpenJump :




    Ce sont ces aspects qui m'intéressent, pour passer d'un format sans topologie, shapefile en l'occurence, à un autre, avec topologie (le nom a peu de chance de te parler).
    Dernière modification par PLeroux ; 14/10/2012 à 07h33.

  4. #4

    Date d'inscription
    février 2009
    Messages
    367

    Par défaut

    Sans doute faut-il regarder du côté de GRASS

  5. #5
    Modérateur et rédacteur
    Date d'inscription
    octobre 2005
    Localisation
    Louvain-la-neuve
    Emploi
    Géologue
    Organisme
    Université Catholique de Louvain - Région Wallonne
    Messages
    1 822

    Par défaut

    De fait, les seuls SIGs qui sont topologiques par nature sont ArcInfo et GRASS GIS (voir http://www.portailsig.org/content/grass-gis-geometries-topologies-et-consequences-pratiques-vecteurs-rasters-volumes)
    Vous avez le droit de poster sur différents forums mais prévenez nous qu'on ne perde pas de temps à faire les mêmes réponses !

    "Caminante, no hay camino, el camino se hace al andar" A. Machado

  6. #6

    Date d'inscription
    octobre 2012
    Localisation
    Midi-Pyrénées
    Emploi
    ingénieur
    Organisme
    secteur public
    Messages
    3

    Par défaut

    Merci à tous les deux pour les pistes (GRASS et ArcInfo). J'ai testé GRASS et plus particulièrement v.clean (que gene m'a soufflé).

    En plus du "simple" calcul du graphe planaire, cette commande permet aussi, avec ses très nombreuses options, de corriger/nettoyer les données avant de procéder au calcul proprement-dit (saisies topologiquement imparfaites, qui provoquent l'apparition de micro surfaces (trous ou recouvrements) à cause d'un non partage strict de la géométrie).

    Mais je suis obligé de me restreindre à OpenJump et QGIS car, in fine, ce calcul sera utilisé en production. Je ne peux pas me permettre de multiplier les logiciels (OpenJump, QGIS, GeoConcept, un autre "maison" déjà utilisés).

    Tout ça va se terminer par l'écriture d'un script (et peut-être d'un plugin QGIS) en Python. Depuis la toute dernière version de Shapely (mi-septembre), j'ai toutes les billes pour reproduire le calcul de graphe planaire proposé par OpenJump.

    Dernière chose : OpenJump n'est pas "topologique" (j'ai de très bonnes sources). L'import de shapefiles, par exemple, ne s'accompagne pas d'un calcul de ... (de quoi ?) comme avec GRASS où l'on voit la différence. QGIS pourrait, très bien, proposer une fonctionnalité identique.

  7. #7
    Rédacteur
    Date d'inscription
    avril 2007
    Localisation
    La Rochelle
    Emploi
    Responsable SIG
    Messages
    1 236

    Par défaut

    Citation Envoyé par PLeroux Voir le message
    Merci à tous les deux pour les pistes (GRASS et ArcInfo). J'ai testé GRASS et plus particulièrement v.clean (que gene m'a soufflé).

    En plus du "simple" calcul du graphe planaire, cette commande permet aussi, avec ses très nombreuses options, de corriger/nettoyer les données avant de procéder au calcul proprement-dit (saisies topologiquement imparfaites, qui provoquent l'apparition de micro surfaces (trous ou recouvrements) à cause d'un non partage strict de la géométrie).

    Mais je suis obligé de me restreindre à OpenJump et QGIS car, in fine, ce calcul sera utilisé en production. Je ne peux pas me permettre de multiplier les logiciels (OpenJump, QGIS, GeoConcept, un autre "maison" déjà utilisés).

    Tout ça va se terminer par l'écriture d'un script (et peut-être d'un plugin QGIS) en Python. Depuis la toute dernière version de Shapely (mi-septembre), j'ai toutes les billes pour reproduire le calcul de graphe planaire proposé par OpenJump.

    Dernière chose : OpenJump n'est pas "topologique" (j'ai de très bonnes sources). L'import de shapefiles, par exemple, ne s'accompagne pas d'un calcul de ... (de quoi ?) comme avec GRASS où l'on voit la différence. QGIS pourrait, très bien, proposer une fonctionnalité identique.
    Tu peux faire un plugin python faisant tourner grass dans qgis c'est le cas du plugin generaliser. (Il doit y en avoir d'autres mais c'est le premier qui me vient à l'esprit)

    En tout cas ton script/plugin à partir de shapely m'intéresse !!

 

 

Discussions similaires

  1. [Spatialite] Requête spatiale en vue d'un graphe réseau
    Par Dam!en dans le forum Assistance et Programmation
    Réponses: 11
    Dernier message: 14/06/2012, 10h29
  2. [ArcGIS 9.x] Insérer une textbox dans un graphe
    Par beginner SIG dans le forum Assistance Technique
    Réponses: 10
    Dernier message: 18/05/2010, 17h18
  3. [ArcGIS 9.x] Création d'un graphe avec VBA
    Par gininho dans le forum Programmation
    Réponses: 5
    Dernier message: 14/10/2009, 07h57
  4. [Méthodologie] Graphe de circulation
    Par OlivierDumas dans le forum Théorie des SIG - Géomatique
    Réponses: 6
    Dernier message: 04/03/2008, 13h02
  5. [Données] Graphe routier national
    Par dazz dans le forum Ressources
    Réponses: 1
    Dernier message: 22/03/2006, 12h11

Les tags pour cette discussion

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •