Message posté par : Cedricc
----------------------------------------
Bonjour à tous,
J'ai un petit souci dans le code que je suis en train d'écrire, je cherche à extraire la valeur maximum d'une sélection. Sur l'ensemble d'une table, cela ne me pose pas de problème en utilisant
-----------------
Code :
idx = layer.fields().lookupField('id')
idmax = layer.maximumValue(idx)
-----------------
Mais sur une itération, je ne sais pas comment faire :
-----------------
Code :
layer = self.iface.activeLayer()
iter = layer.selectedFeatures()
for feature in iter:
...
-----------------
On ne peut pas utiliser maximumValue sur une sélection, j'obtiens le message suivant :
-----------------
Citation :
AttributeError: 'list' object has no attribute 'minimumValue'
-----------------
Quelle est la bonne méthode ?
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=322358#p322358
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 : Renaud Mouche (renaud(a)georezo.net)
----------------------------------------
Bonjour,
Regarde la solution utilisée par la BD Carthage :
- Une couche de cours d'eau, dont les linéaires vont de la source à la confluence et dont les attributs décrivent le cours d'eau dans son ensemble
- Une couche de tronçons hydrographiques, qui précisent les caractéristiques physique de chaque portion de cours d'eau.
- Un code cours d'eau pour faire le iien entre les deux couches
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=322357#p322357
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 : Pascal Boulerie
----------------------------------------
La notion d' objet géographique complexe composé de plusieurs objets géographiques simples existe-t-elle dans QGis ?
(pour faire le lien entre un ensemble et ses composants )
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=322356#p322356
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 : SANTANNA
----------------------------------------
Bonjour,
Quelle version de QGIS?
Les géométries sont-elle saines, sans erreur? Vous avez des extensions/algorithmes de vérification/correction de géométrie sinon.
(Re)calculez l'index spatial de vos couches, le cas échéant. c'est dans les propriétés de la couche, onglet Source (https://docs.qgis.org/testing/en/docs/user_manual/working_with_vector/vecto…) (sur une v3).
Sur la démarche, la jointure par localisation en elle-même pose question amha. Un bâtiment peut-il être à cheval sur deux parcelles? Auquel cas, à laquelle l'attribue-t-on alors?
Si vous voulez savoir quelle part/surface de chaque parcelle est bâtie ou non, je ne vois pas de procédure plus juste que de découper/différencier les parcelles des bâties et calculer les surfaces de parcelles qui restent. puis à refaire une jointure totale entre les deux couches (parcelle et parcelle différenciée): les parcelles manquantes (non jointes) sont 100% couvertes, donc 0% non bâties.
-----------------
Citation :
De plus, les parcelles ne contenant que du bâti ont disparu avec cette méthode et ont la valeur NULL après jointure...
-----------------
Si c'est cela qui vous dérange, recalculez ce champ en remplaçant les valeurs nulles par 0.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=322355#p322355
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 : oligator6200
----------------------------------------
Merci pour votre réponse. Je comprends bien mais comment faire pour dire que cette partie busée appartient bien à ce fossé hormis de par sa position géographique ? En gros je souhaiterais qu'en cliquant sur cette partie busée, QGIS retourne le fossé correspondant.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=322354#p322354
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 : cedbat
----------------------------------------
Bonjour tout le monde !
J'aurais besoin d'aide pour effectuer un calcul sur Qgis :
J'ai une couche parcelle contenant les champs surface et quartier. J'aimerais créer un champs qui renseigne la surface moyenne des parcelles par quartier.
Merci de votre aide !
Cédric
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=322352#p322352
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 : François063
----------------------------------------
Bonjour,
débutant sous QGIS et en python, je bute sur des règles de base notamment lors de la recherche, le parcours d'un dictionnaire
j'utilise actuellement la version 3.5 de QGIS au travers de "Script Runner" dans sa version 3.0.5
j'ai constitué un dictionnaire "List" contenant comme clefs des Tuples (Couche,Champ) et comme contenu, des infos sur le champ concerné sous forme de liste ex:
{('BDI_PLU', 'CODE_INSEE'): 'Champ,1,CODE_INSEE,String,5\n'}
Les Couches sont multiples tout comme les Champs
Les traitement précédents m'ont permis d'isoler cette Table 'BDI_PLU' pour laquelle j’attends un champ 'CODE_INSEE' qui est absent de la Table analysée
Je veux rechercher dans dans mon Dictionnaire "List" s'il existe (1 ou plusieurs) occurrences de la clef 'BDI_PLU' sans me préoccuper de la clef 'Champ' (dont je ne connais en théorie pas encore le détail) et si il en existe une, alors j'irai les parcourir une à une et les tracerai dans un fichier texte
Le code tel que je l'ai écrit ne lève plus d’exception mais n'identifie toujours pas la clef 'BDI_PLU' qui est pourtant présente dans le dictionnaire
(le for sera à corriger, une fois que le if sera vrai, mais je n'en suis pas encore là...)
-----------------
Code :
-----------------
if ca.name() in List:
orapport.write("il reste au moins un couple " + ca.name() + "/champ.name() dans List")
print("il reste au moins un couple " , ca.name() , "/champ.name() dans List")
for clef in List[(ca.name(),clef)]:
print (List[(ca.name(), clef)])
orapport.write(List[(ca.name(), clef)])
else:
print("il ne reste aucun couple non visité pour " , ca.name() , " dans List")
-----------------
Code :
-----------------
Je ne comprends pas pourquoi ca.name() qui contient 'BDI_PLU' n'est pas détecté dans "List" et me renvoie sur le else: "il ne reste aucun couple non visité pour " , ca.name() , " dans List"
Je pressent qu'un examen de tous les Tuples est nécessaire avant de tenter le 'in' sur List. Mais si tel était le cas, le in n'aurait plus d'intérêt selon moi
En vous remerciant pas avance pour vos éclairages
Cordialement
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=322351#p322351
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 : togmab
----------------------------------------
Bonjour,
Merci de votre réponse, oui je développe un plugin avec python je débute.
Est-ce que je dois créer un slot ?
Thomas
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=322348#p322348
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 : Bamakus
----------------------------------------
Bonjour,
Merci pour les astuces. Je vais m'y atteler dans les prochains jours. Je donnerais suite si je trouve une solution à mon problèmle.. Ça pourra éventuellement en aider d'autres !
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=322347#p322347
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 : dave31
----------------------------------------
Bonjour,
Dans QGIS/Préférences/Options/SCR/SCR pour les nouvelles couches/Quand une nouvelle couche est crée ou quand une couche est chargée sans SCR :
Je conseille de cocher : Demander le SCR
Ainsi :
- soit la couche s’ouvre automatiquement dans sa projection car elle indiquée dans le fichier.
- soit QGIS demande la projection car elle n’est pas indiquée dans le fichier (.prj si c’est du shape).
Ce qui réduit le risque d’erreur.
Les couches vectorielles sont en général avec un EPSG assigné dans le fichier.
Quand elles sont ouvertes dans QGIS, elles devraient apparaitre dans leurs projections. Il n’y a donc plus rien à changer au niveau SCR dans les propriétés de la couche.
Si les couches vectorielles proviennent de l’IGN (communes, hydro, ..), elles devraient être en 2154.
En général, le Lambert93 utilisé est le 2154.
2154 et 5698 sont équivalents et ne devraient pas poser de problème de superposition.
Pour reprojeter une couche vectorielle :
1- Option : indiquer le bon SCR original de la couche si la couche ne s’est pas ouverte automatiquement avec (ne pas modifier le SCR dans les propriétés si on n’est pas sûr d’indiquer le SCR d’origine)
2- clic-droit sur la couche/Exporter/Sauvegarder les entités sous
Paramètres SCR : indiquer la nouvelle projection voulu
Les anciens rasters n’ont pas toujours une projection assignée :
En cochant, comme expliqué précédemment “Demander le SCR“, QGIS demandra le SCR à l’ouverture s’il n’y en a pas d’indiqué dans le fichier.
Pour un scan25 de 2007, l’EPSG est 27572. Pour 2013, je ne sais pas ; mais il est toujours possible de tester le 27572 dans les propriétés.
Bon courage!
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=322346#p322346
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