Message posté par : SANTANNA
----------------------------------------
Bonjour,
-----------------
Citation :
Autre question, comment modifier l'ordre des champs. C'est d'ailleurs en essayant de le faire que la vue de la table d'attributs est devenue blanche.
-----------------
cf la doc (https://docs.qgis.org/3.28/fr/docs/user_manual/working_with_vector/attribut…)
-----------------
Citation :
Comment faire afficher les entités et les champs avec leur valeur pour l'entité concernée ?
-----------------
Vous avez un curseur vertical également donc les entités semblent être là. Pourquoi elles s'affichent pas? Je sais pas non plus. Mais je pense que c'est juste visuel. Avez-vous essayé de rouvrir la table attributaire? de passer la table attributaire en vue table (plutôt que formulaire)? ouvrir la couche dans un autre projet ou l'ajouter à nouveau et ouvrir la table de celle-ci?
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=361295#p361295
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 : Burol
----------------------------------------
Bonjour à tous,
Pas de réponse, donc je vais donner les solutions que j'ai finalement trouvées.
Pour la table attributaire apparaissant sans les attributs, c'est une solution un peu "bourrin", rechargement de la souche qui avait été sauvegardée auparavant en shapefile, copie de la symbologie de la couche défectueuse pour l'appliquer à la couche chargée, et suppression de la couche défectueuse.
Il doit y avoir mieux, mais je n'ai pas trouvé. Mais évidemment preneur de cette solution plus orthodoxe si quelqu'un l'a.
Pour le changement de l'ordre des champs, la solution est plus soft, elle est dans dans la boite à outils>Table vecteur>Refactoriser les champs. Cela crée une nouvelle couche et il faut donc copier le style de l'ancienne couche sur la nouvelle.
Cordialement
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=361327#p361327
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 : Kiecane
----------------------------------------
Bonjour,
Je rencontre actuellement un problème lié à l'étiquetage d'une de mes couches dans un projet QGIS que je dois constituer. Il s'agit d'une couche vectorielle de type polyligne. J'ai mis en pièces jointes d’une part la forme de la table attributaire et d’autre part le rendu cartographique de la couche.
Dans ma table attributaire (pièce jointe), les deux champs auxquels on s’intéresse sont « bidule » et « truc ». Le champ « bidule » peut uniquement présenter les valeurs ‘oui’ et ‘non’. Le champ « truc » est quant à lui un champ alphanumérique qui peut contenir toutes les valeurs possibles (ces valeurs peuvent se répéter), soit ici ‘a’, ‘b’ et ‘rien’.
Objectif : étiqueter avec le champ « truc » les entités pour lesquelles « bidule » = ‘oui’, de telle sorte que lorsque deux entités présentent la même valeur de « truc » dans un périmètre proche, alors une seule étiquette est associée à ces toutes ces entités. Autrement dit (cf pièce jointe), je souhaiterais étiqueter ma couche avec les lettre roses.
Tests réalisés :
Pour l’ensemble de mes tests, j’ai créé un étiquetage basé sur des règles en mettant dans la partie Règle mon code (cf ci-dessous), et dans la partie Texte le champ « truc ». J’ai considéré que plusieurs entités pouvaient avoir la même étiquette lorsque leur tampon de 0.004 se touchait (pour des questions de lisibilité uniquement). J’ai réalisé de nombreux tests pour tenter d’atteindre mon but, mais aucun ne s’est avéré concluant pour le moment. Je vais donc exposer ceux qui me rapprochent au mieux du résultat que je souhaite obtenir :
CODE 1 :
CASE
WHEN "bidule" = 'oui' AND array_length(array_distinct(aggregate('ma_couche', 'array_agg', $id, "bidule" = 'oui' and intersects($geometry, buffer(geometry(@parent), 0.004))))) = 1
THEN "truc"
ELSE ''
END
Le problème, c’est que cela m’affiche uniquement le b de l’entité 12. J’ai donc testé le code suivant pour y remédier :
CODE 2
CASE
WHEN
"bidule" = 'oui' AND array_length(array_distinct(aggregate('ma_couche', 'array_agg', $id, "bidule" = 'oui' and intersects($geometry, buffer(geometry(@parent), 0.004))))) = 1
THEN "truc"
WHEN ("bidule" = 'oui' AND array_length(array_distinct(aggregate('ma_couche', 'array_agg', $id, "bidule" = 'oui' and intersects($geometry, buffer(geometry(@parent), 0.004))))) != 1)
THEN array_to_string(array_distinct(aggregate('ma_couche', 'array_agg', 'array_agg', "truc", "bidule" = 'oui' and intersects($geometry, buffer(geometry(@parent), 0.004)))), ', ')
ELSE ''
END
mais cela ne fonctionne pas non plus….
Quelqu’un aurait-il une idée pour obtenir le rendu que je souhaite, c’est-à-dire les lignes avec les libellés roses associés (cf pièce jointe) ? Par ailleurs, n'hésitez pas à m'indiquer si vous avez besoin de plus amples informtions.
Merci d’avance,
Cordialement.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=361314#p361314
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 : Kiecane
----------------------------------------
Bonjour,
Je rencontre actuellement un problème lié à l'étiquetage d'une de mes couches dans un projet QGIS que je dois constituer. Il s'agit d'une couche vectorielle de type polyligne. J'ai mis en pièces jointes d’une part la forme de la table attributaire et d’autre part le rendu cartographique de la couche.
Dans ma table attributaire (pièce jointe), les deux champs auxquels on s’intéresse sont « bidule » et « truc ». Le champ « bidule » peut uniquement présenter les valeurs ‘oui’ et ‘non’. Le champ « truc » est quant à lui un champ alphanumérique qui peut contenir toutes les valeurs possibles (ces valeurs peuvent se répéter), soit ici ‘a’, ‘b’ et ‘rien’.
Objectif : étiqueter avec le champ « truc » les entités pour lesquelles « bidule » = ‘oui’, de telle sorte que lorsque deux entités présentent la même valeur de « truc » dans un périmètre proche, alors une seule étiquette est associée à ces toutes ces entités. Autrement dit (cf pièce jointe), je souhaiterais étiqueter ma couche avec les lettre roses.
Tests réalisés :
Pour l’ensemble de mes tests, j’ai créé un étiquetage basé sur des règles en mettant dans la partie Règle mon code (cf ci-dessous), et dans la partie Texte le champ « truc ». J’ai considéré que plusieurs entités pouvaient avoir la même étiquette lorsque leur tampon de 0.004 se touchait (pour des questions de lisibilité uniquement). J’ai réalisé de nombreux tests pour tenter d’atteindre mon but, mais aucun ne s’est avéré concluant pour le moment. Je vais donc exposer ceux qui me rapprochent au mieux du résultat que je souhaite obtenir :
CODE 1 :
CASE
WHEN "bidule" = 'oui' AND array_length(array_distinct(aggregate('ma_couche', 'array_agg', $id, "bidule" = 'oui' and intersects($geometry, buffer(geometry(@parent), 0.004))))) = 1
THEN "truc"
ELSE ''
END
Le problème, c’est que cela m’affiche uniquement le b de l’entité 12. J’ai donc testé le code suivant pour y remédier :
CODE 2
CASE
WHEN
"bidule" = 'oui' AND array_length(array_distinct(aggregate('ma_couche', 'array_agg', $id, "bidule" = 'oui' and intersects($geometry, buffer(geometry(@parent), 0.004))))) = 1
THEN "truc"
WHEN ("bidule" = 'oui' AND array_length(array_distinct(aggregate('ma_couche', 'array_agg', $id, "bidule" = 'oui' and intersects($geometry, buffer(geometry(@parent), 0.004))))) != 1)
THEN array_to_string(array_distinct(aggregate('ma_couche', 'array_agg', 'array_agg', "truc", "bidule" = 'oui' and intersects($geometry, buffer(geometry(@parent), 0.004)))), ', ')
ELSE ''
END
mais cela ne fonctionne pas non plus….
Quelqu’un aurait-il une idée pour obtenir le rendu que je souhaite, c’est-à-dire les lignes avec les libellés roses associés (cf pièce jointe) ? Par ailleurs, n'hésitez pas à m'indiquer si vous avez besoin de plus amples informtions.
Merci d’avance,
Cordialement.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=361321#p361321
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 : Kiecane
----------------------------------------
Bonjour,
Je rencontre actuellement un problème lié à l'étiquetage d'une de mes couches dans un projet QGIS que je dois constituer. Il s'agit d'une couche vectorielle de type polyligne. J'ai mis en pièces jointes d’une part la forme de la table attributaire et d’autre part le rendu cartographique de la couche.
Dans ma table attributaire (pièce jointe), les deux champs auxquels on s’intéresse sont « bidule » et « truc ». Le champ « bidule » peut uniquement présenter les valeurs ‘oui’ et ‘non’. Le champ « truc » est quant à lui un champ alphanumérique qui peut contenir toutes les valeurs possibles (ces valeurs peuvent se répéter), soit ici ‘a’, ‘b’ et ‘rien’.
Objectif : étiqueter avec le champ « truc » les entités pour lesquelles « bidule » = ‘oui’, de telle sorte que lorsque deux entités présentent la même valeur de « truc » dans un périmètre proche, alors une seule étiquette est associée à ces toutes ces entités. Autrement dit (cf pièce jointe), je souhaiterais étiqueter ma couche avec les lettre roses.
Tests réalisés :
Pour l’ensemble de mes tests, j’ai créé un étiquetage basé sur des règles en mettant dans la partie Règle mon code (cf ci-dessous), et dans la partie Texte le champ « truc ». J’ai considéré que plusieurs entités pouvaient avoir la même étiquette lorsque leur tampon de 0.004 se touchait (pour des questions de lisibilité uniquement). J’ai réalisé de nombreux tests pour tenter d’atteindre mon but, mais aucun ne s’est avéré concluant pour le moment. Je vais donc exposer ceux qui me rapprochent au mieux du résultat que je souhaite obtenir :
CODE 1 :
CASE
WHEN "bidule" = 'oui' AND array_length(array_distinct(aggregate('ma_couche', 'array_agg', $id, "bidule" = 'oui' and intersects($geometry, buffer(geometry(@parent), 0.004))))) = 1
THEN "truc"
ELSE ''
END
Le problème, c’est que cela m’affiche uniquement le b de l’entité 12. J’ai donc testé le code suivant pour y remédier :
CODE 2
CASE
WHEN
"bidule" = 'oui' AND array_length(array_distinct(aggregate('ma_couche', 'array_agg', $id, "bidule" = 'oui' and intersects($geometry, buffer(geometry(@parent), 0.004))))) = 1
THEN "truc"
WHEN ("bidule" = 'oui' AND array_length(array_distinct(aggregate('ma_couche', 'array_agg', $id, "bidule" = 'oui' and intersects($geometry, buffer(geometry(@parent), 0.004))))) != 1)
THEN array_to_string(array_distinct(aggregate('ma_couche', 'array_agg', 'array_agg', "truc", "bidule" = 'oui' and intersects($geometry, buffer(geometry(@parent), 0.004)))), ', ')
ELSE ''
END
mais cela ne fonctionne pas non plus….
Quelqu’un aurait-il une idée pour obtenir le rendu que je souhaite, c’est-à-dire les lignes avec les libellés roses associés (cf pièce jointe) ? Par ailleurs, n'hésitez pas à m'indiquer si vous avez besoin de plus amples informtions.
Merci d’avance,
Cordialement.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=361320#p361320
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 : Kiecane
----------------------------------------
Bonjour,
Je rencontre actuellement un problème lié à l'étiquetage d'une de mes couches dans un projet QGIS que je dois constituer. Il s'agit d'une couche vectorielle de type polyligne. J'ai mis en pièces jointes d’une part la forme de la table attributaire et d’autre part le rendu cartographique de la couche.
Dans ma table attributaire (pièce jointe), les deux champs auxquels on s’intéresse sont « bidule » et « truc ». Le champ « bidule » peut uniquement présenter les valeurs ‘oui’ et ‘non’. Le champ « truc » est quant à lui un champ alphanumérique qui peut contenir toutes les valeurs possibles (ces valeurs peuvent se répéter), soit ici ‘a’, ‘b’ et ‘rien’.
Objectif : étiqueter avec le champ « truc » les entités pour lesquelles « bidule » = ‘oui’, de telle sorte que lorsque deux entités présentent la même valeur de « truc » dans un périmètre proche, alors une seule étiquette est associée à ces toutes ces entités. Autrement dit (cf pièce jointe), je souhaiterais étiqueter ma couche avec les lettre roses.
Tests réalisés :
Pour l’ensemble de mes tests, j’ai créé un étiquetage basé sur des règles en mettant dans la partie Règle mon code (cf ci-dessous), et dans la partie Texte le champ « truc ». J’ai considéré que plusieurs entités pouvaient avoir la même étiquette lorsque leur tampon de 0.004 se touchait (pour des questions de lisibilité uniquement). J’ai réalisé de nombreux tests pour tenter d’atteindre mon but, mais aucun ne s’est avéré concluant pour le moment. Je vais donc exposer ceux qui me rapprochent au mieux du résultat que je souhaite obtenir :
CODE 1 :
CASE
WHEN "bidule" = 'oui' AND array_length(array_distinct(aggregate('ma_couche', 'array_agg', $id, "bidule" = 'oui' and intersects($geometry, buffer(geometry(@parent), 0.004))))) = 1
THEN "truc"
ELSE ''
END
Le problème, c’est que cela m’affiche uniquement le b de l’entité 12. J’ai donc testé le code suivant pour y remédier :
CODE 2
CASE
WHEN
"bidule" = 'oui' AND array_length(array_distinct(aggregate('ma_couche', 'array_agg', $id, "bidule" = 'oui' and intersects($geometry, buffer(geometry(@parent), 0.004))))) = 1
THEN "truc"
WHEN ("bidule" = 'oui' AND array_length(array_distinct(aggregate('ma_couche', 'array_agg', $id, "bidule" = 'oui' and intersects($geometry, buffer(geometry(@parent), 0.004))))) != 1)
THEN array_to_string(array_distinct(aggregate('ma_couche', 'array_agg', 'array_agg', "truc", "bidule" = 'oui' and intersects($geometry, buffer(geometry(@parent), 0.004)))), ', ')
ELSE ''
END
mais cela ne fonctionne pas non plus….
Quelqu’un aurait-il une idée pour obtenir le rendu que je souhaite, c’est-à-dire les lignes avec les libellés roses associés (cf pièce jointe) ? Par ailleurs, n'hésitez pas à m'indiquer si vous avez besoin de plus amples informtions.
Merci d’avance,
Cordialement.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=361318#p361318
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 : Kiecane
----------------------------------------
Bonjour,
Je rencontre actuellement un problème lié à l'étiquetage d'une de mes couches dans un projet QGIS que je dois constituer. Il s'agit d'une couche vectorielle de type polyligne. J'ai mis en pièces jointes d’une part la forme de la table attributaire et d’autre part le rendu cartographique de la couche.
Dans ma table attributaire (pièce jointe), les deux champs auxquels on s’intéresse sont « bidule » et « truc ». Le champ « bidule » peut uniquement présenter les valeurs ‘oui’ et ‘non’. Le champ « truc » est quant à lui un champ alphanumérique qui peut contenir toutes les valeurs possibles (ces valeurs peuvent se répéter), soit ici ‘a’, ‘b’ et ‘rien’.
Objectif : étiqueter avec le champ « truc » les entités pour lesquelles « bidule » = ‘oui’, de telle sorte que lorsque deux entités présentent la même valeur de « truc » dans un périmètre proche, alors une seule étiquette est associée à ces toutes ces entités. Autrement dit (cf pièce jointe), je souhaiterais étiqueter ma couche avec les lettre roses.
Tests réalisés :
Pour l’ensemble de mes tests, j’ai créé un étiquetage basé sur des règles en mettant dans la partie Règle mon code (cf ci-dessous), et dans la partie Texte le champ « truc ». J’ai considéré que plusieurs entités pouvaient avoir la même étiquette lorsque leur tampon de 0.004 se touchait (pour des questions de lisibilité uniquement). J’ai réalisé de nombreux tests pour tenter d’atteindre mon but, mais aucun ne s’est avéré concluant pour le moment. Je vais donc exposer ceux qui me rapprochent au mieux du résultat que je souhaite obtenir :
CODE 1 :
CASE
WHEN "bidule" = 'oui' AND array_length(array_distinct(aggregate('ma_couche', 'array_agg', $id, "bidule" = 'oui' and intersects($geometry, buffer(geometry(@parent), 0.004))))) = 1
THEN "truc"
ELSE ''
END
Le problème, c’est que cela m’affiche uniquement le b de l’entité 12. J’ai donc testé le code suivant pour y remédier :
CODE 2
CASE
WHEN
"bidule" = 'oui' AND array_length(array_distinct(aggregate('ma_couche', 'array_agg', $id, "bidule" = 'oui' and intersects($geometry, buffer(geometry(@parent), 0.004))))) = 1
THEN "truc"
WHEN ("bidule" = 'oui' AND array_length(array_distinct(aggregate('ma_couche', 'array_agg', $id, "bidule" = 'oui' and intersects($geometry, buffer(geometry(@parent), 0.004))))) != 1)
THEN array_to_string(array_distinct(aggregate('ma_couche', 'array_agg', 'array_agg', "truc", "bidule" = 'oui' and intersects($geometry, buffer(geometry(@parent), 0.004)))), ', ')
ELSE ''
END
mais cela ne fonctionne pas non plus….
Quelqu’un aurait-il une idée pour obtenir le rendu que je souhaite, c’est-à-dire les lignes avec les libellés roses associés (cf pièce jointe) ? Par ailleurs, n'hésitez pas à m'indiquer si vous avez besoin de plus amples informtions.
Merci d’avance,
Cordialement.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=361315#p361315
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 : Yunali
----------------------------------------
Bonjour,
Je travaille sur projet biodiversité sous QGIS 3.28.
J'aimerais faire une symbologie d'histogrammes empilés sur ma couche vectorielle, mais ne trouve pas la fonctionnalité "empilé" pour représenter 2 informations imbriquées.
Ma couche contient le nombre de taxons (mammifères, oiseaux, feuillus, conifères) présents sur chaque site (entité). Chaque taxon appartient à un taxon supérieur (végétal ou animal).
La table attributaire est composée : des entités en ligne (les différents sites), et des champs biodiv en colonne, comportant la double info taxonomique dans le titre ("V_conifere" pour "végétal - conifère" ou "A_mamm" pour "animal - mammifères", par exemple).
J'aimerais faire des histogramme avec une barre "végétal" et une barre "animal" pour chaque site, avec dans chacune le détail des autres taxons (cf image).
Comme faire ?
Merci !
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=361312#p361312
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 : CB06 (technique(a)activdetection.fr)
----------------------------------------
Bonjour à tous,
Voici mon problème :
Je dois joindre par localisation deux couches de points superposées X et Y (chacune des deux tables ont les champs bien renseigné).
J'effectue donc la jointure (Vecteur/Outils de gestion de données/Joindre les attributs par localisation)
Joindre aux entités de X
Les entités qu'elle (intersecte/contient/etc... je coche tout)
en comparant à Y
Type jointure : prendre uniquement les attributs de la première entité correspondante (un à un)
Exécuter
J'ouvre ensuite la table d'attribut de la jointure créée et les attributs de Y n'apparaissent pas, les cases restent en NULL.
Je ne comprends pas pourquoi, les points de X sont déplacés sur les points Y avec un accrochage aux objets.
Merci d'avance pour votre aide, Bien cordialement, Céline
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=361300#p361300
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 : PY Joubert
----------------------------------------
Bonjour,
Nous étudions la migration de notre système d'information géographique (Actuellement ELYX) vers QGIS.
Dans ELYX, nous avons une multitude de fichier de style (plusieurs couche, plusieurs classe s de représentation). Bref, un nombre colossal.
Mes questions :
1) Faut-il mieux constituer au départ une bibliothèque de style pouvant être potentiellement utilisée ?
2) Est-ce que si des styles de couche présents dans les QML se font pas partie de la bibliothèque de styles ils vont se rajoutés automatiquement ?
3) J'ai eu beau chercher, je ne trouve pas la syntaxe exhaustive des fichier de style QML, avez-vous des références à me proposer afin de pouvoir écrire ces QML ?
4) Dans le cas d'un bibliothèque de style préalablement construite, comment l'utiliser dans les fichier QML sans reprendre la définition complète de chacun (des liens ?) ?
5) Est ce quelqu'un du forum à déjà affronté cette problématique de migration ?
Merci encore de vos réponses et bonne journée
PYJ
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=361309#p361309
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