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é ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Tue 06 April 2021 13:24

Celo
Participant occasionnel
Date d'inscription: 20 Jun 2019
Messages: 12

Suppression des entités (ligne) qui se superposent

Bonjour,

Je vous expose mon problème, j'ai plusieurs shp linéaire qui correspondent à plusieurs années en l’occurrence 2018,2019 et 2020. Dans mes tables attributaires chaque ligne correspond à une polyligne.

Je souhaite supprimer les polylignes de mes shp 2018 2019 qui se superposent avec mon shp de l'année 2020. Auriez-vous une idée de comment faire ça ?

Je vous remercie d'avance.

Hors ligne

 

#2 Tue 06 April 2021 16:10

Sylvain M.
Participant assidu
Lieu: Saint-Pierre-des-Nids (53)
Date d'inscription: 8 Sep 2005
Messages: 995

Re: Suppression des entités (ligne) qui se superposent

Bonjour Celo,
Si vos géométries sont exactement les mêmes, vous deviez pouvoir le faire en SQL spatial.
Mais cela sous-entends de maîtriser le SQL, je ne sais pas si c'est votre cas. Si oui :
- fusionner (union) les couches SHP en une seule, en vérifiant bien que l'année est présente en attribut de chaque entité (un champ "annee" par ex).
- faire une sélection de type "GROUP BY" sur la base de la géometrie :

Code:

SELECT champs, max(annee) as annee_max
FROM COUCHE
GROUP BY geometry

Dernière modification par Sylvain M. (Tue 06 April 2021 16:11)


Sylvain M.

Hors ligne

 

#3 Tue 06 April 2021 16:29

Celo
Participant occasionnel
Date d'inscription: 20 Jun 2019
Messages: 12

Re: Suppression des entités (ligne) qui se superposent

Malheureusement je ne maîtrise pas bien le SQL.

J'ai fusionné mes couches grâce à l'outil "combiner" de arcmap ==> Nouvelle couche qui regroupe mes précédentes couches ==> TT_COUCHE

De ce que je comprends de votre code. Je dois remplacer "champs" par le nom de mon champs année, max(année) calcul l'année maximum de mon entité et le renvoie dans une nouvelle colonne nommée "année_max. From couche correspond à ma couche initial.

Est ce-cela ?

merci

Dernière modification par Celo (Tue 06 April 2021 16:30)

Hors ligne

 

#4 Tue 06 April 2021 16:58

Sylvain M.
Participant assidu
Lieu: Saint-Pierre-des-Nids (53)
Date d'inscription: 8 Sep 2005
Messages: 995

Re: Suppression des entités (ligne) qui se superposent

Malheureusement, si vous travaillez sur ArcMap, cela n'est a priori pas possible en SQL.
Il y a certainement des outils, mais je ne saurai vous orienter sur ce logiciel.

Celo a écrit:

De ce que je comprends de votre code. Je dois remplacer "champs" par le nom de mon champs année


Non, "champs" correspondait aux champs de votre couche que vous souhaitez conserver après regroupement.
Par exemple :

Code:

SELECT champ1, champ2, champ3, max(annee), geometry
FROM coucheinitiale
GROUP BY champ1, champ2, champ3, geometry

cette requête sélectionne 3 champs de la couche initiale (champ 1 à 3), l'année maximale et la géométrie pour chaque tronçon (géométrie) de ligne.

Si vous avez accès à QGis, cela peut se faire via le "Gestionnaire de Bases de données".

Mais si vous partez sur cette option, avant de vous creuser la tête là comprendre, il faut vraiment être sûr que les géométries sont parfaitement identiques : un simple nœud de différence et ça ne marchera pas.

Si vous voulez rester sur ArcMap, vous pourriez poser la question dans la section dédiée.

Bon courage !


Sylvain M.

Hors ligne

 

#5 Wed 07 April 2021 10:40

Celo
Participant occasionnel
Date d'inscription: 20 Jun 2019
Messages: 12

Re: Suppression des entités (ligne) qui se superposent

Normalement les géométries sont les mêmes car les deux shp correspondent au même référentiel.

Malheureusement je pense que je ne suis pas assez calé en SQL pour pouvoir avoir un résultat.

Une autre idée serait de faire un buffer de mon SHP 2020 et renvoyer toutes les polylignes qui ne font pas partie de ce buffer. Savez-vous comment je peux faire ça ? Pour faire simple, ce serait faire l'inverse de l'outil couper dans qgis.

Merci !

Hors ligne

 

#6 Wed 07 April 2021 17:42

Sylvain M.
Participant assidu
Lieu: Saint-Pierre-des-Nids (53)
Date d'inscription: 8 Sep 2005
Messages: 995

Re: Suppression des entités (ligne) qui se superposent

Et avec les géotraitements de base d'ArcMap : Combiner ou Fusionner ?
En théorie, ça devrait faire l'affaire ?


Sylvain M.

Hors ligne

 

#7 Wed 07 April 2021 17:52

Celo
Participant occasionnel
Date d'inscription: 20 Jun 2019
Messages: 12

Re: Suppression des entités (ligne) qui se superposent

J'ai trouver la solution.

Dans Arcgis ==> Sélectionner une couche selon l'emplacement ==> Dans relation mettre "within" + Cocher la case "inverser la relation spatiale".

Merci quand même !

Hors ligne

 

Pied de page des forums

Powered by FluxBB