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 à 4 sur 4
  1. #1

    Date d'inscription
    avril 2017
    Messages
    1

    Par défaut Segmenter des lignes QGIS python

    Bonjour,

    Le but final est de segmenter des lignes dans un même shapefile selon des distances différentes.

    Mais je suis débutant en python et je n'en suis pas encore là. Pour l'instant j'essaie simplement de placer des points le long de mes lignes selon des distances différentes, à l'image de: http://gis.stackexchange.com/questions/232016/how-to-place-points-along-a-line-using-a-list-of-distances-in-qgis/232037#232037[/HTML.

    Sauf que je bloque au moment où je tente de sélectionner ma première ligne comme suit:
    line = iface.activeLayer().selectedFeatures()[0]

    Je reçoit le message suivant: IndexError: list index out of range


    Pourriez-vous m'aider à résoudre ce problème afin que je puisse déjà sélectionner la première ligne?



    Merci d'avance

  2. #2

    Date d'inscription
    août 2011
    Localisation
    Paris
    Emploi
    Chargé de mission SIG
    Âge
    33
    Messages
    1 192

    Par défaut Re : Segmenter des lignes QGIS python

    Installe les plugins suivant et inspire toi de leur code :
    - Station Lines
    - Locate points along lines

  3. #3
    Modérateur et rédacteur Supporter(rice)


    Date d'inscription
    octobre 2005
    Localisation
    Louvain-la-neuve
    Emploi
    Géologue
    Organisme
    Université Catholique de Louvain - Région Wallonne
    Messages
    2 616

    Par défaut Re : Segmenter des lignes QGIS python

    Sur le Forum, vous avez déjà Simplifions PyQGIS (API 2) de manière plus "pythonesque", que diable: le retour et ensuite sur le Portail SIG, plusieurs "tutoriels" dont PyQGIS: des géométries, des vecteurs, de l'algèbre vectorielle ou des cosinus directeurs, exemples d'applications..

    Donc en pratique, la commande


    line = iface.activeLayer().


    Sélectionne la couche à traiter. Cette couche peut avoir des éléments sélectionnés ou non.


    sel = line.selectedFeatures()


    Vous donnera une liste d'objets sélectionnés dans la couche et


    prem = line.selectedFeatures()[0]


    Vous donnera le premier élément de la liste

    Si il n'y a aucun objet sélectionné, la réponse sera l'erreur : list index out of range

    Pour le tester


    line = iface.activeLayer()
    #y a-t-il des éléments sélectionnés ?
    if line.selectedFeatures(): # oui
    prem = line.selectedFeatures()[0]
    else:
    # choix du premier élément
    prem= line.getFeatures()[0]



    Ensuite, il y a de nombreuses autres réponses sur GIS Stack Exchange

    Pour SkåL, pour un débutant, c'est une erreur de vouloir s'inspirer d'un plugin, car tout est "pollué" par PyQt4
    Dernière modification par gene ; 11/04/2017 à 17h13.
    "Caminante, no hay camino, el camino se hace al andar" A. Machado

  4. #4

    Date d'inscription
    août 2011
    Localisation
    Paris
    Emploi
    Chargé de mission SIG
    Âge
    33
    Messages
    1 192

    Par défaut Re : Segmenter des lignes QGIS python

    Citation Envoyé par gene Voir le message
    Pour SkåL, pour un débutant, c'est une erreur de vouloir s'inspirer d'un plugin, car tout est "pollué" par PyQt4
    Je suis d'accord. Mais apprendre des librairies python comme pyQGIS, Shapely, geopandas, etc. nécessite de bien connaître python et ça ne s'adresse déjà plus à un débutant ... et de l'autre côté, il faut comprendre comment ça fonctionne pour pouvoir ensuite manipuler.
    Les nombreux exemples de GIS Stack Exchange m'aident personnellement, mais j'aime bien également désosser un plugin en insérant des print de part et d'autre, reprendre des bouts de code purement python et voir la logique derrière.

 

 

Discussions similaires

  1. [QGIS 2.x] Création de lignes . python . qgis2.8 . windows 8
    Par kamifish dans le forum Assistance et Programmation
    Réponses: 3
    Dernier message: 29/05/2015, 10h23
  2. [QGIS 2.x] QGIS Python & arcgis installés : soucis en python sur QGIS
    Par tenson dans le forum Assistance et Programmation
    Réponses: 0
    Dernier message: 27/11/2014, 16h30
  3. [ArcGIS 10.x] Segmenter des lignes à partir de points situé sur ces lignes
    Par Nicolas01 dans le forum Assistance Technique
    Réponses: 2
    Dernier message: 25/02/2014, 23h56
  4. [QGIS 1.x] LINUX qgis a installé des plugin qu'il n'utilise pas dans /usr/share/qgis/python/plug
    Par QGISTE76 dans le forum Assistance et Programmation
    Réponses: 6
    Dernier message: 24/06/2013, 08h15
  5. [Python] Convertisseur symboles vers QGIS (en python)
    Par Elsane dans le forum Ressources
    Réponses: 1
    Dernier message: 21/12/2011, 12h42

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
  •