Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

#1 Wed 13 January 2021 19:01

Pasteque
Membre
Date d'inscription: 9 Jun 2016
Messages: 3

QGIS: Supprimer doublons geometriques selon valeur minimale champ

Bonjour à tous,

Je possède une couche de polygones avec plusieurs champs. Des doublons de géométries sont présents dans cette couche.
J'aimerais obtenir uniquement des géométries uniques et pour lesquelles la valeur du champ A est minimale (dans un groupe de doublons).
Par exemple, avec les données suivantes (GEOM étant là pour identifier les géométries mais n'est pas présent en tant que champ) :

GEOM  ChampA
   1            6
   1            4
   2            1
   3            7
   4           24
   5            6
   5           92
   5            8

J'aimerais obtenir :
GEOM  ChampA
   1            4
   2            1
   3            7
   4           24
   5            6

Ce traitement doit s'intégrer dans le modeleur graphique. J'ai réussi à le faire en SQL mais j'ai l'impression que l'enchaînement de l'algorithme "Exécuter SQL" n'est pas bien supporté, des erreurs apparaissent.
Le SQL en question :

Code:

SELECT MIN(champA) as champA, champB champC,geometry FROM matable group by geometry

Existe-t-il une expression sous QGIS me permettant d'obtenir le même résultat ?

Merci d'avance pour vos retours,
Très bonne soirée !

Hors ligne

 

#2 Thu 14 January 2021 00:18

JD
Membre du bureau
Date d'inscription: 8 Aug 2013
Messages: 578

Re: QGIS: Supprimer doublons geometriques selon valeur minimale champ

Bonsoir,

la meilleure façon reste celle que vous proposez. Il faudrait nous fournir quelques logs pour essayer de comprendre pourquoi cela ne fonctionne pas.

Pour ce que vous souhaitez faire, il y a possibilité d'utiliser l'algorithme extraire par localisation avec le code suivant (AUTO est supposé être un champs unique, vous pouvez utiliser l'algo ajouter un champs autoincrementé avant si besoin)

Code:

"AUTO" =
array_first(
    array_agg( "AUTO" , group_by:=geom_to_wkt($geometry),order_by:="champsA"))

Il y a obligation dans cette solution d'utiliser la fonction geom_to_wkt sinon cela ne fonctionne pas.

Bonne soirée,

Hors ligne

 

#3 Thu 14 January 2021 10:47

Pasteque
Membre
Date d'inscription: 9 Jun 2016
Messages: 3

Re: QGIS: Supprimer doublons geometriques selon valeur minimale champ

Bonjour,

Je vous remercie pour votre réponse rapide.
Ci-joint le log indiquant l'erreur lorsque de deux requêtes SQL s'enchaînent dans le modeleur graphique.

Votre méthode fonctionne parfaitement en utilisant Extraire par expression, je pense que je vais rester là-dessus. Les algorithmes s'enchaînent sans erreur.

Bonne journée


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

Pied de page des forums

Powered by FluxBB

Partagez  |