Guest User

Untitled

a guest
Oct 18th, 2017
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.62 KB | None | 0 0
  1. def labelLine(lyr, champNom1, champNom2):
  2. # Cette fonction montre les etiquettes des champs "champNom1" et "champNom2" pour une couche "Ligne"
  3. label = QgsPalLayerSettings()
  4. label.readFromLayer(lyr)
  5. label.enabled = True
  6. # on concate les deux champs
  7. label.fieldName = "concat('BASE: ', champNom1, '\n', 'Longueur =', champNom2, 'm')"
  8. label.placement= QgsPalLayerSettings.Line
  9. # on applique un buffer de 1 mm
  10. label.bufferDraw= True
  11. label.bufferSize= 1
  12. label.setDataDefinedProperty(QgsPalLayerSettings.Size,True,True,'8','')
  13. # on confirme les changements
  14. label.writeToLayer(lyr)
  15.  
  16. def saveCoucheFRAC():
  17. layer=iface.activeLayer()
  18. nom=nom2+"_FRAC"
  19. lien=path2+"_FRAC"+".shp"
  20. QgsVectorFileWriter.writeAsVectorFormat(layer,lien,"utf-8",QgsCoordinateReferenceSystem(22332, QgsCoordinateReferenceSystem.EpsgCrsId),"ESRI Shapefile")
  21. #Charger cette couche dans QGis
  22. vlayer=QgsVectorLayer(lien, nom, "ogr")
  23. if not vlayer.isValid():
  24. print " Verifier la validite du fichier"
  25. else:
  26. # appliquer les couleurs selon le niveau de tension avec la fonction appCouleur
  27. appCouleur(vlayer)
  28. # changer l'epaisseur de la couche ligne
  29. epaiLyr(vlayer, "0.7")
  30. # on specifie les noms des champs « Base » et l'etiquette de longueur «Longueur_m » sur chaque segment entre deux pylones
  31. labelLine(vlayer, "BASE", "Longueur_m")
  32. # Definir la visibilite de la couche entre ech min 0 et max 100 000
  33. visLyr(vlayer, 0, 100000)
  34. #Charger dans le Canvas
  35. QgsMapLayerRegistry.instance().addMapLayer(vlayer)
  36.  
  37. saveCoucheFRAC()
Add Comment
Please, Sign In to add comment