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 Sun 03 March 2019 11:27

Elise
Participant assidu
Lieu: Argentat (19)
Date d'inscription: 16 Oct 2005
Messages: 528
Site web

Fusion de noeuds d'une couche à partir d'une autre

Bonjour,

La semaine dernière j'ai posté ce message sur la liste mapinfo, mais sans retour, je me dis que les "as du code et de la bidouille" sont sans doute plus nombreux sur [Géomatique] alors je vous lance ce gros défi :-)

J'ai saisi une couche A avec une projection X en m'accrochant à des objets d'une couche B en projection Y. Du coup mes nœuds ne coïncident pas (j'ai quelques dizaines de centimètres de décalages liés aux arrondis des coordonnées). Lorsque je m'en suis rendu compte, j'ai enregistré ma couche A avec la projection Y pour ne plus avoir ce problème, mais je m'y suis prise très tardivement et tous mes polygones déjà créés (zonage d'un PLUi de 12 communes, snif !) ont ce décalage. Du coup, je me demande s'il existe une manip du genre "fusion/simplification" qui permettrait de déplacer mes nœuds mal calés de la couche A pour les déplacer exactement au même endroit que ceux de la couche B en appliquant par exemple un rayon de 1 m ? En français, ça donnerait un truc du genre : déplacer chaque noeud de la couche A qui se situent dans un rayon de 1 m de chaque noeud de la couche B sur ces noeuds de la couche B.

Cela vous semble faisable ?

Bien cordialement,
Elise


Géoscope
  11 rue de l'Hospice - 19400 Argentat
  Tél. : 09 60 47 51 16

Hors ligne

 

#2 Mon 04 March 2019 14:57

Pascal Boulerie
Participant assidu
Lieu: France
Date d'inscription: 12 Sep 2005
Messages: 2947
Site web

Re: Fusion de noeuds d'une couche à partir d'une autre

Ah oui, c'était votre message https://georezo.net/forum/viewtopic.php … 96#p318296

mais si je me souviens, le logiciel MapInfo semble de moins en moins utilisé de par le monde (d'où un moindre volume de discussions spécifiques sur la liste MapInfo - https://georezo.net/forum/viewforum.php?id=2 )

Je pense qu'il doit y avoir des logiciels permettant un décalage élastique warp de points d'un jeu de données par rapport à un autre.

Mais ça me semble risqué de le faire par lot (batch),
mieux vaut faire un traitement interactif.


Difficile de trouver des idées, le moteur étant en panne :

https://georezo.net/forum/search.php
An error was encountered
Error: Unable to search for posts.


« L'État est désormais quasi déliquescent. » (José Cohen-Aknine, ingénieur X-Ponts, IGPEF, dans Déliquescence et renaissance de l'État.)

Hors ligne

 

#3 Mon 04 March 2019 15:02

carteq
Participant assidu
Date d'inscription: 8 Mar 2008
Messages: 829

Re: Fusion de noeuds d'une couche à partir d'une autre

En ArcGIS, l'équivalent est un "integrate". Ça existe probablement dans QGIS. On spécifie la tolérance du déplacement, et on priorise les couches. La seconde en importance ira s'accrocher à la première.

Hors ligne

 

#4 Tue 12 March 2019 10:09

Elise
Participant assidu
Lieu: Argentat (19)
Date d'inscription: 16 Oct 2005
Messages: 528
Site web

Re: Fusion de noeuds d'une couche à partir d'une autre

Bonjour,

Une solution avec QGis serait aussi bienvenue. Je n'ai pas Arcgis.

Cordialement.
Elise


Géoscope
  11 rue de l'Hospice - 19400 Argentat
  Tél. : 09 60 47 51 16

Hors ligne

 

#5 Tue 12 March 2019 10:39

SIGEAL
Participant assidu
Lieu: Saint Laurent des Combes
Date d'inscription: 5 Sep 2005
Messages: 195
Site web

Re: Fusion de noeuds d'une couche à partir d'une autre

Bonjour,
Tu peux essayer ST_SnapToGrid, mais c'est dans PostGis : https://postgis.net/docs/ST_SnapToGrid.html


Christophe Damour (SIGéal)

Hors ligne

 

#6 Tue 12 March 2019 10:53

ChristopheV
Membre
Lieu: Ajaccio
Date d'inscription: 7 Sep 2005
Messages: 3197
Site web

Re: Fusion de noeuds d'une couche à partir d'une autre

Bonjour,

Comme SIGEAL je tenterai plutôt les fonctions postgis.
Décomposition des polygones en points
Choix d'un tampon (quelques dizaines de centimètres) centré sur chaque point de B, je trouve le point de A contenu dans le tampon
Je modifie le point de A (point de A = point de B)
Je reconstruit le polygone.

Ça va marcher à condition qu'il n'existe pas des sommets consécutifs trop proche (distance<tampon).


Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close

Hors ligne

 

#7 Tue 12 March 2019 11:13

Elise
Participant assidu
Lieu: Argentat (19)
Date d'inscription: 16 Oct 2005
Messages: 528
Site web

Re: Fusion de noeuds d'une couche à partir d'une autre

Bonjour,

:-) des pistes arrivent, chouette. Bon, par contre je ne suis pas familière ni de Qgis, ni de Postgis, ni des langages en codes. Du coup, si vous pouviez être un petit peu plus explicite cela m'aiderait. Par exemple : comment j'ouvre  Postgig ? (j'ai qgis 2.18 sous windows et 3.kek chose sous linux). Une fois dans postgis, où est ce que je tape le code proposé dans https://postgis.net/docs/ST_SnapToGrid.html ? a quel moment j'ouvre ma couche à modifier et ma couche de calage ?...

Merci pour ce petit accompagnement d'une non-géomaticienne.

Cordialement,
Elise

PS : si les sommets sont trop proches et qu'ils sont fusionnés sur un même sommet cela n'a pas d'importance pour moi c'est qu'il y a des noeuds en trop


Géoscope
  11 rue de l'Hospice - 19400 Argentat
  Tél. : 09 60 47 51 16

Hors ligne

 

#8 Tue 12 March 2019 14:13

carteq
Participant assidu
Date d'inscription: 8 Mar 2008
Messages: 829

Re: Fusion de noeuds d'une couche à partir d'une autre

Dans QGIS, l'équivalent de ArcGIS-Integrate semble être "Accrocher les géométries à la couche".

Hors ligne

 

#9 Tue 12 March 2019 14:16

PrGeo
Participant actif
Date d'inscription: 9 Apr 2010
Messages: 57

Re: Fusion de noeuds d'une couche à partir d'une autre

Bonjour Elise,

PostGis ne s'ouvre pas à proprement parlé. Il s'agit de l'extension spatiale de postgreSQL. Cette extension vous permet d'utiliser toute une série de fonction spatiale, notamment la fonction ST_SnapToGrid

Il faut donc pour cela se connecter à postgreSQL via un outil d'administration par exemple PgAdmin (qui fait parti du package d'installation de postgreSQL).

Une fois connecter à la base de données, vous pourrez utilisez les fonctions postgis (fonctions spatiales) uniquement si votre base de données  est bien installée avec la cartouche postgis.

Voici des exemples sur la doc postgis avec la fonction ST_Snap  :
https://postgis.net/docs/ST_Snap.html

N'oubliez pas avant de faire des mises à jour de votre table de faire une sauvegarde de l'originale.

Dernière modification par PrGeo (Tue 12 March 2019 14:31)

Hors ligne

 

#10 Tue 12 March 2019 18:21

SIGEAL
Participant assidu
Lieu: Saint Laurent des Combes
Date d'inscription: 5 Sep 2005
Messages: 195
Site web

Re: Fusion de noeuds d'une couche à partir d'une autre

Si PostgreSql et PostGis sont installés sur ton poste, tu peux exécuter des requêtes directement depuis le DB Manager.


Christophe Damour (SIGéal)

Hors ligne

 

#11 Wed 13 March 2019 10:38

SIGEAL
Participant assidu
Lieu: Saint Laurent des Combes
Date d'inscription: 5 Sep 2005
Messages: 195
Site web

Re: Fusion de noeuds d'une couche à partir d'une autre

Élise,

J'étais parti pour t'expliquer la procédure pour résoudre ton problème avec st_snaptogrid sous PostGis, mais je me rend compte qu'il y a sans doute plus simple en passant par l'algorithme de traitement QGIS "Accrocher les géométries à la couche".

Pour l'utiliser :
- Menu Traitement -> Boîte à outils
- Dans la case de recherche tu tapes "accrocher"
- Tu double-cliques sur "Accrocher les géométries à la couche"

À partir de là, tu devrais pouvoir arriver à tes fins en jouant avec les paramètres, d'abord en créant des couches temporaires, puis en créant une vraie nouvelle couche lorsque tu as trouvé les bonnes options.


Christophe Damour (SIGéal)

Hors ligne

 

#12 Fri 15 March 2019 12:33

Elise
Participant assidu
Lieu: Argentat (19)
Date d'inscription: 16 Oct 2005
Messages: 528
Site web

Re: Fusion de noeuds d'une couche à partir d'une autre

Bonjour Christophe,

En effet on dirait bien que je peux trouver mon bonheur dans "Accrocher les géométries à la couche" mais l'algorithme est en échec. J'ai essayé 2 options mais peut-être que je me mélange les pinceaux. Voici ce que j'ai fait pour une option :

- couche entrée : la couche que je souhaite modifier
- couche de référence : ma couche parcellaire qui a les nœuds aux bons endroits
- tolérance : 1 m
- comportement : accrocher les points terminaux aux point terminaux
- geometrie accrochée : j'ai laissé "créer une couche temporaire

En fichier joint le rapport d'erreur. Cela vous évoque kek chose comme mauvaise manip' que j'aurais pu faire ou si je dois telecharger un plugin ?

Cordialement,
Elise


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

Géoscope
  11 rue de l'Hospice - 19400 Argentat
  Tél. : 09 60 47 51 16

Hors ligne

 

#13 Fri 15 March 2019 13:19

SIGEAL
Participant assidu
Lieu: Saint Laurent des Combes
Date d'inscription: 5 Sep 2005
Messages: 195
Site web

Re: Fusion de noeuds d'une couche à partir d'une autre

Élise,

Je ne vois rien qui cloche dans tes paramètres, si ce n'est que j'aurais plutôt choisi l'option "Privilégie le point le plus proche, n'ajoute aucun nouveau sommet" (les points terminaux concernent les polylignes, apparemment tu travailles sur des polygones).

Tu peux essayer deux pistes :
- convertir tes couches MapInfo (.tab) en Shape (.shp) ou en Geopackage (.gpkg)
- vérifier la validité de tes couches (boîte à outils -> vérifier la validité, en prenant soin de le faire avec les deux options (GEOS/QGIS)

Dernière modification par SIGEAL (Fri 15 March 2019 13:19)


Christophe Damour (SIGéal)

Hors ligne

 

#14 Fri 15 March 2019 13:29

nitram
Participant assidu
Lieu: Brest
Date d'inscription: 19 May 2009
Messages: 990
Site web

Re: Fusion de noeuds d'une couche à partir d'une autre

Bonjour,

J'ajouterais de tester sur des données dont le chemin ne contient ni espaces / caractères spéciaux (.../SSD 500/...).

Martin

Hors ligne

 

#15 Fri 22 March 2019 18:14

Charlotte EllipSIG
Participant actif
Date d'inscription: 13 Oct 2017
Messages: 86

Re: Fusion de noeuds d'une couche à partir d'une autre

Bonjour Elise,


As tu trouvé une solution à ton problème? Je pourrai te donner de l'aide gracieusement avec FME si tu le souhaites. N'hésite pas à me contacter. J'ai déjà des traitements prêts pour raccrocher des sommets de zones de PLU à des sommets de cadastre… Il sera peut être possible d'adapter rapidement à tes données, si c'est bien le problème que j'ai compris.

Charlotte

Hors ligne

 

Pied de page des forums

Powered by FluxBB