Message posté par : Jérémie
----------------------------------------
-----------------
Nighthawk écrit :
Si je comprend bien (parce que je ne suis pas très familiarisé avec les regex) :
le '^(, )+' signifie que l'on est au début de la chaine de caractères (ce serait le "^" ?) et qu'il peut y avoir un nombre inconnu de ", " répétés (ce serait le "+" ?)
-----------------
C'est ça :
^ pour début de chaîne/ligne
(, ) : parenthèses pour grouper la chaîne composée de la virgule suivie de l'espace
+ pour indiquer que ce groupe est présent de 1 à n fois (donc au moins une fois)
-----------------
Nighthawk écrit :
Du coup on retrouverais le nombre inconnu de répétitions en milieu de chaîne (toujours avec le "+")
-----------------
oui, la deuxième étape est le remplacement du groupe (, ) présent entre 1 et n fois (le +) par une seule occurrence virgule espace
-----------------
Nighthawk écrit :
Et en fin de chaîne c'est un peu plus complexe pour moi : le "$" signifierais à la fois qu'on est en fin de chaine et qu'on a ", " répété un nombre inconnu de fois ?
-----------------
Le dollar signifie bien la fin de chaîne/ligne.
Donc là on remplace une virgule placée en fin de ligne par une chaîne vide.
Attention, si tu as encore une espace après la dernière virgule il faut la mettre dans la chaîne à remplacer :
-----------------
Code :
regexp_replace(
regexp_replace(
regexp_replace("champ" ,'^(, )+',''),
'(, )+',
', '),
',$ ',
''
)
-----------------
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=358801#p358801
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 : Nighthawk
----------------------------------------
Bonjour à tous les deux,
Excellent, c'est exactement ce que je cherchais !!! En plus je pense que je vais pouvoir le réutiliser dans d'autres cas de figure (je vais virer les 0 en trop dans mes numéros de parcelles) !!!
Si je comprend bien (parce que je ne suis pas très familiarisé avec les regex) :
le '^(, )+' signifie que l'on est au début de la chaine de caractères (ce serait le "^" ?) et qu'il peut y avoir un nombre inconnu de ", " répétés (ce serait le "+" ?)
Du coup on retrouverais le nombre inconnu de répétitions en milieu de chaîne (toujours avec le "+")
Et en fin de chaîne c'est un peu plus complexe pour moi : le "$" signifierais à la fois qu'on est en fin de chaine et qu'on a ", " répété un nombre inconnu de fois ?
Pour compléter, en réponse à arginet, je pourrais en effet récupérer les valeurs sous forme d'array, mais je ne connais pas non plus très bien les array. La solution serait si simple que ça ?
En tous cas merci pour votre aide, j'ai la réponse à ma question.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=358794#p358794
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 : Tixi
----------------------------------------
Bonsoir,
J ai une question a propos des valeurs par défaut dans les formulaires.
J ai besoin de remplir automatiquement des champs (numérotation automatique d entités, dates, chemins pour photos) lors de la saisie sur formulaire.
Pas complique, mais j ai un doute sur l efficacité d un réglage.
Il y a la fameuse case a cocher "Apply default value on update", ou appliquer la valeur par défaut sur les mise a jour.
Tout cela laisse penser que la formule va fonctionner sur la création d entités, pas sur la mise a jour (si la case n est pas cochée). C est d ailleurs ce qui se passe, et c est ce que je veux car sinon a chaque manip, mes numéros d entités ne cesseront pas d augmenter.
Cependant, quand on ne coche pas cette case "Apply default value on update", on a, suivant les formules utilisées, le message suivant :
L’utilisation de champs dans une expression de valeur par défaut ne fonctionne que si la case «Appliquer la valeur par défaut lors de la mise à jour » est cochée
Je ne comprend pas ce message, car mes formules marchent bien, ou semblent marcher, même lorsqu'elle contiennent des champs. J ai fait des tests de mise a jour d entités avec case cochée, et le contenu se met a jour, la numérotation s incrémente, ce n est pas ce que je veux.
Est ce que ce message est toujours valide pour une version 3,22, ou as t on affaire a un vieux warning inutile avec de nouvelles versions?
Qu'est je loupe dans mes tests?
Merci
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=358803#p358803
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 : Vauchey Vincent (vincent.vauchey(a)iea45.fr)
----------------------------------------
Bonjour,
Je voudrais savoir si il est possible de changer le champs de référence dans Qgis, je m'explique (voire image)
sous la zone expression, c'est le champs strate arborée qui sert de référence, et je voudrais avoir le champs Espèce à la place.
Par avance merci
----------------------------------------
Ce message est accompagné de fichiers, pour les télécharger, suivre le lien ci-dessous.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=358797#p358797
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 : Nighthawk
----------------------------------------
Bonjour,
Pour le contexte : une concaténation m'a rendu un résultat de ce type :
-----------------
Code :
, , , Résidences secondaires, , , Logement social,
-----------------
J'aimerais donc savoir s'il existe un moyen sous QGIS de :
1. retirer toutes les virgules situées à gauche de ma chaine de caractères (un lpad inversé en somme),
2. retirer toutes les virgules situées à droite (un rpad inversé),
3. remplacer mes suites de virgules au milieu de la chaine pour avoir une virgule simple (un replace).
Le souci c'est que le nombre de virgules peut varier pour les 3 points évoqués ci-dessus. Le résultat escompté serait donc celui-ci :
-----------------
Code :
Résidences secondaires, Logement social
-----------------
Sinon en passant par une autre méthode ?
A noter que je souhaite intégrer cette expression dans un module développé sur la base du modeleur graphique, donc une fonction SQL peut également fonctionner si c'est plus simple ?
D'avance merci pour vos idées.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=358780#p358780
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 : Vauchey Vincent (vincent.vauchey(a)iea45.fr)
----------------------------------------
Bonjour
J'ai un petit problème avec Qfield, je voudrais que le nom de mes photo est une certaine forme, mais je n'arrive pas à mes fins.
Je sais ou il faut mettre l'expression dans les propriétés de la couche mais rien ne fonctionne, j'ai toujours le nom par défaut : JPEG_20230228104433981.jpg
Pourtant je rentre une autre valeur 'DCIM/' || 'Photo1_' || format_date(now(),'dd_MM_yyyy / hh:mm_') || "NOM COMMUN" || '.jpg'
Si une personne à une solution.
Par avance merci
Vincent
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=358779#p358779
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 : Raphaelo
----------------------------------------
Bonjour,
Ayant créé un fond de carte avec un modèle d'élévation issu de rasters satellites, je me retrouve avec quelques anomalies dans les plaines littorales, au contact entre terre et mer (image jointe parlante !). Je cherche bien sûr à nettoyer tout cela, pixel par pixel si nécessaire. Des idées ?
Merci de votre attention et bonne journée,
Raphaël
----------------------------------------
Ce message est accompagné de fichiers, pour les télécharger, suivre le lien ci-dessous.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=358777#p358777
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 PLUVINET
----------------------------------------
Bonjour,
J'ai découvert récemment qu'on peut personnaliser la vue cartographique avec des expressions. (Vue/Décorations...)
Je souhaiterai, grâce à une expression, afficher dans une décoration "étiquette de titre" les attributs d'un champ "MYCOLUMN" pour les entités sélectionnées d'une couche "MYLAYER". Si plusieurs entités sont sélectionnées, l'expression renvoie les attributs de chaque entité avec un saut de ligne.
J'ai écris l'expression suivante, qui fonctionne mais qui est très lente car en effet, la couche, sur laquelle je travaille, contient plusieurs centaines de milliers de polygones :
-----------------
Code :
[% aggregate(
layer:= 'MYLAYER_3aa45b0e_0e3e_4599_88dd_174b921b12ba',
aggregate:='concatenate_unique',
expression:="MYCOLUMN" ,
concatenator:= '\n',
filter:=is_selected('MYLAYER_3aa45b0e_0e3e_4599_88dd_174b921b12ba',
$currentfeature
)
)
%]
-----------------
C'est d'ailleurs assez rapide et réactifs lorsque je filtre la couche sur quelques milliers de polygones, par un simple filtre sur la couche.
Est-ce qu'il y aurait un autre moyen pour rendre cette expression plus rapide ?
(A savoir que je n'affiche pas vraiment l'attribut mais le résultat d'un petit CASE WHEN très simple basé sur 2-3 colonnes)
Merci d'avance pour vos éventuels retours,
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=358766#p358766
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 : arivls (ririval01(a)gmail.com)
----------------------------------------
Bonjour à tous,
Je cherche à calculer la population (française) autour d'un point dans un rayon de 3 km (par exemple).
J'aimerai pouvoir faire ça de manière plutôt récurrente, mais seulement pour quelques points à chaque fois.
J'ai réussi à trouver une solution mais je voudrai savoir s'il n'existe pas un chemin plus simple / plus rapide (voire automatique).
J'ai importé la couche commune Admin Express et j'ai créé les zones tampon de 3km autour de mes points. Ensuite, j'ai sélectionné les communes comprise dans une zone tampon que je veux étudier (via "vecteur" -> "outils de rechercher" -> "sélectionner par localisation"). Et ensuite, j'ai utilisé "outils d'analyse" -> "statistiques basique pour les champs" et j'ai pu accéder à la somme du champs "population" de mes entités sélectionnées.
Cette méthode à plusieurs problèmes :
- elle ne peut être faite que pour une zone tampon à la fois
- je dois noter manuellement chaque somme dans un tableau à côté
- la couche "commune" n'est pas assez précise
Je me demandais donc s'il n'existe pas un outils qui peut permettre faire cette démarche plus facilement, et qui pourrait remplir un tableau directement.
Et si vous avez des liens vers des données raster de la population française, je suis preneuse car je n'ai pas réussi à en trouver et ma couche "commune" n'est pas assez précise.
Je vous remercie par avance !
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=358665#p358665
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 : Sig_Passy
----------------------------------------
Merci c'est parfait !
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=358762#p358762
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