Message posté par : Francois Hebrard
----------------------------------------
Dans le formulaire d'attributs, tu peux forcer une valeur pré-calculé, comme ça tu n'auras qu'à rentrer une première fois le numéro de compteur et que les relevé après. Tu répète le calcul de l'ID en faisant appel à la ligne précédente et tu fais +1 à l'étage.
Tu auras des pistes dans ce post : https://georezo.net/forum/viewtopic.php?id=120065
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=371283#p371283
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 : ccam86
----------------------------------------
Super merci beaucoup je suis sur la version 3.34.14-Prizren.
Voici le code retravaillé que @SANTANNA tu m'a présenté et qui fonctionne à merveille:
-----------------
Code :
left(
array_first(
overlay_intersects(
'T_commune_5898a6b5_b79c_43b6_8990_3eb7b8f856b6',
concat("CM_NOM", ': ', area(intersection(@geometry, geometry(@parent))) || ' m²'),
sort_by_intersection_size := 'desc'
)
),
strpos(
array_first(
overlay_intersects(
'T_commune_5898a6b5_b79c_43b6_8990_3eb7b8f856b6',
concat("CM_NOM", ': ', area(intersection(@geometry, geometry(@parent))) || ' m²'),
sort_by_intersection_size := 'desc'
)
),
':'
) - 1
)
-----------------
Voici la photo du resultat champ "test"
https://image.noelshack.com/fichiers/2025/04/1/1737380073-sql-ok.pnghttps://image.noelshack.com/minis/2025/04/1/1737380073-sql-ok.png (https://www.noelshack.com/2025-04-1-1737380073-sql-ok.png)
Merci beaucoup !
J'ai cependant une autre question :
Pourquoi QGIS n'intègre-t-il pas la fonction :
-----------------
Code :
sort_by_intersection_size:='des')
-----------------
Je ne l'ai pas trouvée.
des = desc --> j'ai un peu de mal à comprendre ?
Cette fonctionnalité peut-elle également fonctionner avec des polylignes ?
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=371249#p371249
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 : ccam86
----------------------------------------
Je vient de faire une correction du code :
Pour voir dans le champ CM_1 - La commune avec la plus grande surface intersecté avec T_commune:
-----------------
Code :
left(
array_get(
overlay_intersects(
'T_commune_5898a6b5_b79c_43b6_8990_3eb7b8f856b6',
concat("CM_NOM", ': ', area(intersection(@geometry, geometry(@parent))) || ' m²'),
sort_by_intersection_size := 'desc'
),
0 -- Index 0 pour la plus grande surface
),
strpos(
array_get(
overlay_intersects(
'T_commune_5898a6b5_b79c_43b6_8990_3eb7b8f856b6',
concat("CM_NOM", ': ', area(intersection(@geometry, geometry(@parent))) || ' m²'),
sort_by_intersection_size := 'desc'
),
0
),
':'
) - 1
)
-----------------
Puis voir la seconde commune - CM_2:
-----------------
Code :
left(
array_get(
overlay_intersects(
'T_commune_5898a6b5_b79c_43b6_8990_3eb7b8f856b6',
concat("CM_NOM", ': ', area(intersection(@geometry, geometry(@parent))) || ' m²'),
sort_by_intersection_size := 'desc'
),
1 -- Index 1 correspond à la deuxième valeur (les indices commencent à 0)
),
strpos(
array_get(
overlay_intersects(
'T_commune_5898a6b5_b79c_43b6_8990_3eb7b8f856b6',
concat("CM_NOM", ': ', area(intersection(@geometry, geometry(@parent))) || ' m²'),
sort_by_intersection_size := 'desc'
),
1
),
':'
) - 1
)
-----------------
Merci beaucoup pour l'aide et la correction.
Je vais essayer de trouvé prochainement un code également pour les polylignes.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=371250#p371250
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 : Samuel Gélineau (sam.g.photographie(a)gmail.com)
----------------------------------------
Bonjour,
J'ai créé un module de saisie pour QField avec le formulaire d'attribut sur QGIS pour une couche de point. Tout fonctionne bien, je peux exporter mon projet avec QField Sync et la saisie se passe bien. Mais normalement je devrais avoir sur un même ligne, 2 module de saisie. J'ai utilisé le cadre de groupe pour afficher mes champ à saisir sur la même ligne, soit dans 2 colonnes.
Sur le téléphone d'un ami cela fonctionne parfaitement, mais sur le miens, il n'y a pas 2 colonnes. J'imagine que cela vient de l'application QFIeld mais je ne vois pas ce que nous pouvons avoir comme différence de paramètres (les 2 téléphones sont en Android).
Si quelqu'un a la solution je suis preneur, Merci !
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=371260#p371260
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 : djbnj84 (djbnj84(a)hotmail.com)
----------------------------------------
Bonjour,
Je souhaiterai avoir vos conseils. Je travail sur un projet, Qgis + qfield. Preons l'exemple ou je dois référencer tout les compteurs d'eau des bâtiments d'une ville, avec pour chacun le nombre d'étage, et le numero de série, l'année de fabrication et le relevé d'index de chaque compteur par étage.
Je ne voudrais pas crééer 20 étages et 20 relevés compteur par étages sur mon formulaire d'attributs pour ne pas l'alourdir.
L'idée en gros (si cela est possible) sur qfield
Etage 1:
Releve 1 num serie/année/index et que je puisse rajouter par exemple avec un onglet + relevé 2 qui s'incrémente
Pareil pour les étages que je puisse créer avec un onglet +
Merci pour votre aide
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=371245#p371245
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 : ccam86
----------------------------------------
Bonjour,
Bonne année à tous ! Et oui, il n'est pas trop tard.
Voici le souci rencontré :
Je rencontre un problème pour obtenir le nom de la commune en fonction de l'intersection d'un polygone de la couche T_plandeau avec la couche T_commune. J'ai essayé plusieurs formules dans QGIS pour récupérer ce nom en fonction de la surface d'intersection, mais je n'arrive pas à obtenir le résultat escompté. Voici les formules que j'ai utilisées :
La première formule :
-----------------
Code :
array_to_string(
array_sort(
overlay_intersects(
'T_commune_5898a6b5_b79c_43b6_8990_3eb7b8f856b6',
concat("CM_NOM", ': ', area(intersection(@geometry, $geometry)))
),
area(intersection(@geometry, $geometry))
),
', '
)
-----------------
Cette formule permet de concaténer le nom de la commune et la surface de l'intersection, mais je ne parviens pas à filtrer correctement les résultats.
La deuxième formule :
-----------------
Code :
array_first(
array_sort(
overlay_intersects(
'T_commune_5898a6b5_b79c_43b6_8990_3eb7b8f856b6',
concat("CM_NOM", ': ', area(intersection(@geometry, $geometry)))
),
area(intersection(@geometry, $geometry))
)
)
-----------------
Cette version devrait retourner le premier élément après le tri par surface d'intersection, mais elle ne semble pas donner le bon résultat.
La troisième formule :
-----------------
Code :
left(
array_first(
array_sort(
overlay_intersects(
'T_commune_5898a6b5_b79c_43b6_8990_3eb7b8f856b6',
concat("CM_NOM", ': ', area(intersection(@geometry, $geometry)))
),
area(intersection(@geometry, $geometry))
)
),
strpos(
array_first(
array_sort(
overlay_intersects(
'T_commune_5898a6b5_b79c_43b6_8990_3eb7b8f856b6',
concat("CM_NOM", ': ', area(intersection(@geometry, $geometry)))
),
area(intersection(@geometry, $geometry))
)
),
':'
) - 1
)
-----------------
Cette formule est censée extraire le nom de la commune avant le séparateur : dans le résultat de l'intersection, mais elle ne fonctionne pas comme prévu. En réalité, elle extrait la surface des communes intersectées et non la surface de la zone concernée au sein de chaque commune. À titre d'exemple, voici les surfaces des communes :
22 080 235 m² pour Ségrie
11 219 299 m² pour Saint-Christophe-du-Jambet
Sur la capture d'écran, vous pouvez remarquer que 'Saint-Christophe-du-Jambet' apparaît en première position et que 'Ségrie' figure systématiquement en deuxième position.
J'ai pris une capture d'écran du résultat de la formule, mais les résultats ne correspondent pas à ce que j'attendais. Est-ce que quelqu'un aurait une idée pour corriger ou améliorer ces formules afin d'obtenir le nom de la commune correspondant correctement à l'intersection de la surface ?
----------------------------------------
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=371242#p371242
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 : laurent00
----------------------------------------
merci
j'ai bien vu 'Compter les points dans les polygones' mais fonctionne avec une seule couche a priori, peut être exécuter par lot peut répondre à mon besoin
par contre que sur des couche points a priori aussi
je vais regarder pour overlay_intersects()
LJ
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=371218#p371218
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 : laurent00
----------------------------------------
Ne serait-ce pas possible de créer une couche virtuelle qui concatène les entités points de chacune de mes couches points + les centroïdes des entités de mes couches polygones
et ensuite utiliser 'compter les points dans les polygones de ma grille ?
si possible besoin d'un aide pour créer la couche virtuelle en sql
LJ
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=371225#p371225
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 : heloise
----------------------------------------
Bonjour Elise !
Merci pour votre réponse !
Je pense qu'il y a plus simple pour faire ce que vous avez fait, si j'ai bien compris vos captures d'écran.
Vous avez la possibilité dans le panneau de couches d'appliquer une symbologie différente à l'entité affichée sur la Carte 1 par rapport aux autres.
Vous pouvez voir sur la copie d'écran, j'ai choisi d'afficher :
- en rouge, l'entité affichée dans la carte 1.
- en gris, les autres entités.
Pour faire cela, il vous faut aller dans symbologie et choisir ensemble de règles. Entrer les paramètres comme sur la copie d'écran.
----------------------------------------
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=371015#p371015
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