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
    février 2017
    Messages
    15

    Par défaut Etiquetage multi-lignes d'une couche shapefile avec pyQGis

    Bonjour,
    Je souhaite étiqueter sur deux lignes une couche shp avec pyQGis.
    J'ai réussi à le faire avec un seul champ, mais avec deux champs ou plus (en utilisant concat) ça ne marche plus.
    Merci de m'aider à trouver la solution.
    Ci-joint, le code que j'ai rédigé:

    def labelLine(lyr, champNom1, champNom2):
    # Cette fonction montre les etiquettes des champs "champNom1" et "champNom2" pour une couche lyr (couche Ligne)
    label = QgsPalLayerSettings()
    label.readFromLayer(lyr)
    label.enabled = True
    # on concate les deux champs
    label.fieldName = "concat('BASE:',champNom1,'\\n','L=',champNom2 , 'm')"
    label.placement= QgsPalLayerSettings.Line
    label.bufferDraw= True
    label.bufferSize= 1
    label.setDataDefinedProperty(QgsPalLayerSettings.S ize,True,True,'8','')
    label.writeToLayer(lyr)

  2. #2

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

    Par défaut Re : Etiquetage multi-lignes d'une couche shapefile avec pyQGis

    Pour poster du python, vous pouvez utiliser la balise : [XCODE = PYTHON] et terminer par /XCODE entre []


    def labelLine(lyr, champNom1, champNom2):
    # Cette fonction montre les etiquettes des champs "champNom1" et "champNom2" pour une couche lyr (couche Ligne)
    label = QgsPalLayerSettings()
    label.readFromLayer(lyr)
    label.enabled = True
    # on concate les deux champs
    label.fieldName = "concat('BASE:',champNom1,'\\n','L=',champNom2 , 'm')"
    label.placement= QgsPalLayerSettings.Line
    label.bufferDraw= True
    label.bufferSize= 1
    label.setDataDefinedProperty(QgsPalLayerSettings.S ize,True,True,'8','')
    label.writeToLayer(lyr)


    Note du modérateur :
    C'est XCODE=py ... /XCODE (entre crochets)
    Dernière modification par gene ; 18/10/2017 à 11h42.

  3. #3

    Date d'inscription
    février 2017
    Messages
    15

    Par défaut Re : Etiquetage multi-lignes d'une couche shapefile avec pyQGis

    Merci Skal pour votre prompte notification et je vous remercie vivement pour les efforts que vous déployés pour le succès de ce forum.
    J’utilise actuellement Notepad++ comme éditeur de python, mais je vais m’investir à apprendre XCODE.
    Toutefois, je souhaite avoir votre avis sur cette ligne du code, qui me parait erronée ou manquante:
    label.fieldName = "concat('BASE:',champNom1,'\\n','L=',champNom2 , 'm')"
    Cordialement

  4. #4

    Date d'inscription
    avril 2015
    Localisation
    Chambéry
    Emploi
    Géomaticien & Hydrogéologue
    Âge
    26
    Messages
    88

    Par défaut Re : Etiquetage multi-lignes d'une couche shapefile avec pyQGis

    La question est suivie ici:
    GIS Stack exchange

 

 

Discussions similaires

  1. [QGIS 2.x] Ecriture shapefile et iteration avec PyQGIS
    Par lota76 dans le forum Assistance et Programmation
    Réponses: 1
    Dernier message: 05/08/2016, 12h48
  2. [QGIS 2.x] PyQGIS selection de lignes d'une couche avec expression
    Par lota76 dans le forum Assistance et Programmation
    Réponses: 1
    Dernier message: 01/08/2016, 12h18
  3. [QGIS 2.x] Import d'une couche dans une base spatialite avec PyQGIS
    Par Lud dans le forum Assistance et Programmation
    Réponses: 1
    Dernier message: 25/07/2016, 13h22
  4. [QGIS 2.x] PyQGIS & selection multi critères
    Par lota76 dans le forum Assistance et Programmation
    Réponses: 2
    Dernier message: 19/07/2016, 09h24
  5. [ArcGIS 9.x] Multi étiquetage
    Par nabilos31 dans le forum Assistance Technique
    Réponses: 3
    Dernier message: 15/02/2010, 16h21

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
  •