Message posté par : lejedi76
----------------------------------------
Bonjour,
pour récupérer un objet de type QgsVectorLayer il faut utiliser une méthode particulière de la classe QgsProcessingAlgorithm
qui se nomme parameterAsLayer (https://qgis.org/pyqgis/3.0/core/Processing/QgsProcessingAlgorithm.html#qgi…) .
Il faut donc rajouter ceci dans votre code :
-----------------
Code :
..
nonbati_layer = self.parameterAsLayer(parameters, 'nonbati', context)
features = nonbati_layer.getFeatures()
..
-----------------
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=321784#p321784
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : romainbh
----------------------------------------
Bonjour,
L'unité de taille de police des étiquettes est paramétrable dans les propriétés des étiquettes. Pour être sûr d'avoir une taille correcte, le plus simple d'utiliser les millimètres. Le rendu sera alors identique sur la mise en page et lors de l'export.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=321783#p321783
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : zack
----------------------------------------
Bonjour,
J'ai exporté un script produit avec le modeleur graphique de QGIS, et j'essaye de modifier le code pour automatiser des boucles.
J'ai simplifié le code en ne mettant qu'un traitement pour l'instant (le buffer), et j'ai essayé de faire une boucle for en récupérant les entités de ma couche :
-----------------
Code :
from qgis.core import QgsProcessing
from qgis.core import QgsProcessingAlgorithm
from qgis.core import QgsProcessingMultiStepFeedback
from qgis.core import QgsProcessingParameterVectorLayer
from qgis.core import QgsProcessingParameterFeatureSource
from qgis.core import QgsProcessingParameterFeatureSink
import processing
class Modele_iteration(QgsProcessingAlgorithm):
def initAlgorithm(self, config=None):
self.addParameter(QgsProcessingParameterVectorLayer('total', 'Sortie "total" ', types=[QgsProcessing.TypeVectorPolygon], defaultValue='I:/user/DONNEES/temp/test_iteration_pyqgis/total.shp'))
self.addParameter(QgsProcessingParameterFeatureSource('nonbati', 'Sortie "non bâti" ', types=[QgsProcessing.TypeVectorPolygon], defaultValue='I:/user/DONNEES/temp/test_iteration_pyqgis/nonbati.shp'))
self.addParameter(QgsProcessingParameterFeatureSink('Sortie', 'sortie', type=QgsProcessing.TypeVectorAnyGeometry, createByDefault=True, defaultValue='I:/user/DONNEES/temp/test_iteration_pyqgis/test.shp'))
def processAlgorithm(self, parameters, context, model_feedback):
# Use a multi-step feedback, so that individual child algorithm progress reports are adjusted for the
# overall progress through the model
feedback = QgsProcessingMultiStepFeedback(1, model_feedback)
results = {}
outputs = {}
features = parameters['nonbati'].getFeatures()
for feature in features :
# Tampon
alg_params = {
'DISSOLVE': False,
'DISTANCE': 0.5,
'END_CAP_STYLE': 0,
'INPUT': f,
'JOIN_STYLE': 0,
'MITER_LIMIT': 2,
'SEGMENTS': 5,
'OUTPUT': parameters['Sortie']
}
outputs['Tampon'] = processing.run('native:buffer', alg_params, context=context, feedback=feedback, is_child_algorithm=True)
results['Sortie'] = outputs['Tampon']['OUTPUT']
return results
def name(self):
return 'modele_iteration'
def displayName(self):
return 'modele_iteration'
def group(self):
return 'modele'
def groupId(self):
return 'modele'
def createInstance(self):
return Modele_iteration()
-----------------
Mais ça ne marche pas comme ça apparemment, puisqu'il me dit "AttributeError: 'str' object has no attribute 'getFeatures'".
Est-ce que quelqu'un sait comment construire une boucle pyqgis ?
D'autant qu'après coup, j'aimerai mettre cette boucle for dans une boucle while, afin qu'il répète l'action tant que des changements sont effectués. En gros mon modèle vise à changer un champs "affectation" en fonction des valeurs des polygones voisins, et il doit se répéter jusqu'à ce qu'il n'y ait plus de polygones qui changent d'affectation.
Merci de votre aide !
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=321777#p321777
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : michel56
----------------------------------------
Bonjour,
C'est bien les JP2 qu'il faut importer. Les autres fichiers sont utilisés avec des logiciels comme MapInfo pour les ".tab"
Tu peux regrouper tes JP2 dans un groupe de calques ou si tu ne veux q'un seul calque tu crées un fichier VRT.
Pour l'affichage des couches à grande échelle, il faut paramétrer l’échelle de visibilité.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=321770#p321770
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : azer0
----------------------------------------
Bonjour, merci beaucoup pour cette réponse, malheureusement, je dispose d'une connexions internet très faible, donc je vais regarder plus en détaille cette histoire de propriété de couche.
Encore merci !
Azer0
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=321767#p321767
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : Gael35
----------------------------------------
Bonjour,
Désolé Qgis 2.18.19
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=321764#p321764
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : Richard Pena (richardpena3(a)orange.fr)
----------------------------------------
merci beaucoup !!!!
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=321760#p321760
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : Jean Cascalès
----------------------------------------
Bonjour,
lorsque j'exporte en A0 en pdf, les étiquettes deviennent minuscules. Comment le corriger?
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=321758#p321758
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : fls66
----------------------------------------
Alors j'ai fait ça, je l'ai ouvert normalement sur QGIS, en selection Longitude en X et latiture en Y, mais les points apparaissent au mauvais endroit de la carte. Y aurait-il des réglages à faire sur QGIS pour qu'il reconnaisse mieux les points de coordonnées
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=321757#p321757
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : lejedi76
----------------------------------------
-----------------
SANTANNA écrit :
Bonjour,
Moi, avec le délimiteur de texte mes tentatives ont échoué jusqu'à ce que je coche "Virgule en séparateur décimal" dans l'interface. Et j'ai les points.
-----------------
Effectivement, j'ai omis de préciser que j'avais coché la virgule en séparateur.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=321752#p321752
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net