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

Annonce

GEODATA DAYS 2024

#1 Thu 10 April 2014 00:58

stefposs
Participant occasionnel
Lieu: ANTIBES
Date d'inscription: 16 Sep 2005
Messages: 29
Site web

QGIS : Mise à jour X,Y sans passer par couche intermédiaire

Bonjour à tous,

bon je vois après une recherche dans Google et sur le forum que j'ai l'air de n'être pas le seul à me poser la question toute bête : comment mettre à jour les coordonnées X,Y d'une couche de points qu'on a déplacés SANS créer un nouveau layer (et donc perdre tous les styles, actions...etc...)

J'ai fouillé un peu partout, mais à part l'outil "Add Coordinates to Points" qui ajoute une nouvelle couche en ajoutant en plus 2 champs X_1 et Y_1 (pratique), ou encore en essayant les extensions "Numerical Vertex Edit" ou "Affine Transformations" comme conseillées sur forumsig.org qui ne sont pas d'une grande utilité pour manipuler l'ensemble d'une couche d'un seul coup, je n'ai rien trouvé de probant.

J'ai vu passer un article-réponse sur un forum anglais disant d'utiliser la Calculatrice de Champs directement sur la table mais je n'ai absolument pas compris comment m'en servir à ce niveau là.

Si quelqu'un voit passer une info supplémentaire ça m'aiderait bien :-)

Merci à tous !

Hors ligne

 

#2 Thu 10 April 2014 09:06

Dof
Participant assidu
Lieu: Grenoble
Date d'inscription: 28 Oct 2009
Messages: 317
Site web

Re: QGIS : Mise à jour X,Y sans passer par couche intermédiaire

Bonjour,
Je ne suis pas sur d'avoir compris.
Dans votre table, vous avez un champ X et un champ Y? Et vous souhaitez mettre à jour ces champs après en avoir déplacé?

Si c'est le cas, la calculatrice de champ fait l'affaire grâce aux fonctions $x et $y (cf pièce jointe)


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

Hors ligne

 

#3 Thu 10 April 2014 11:46

stefposs
Participant occasionnel
Lieu: ANTIBES
Date d'inscription: 16 Sep 2005
Messages: 29
Site web

Re: QGIS : Mise à jour X,Y sans passer par couche intermédiaire

Bonjour,

eh bien vous avez parfaitement compris ma question et la réponse semble totalement adéquate. Je pensais bien qu'il fallait trainer dans ce coin la mais comme je n'utilise QGis que depuis quelques jours j'ai encore de vieilles habitudes ArcGis avec des outils qui ne sont pas a la même place et/ou n'ont pas les mêmes paramètres et/ou existent chez l'un et pas chez l'autre.

Je n'ai plus qu'à tester pour voir si ça fonctionne comme je le souhaite

Merci donc !

Dernière modification par stefposs (Thu 10 April 2014 11:46)

Hors ligne

 

#4 Thu 10 April 2014 12:05

SANTANNA
Moderateur
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 3884

Re: QGIS : Mise à jour X,Y sans passer par couche intermédiaire

Bonjour,

les extensions "Numerical Vertex Edit" ou "Affine Transformations" comme conseillées sur forumsig.org qui ne sont pas d'une grande utilité pour manipuler l'ensemble d'une couche d'un seul coup


Je ne sais pas ce qu'il en est avec "Numerical Vertex Edit" (pas testé) mais "Affine Transformations" fonctionne bien chez moi, pour une couche entière. Ça peut mouliner, selon la complexité des géométries, mais j'obtiens bien les transformations attendues.

Hors ligne

 

#5 Thu 10 April 2014 12:36

stefposs
Participant occasionnel
Lieu: ANTIBES
Date d'inscription: 16 Sep 2005
Messages: 29
Site web

Re: QGIS : Mise à jour X,Y sans passer par couche intermédiaire

bon il faut que j'essaie tout ça alors !

Hors ligne

 

#6 Thu 10 April 2014 15:14

stefposs
Participant occasionnel
Lieu: ANTIBES
Date d'inscription: 16 Sep 2005
Messages: 29
Site web

Re: QGIS : Mise à jour X,Y sans passer par couche intermédiaire

Ok les fonctions $y et $x fonctionnent parfaitement.

L'extension Affine ne m'est pas utile dans ce cas là car je ne déplace pas toutes les entités dans une même "direction" mais que je mets à jour leur position une à une pour avoir plus de précision.

Par contre j'imagine qu'on doit pouvoir écrire une expression pour coupler la mise à jour du champ X et du champ Y ?
Du type 

Code:

"X" = $x AND  "Y" = $y

cela fonctionne-t-il aussi ?

Hors ligne

 

#7 Thu 10 April 2014 19:17

SANTANNA
Moderateur
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 3884

Re: QGIS : Mise à jour X,Y sans passer par couche intermédiaire

L'extension Affine ne m'est pas utile dans ce cas là car je ne déplace pas toutes les entités dans une même "direction"


Pour reprendre l'expression votre besoin, c'est juste le remplissage du contenu de vos champs "X" et "Y" avec la position réelle de l'objet qui vous intéresse.
Il n'y a donc pas de modification de la géométrie et à ce titre, aussi bien "Numerical Vertex Edit" que "Affine Transformation" ne vous conviennent pas car sont destinés à déplacer les objets, créer le déplacement vers un point ou selon des critères prédéfinis.

A ce que je sache, QGIS ne propose pas la possibilité de modifier plusieurs champs simultanément dans la calculatrice de champ. Si vous voulez coupler les modifs des champs "X" et "Y", pour l'heure, il vous faudra passer par une base de données (spatialite à minima) et là vous aurez toute latitude pour faire des requêtes SQL et mettre à jour autant de champs que vous souhaiterez simultanément.

Pour revenir à votre besoin, si $x et $y font le job, je crains de ne pas bien comprendre votre nouvelle attente. En principe, il suffirait de sélectionner tous les points qui sont concernés par l'actualisation, ouvrir la calculatrice de champ, sélectionner le champ "X" en ayant coché l'option "Mise à jour des entités sélectionnées" et dans le champ "Expression", taper $x. Valider puis rouvrir la calculatrice de champ et faire de même pour le champ "Y" avec $y.
Et en principe, c'est résolu pour tous.

Je me permets aussi de revenir sur une précédente affirmation:

SANS créer un nouveau layer (et donc perdre tous les styles, actions...etc...)


QGIS permet de copier le style d'une couche et de l'attribuer à une autre (pour autant que les champs de la symbologie ou action... soient ) là). Clic droit sur la couche > Copier le style... que vous collerez sur la seconde couche via le clic droit toujours. Et cela vous conserve aussi bien vos classifications, étiquettes que vos actions définies. J'ai juste un doute sur la conservation des jointures (sinon vous la refaites puis collez le style).
Si vous n'avez pas encore eu le temps d'y jeter un oeil, il y a la doc de QGIS ici et des manuels d'exercice pratique


Cordialement,
Santanna

Hors ligne

 

#8 Fri 11 April 2014 09:05

stefposs
Participant occasionnel
Lieu: ANTIBES
Date d'inscription: 16 Sep 2005
Messages: 29
Site web

Re: QGIS : Mise à jour X,Y sans passer par couche intermédiaire

Merci pour votre réponse,

au final c'est ce que j'ai fini par faire. A la fin de ma tâche de
déplacements de points individuellement, je mets à jour le champ X puis
le champ Y comme indiqué plus haut en appliquant cela à tous les
enregistrements de la table.
Ca marche très bien, c'est rapide et pour le moment c'est assez pour mes
besoins.

Merci en tout cas d'avoir pris le temps aussi de vous attarder sur
l'autre point concernant les attributs de style. Déjà j'ai découvert que
je pouvais tous les sauver en bloc dans un seul fichier ce qui me permet
de retrouve ma symbologie, les expressions liées aux étiquettes...
etc... mais en plus j'apprends qu'on peut donc directement copier les
styles. Le bonheur, ou presque quoi ! :-)

Bonne soirée.

Stéphane POSSAMAI

[EDIT modération : signature raccourcie]

Hors ligne

 

Pied de page des forums

Powered by FluxBB