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

Rencontres QGIS 2025

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

#1 Mon 02 December 2013 11:44

damien_B
Participant occasionnel
Lieu: Limoges
Date d'inscription: 14 Nov 2013
Messages: 10

QGIS 2.0.1 : Déplacer "automatiquement" des points

Bonjour,
je suis actuellement en stage dans le cadre de mes études, et donc assez "novice" en matière de SIG.
Je dispose d'une couche vecteurs de points. Je voudrais décaler "automatiquement" la géométrie de tous les points de leurs coordonnées actuelles.
Par exemple que tous mes points se retrouvent à 5 m de leurs positions actuelles.

J'ai trouver quelques pistes mais j'avoue ne pas trop comprendre comment y arriver et j'ai sûrement fais des erreurs dans mon cheminement. J'avais jusque là résolu pas mal de mes problèmes en me documentant mais là je bloque.
En suivant une piste j'ai enregistré ma couche SHP au format spatialite avec Qgis.
Puis avec le plugin QSpatialite il semblerait que la fonction ShiftCoords réponde à mes attentes.
Mais je ne sais absolument pas comment rendre la fonction valide.

En espérant avoir donné suffisament d'informations.
Merci d'avance.

Hors ligne

 

#2 Mon 02 December 2013 14:03

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

Re: QGIS 2.0.1 : Déplacer "automatiquement" des points

Bonjour,
Vous trouverez ici les paramètres que prend ShiftCoords
Je ne connais pas Spatialite ni l'interface de QSpatialite (ni votre version) mais de ce que je vois sur différents liens (comme [ur=http://code.google.com/p/qspatialite/l]ici[/url] par ex), il me semble que vous devez avoir un onglet "Editeur SQL". Pour ShiftCoords, je ne pense pas qu'il y ait un endroit particulier pour l'activer. Si Spatialite est bien installé, il doit l'être aussi, je pense.
matable étant le nom de votre table et geom le nom du champ géométrique et en supposant que vous envisagez une translation de 5m en abscisse, essayez ce code dans l'éditeur SQL

Code:

select champ1, champ2,..., shiftcoords(geom,5,0) from matable

Vous pouvez ensuite charger le résultat dans QGIS puis réenregistrer dans la base (ou pas). Je complexifie peut-être les choses, ignorant s'il y a une fonction directe qui fait la création de la nouvelle table (avec le contenu) sans vous faire écrire trop de SQL.

Et sinon, le code ci-après devrait permettre de directement faire la modif dans la table actuelle sans en créer une nouvelle.

Code:

update matable set geom=shiftcoords(geom, 5, 0)

Hors ligne

 

#3 Tue 03 December 2013 10:23

damien_B
Participant occasionnel
Lieu: Limoges
Date d'inscription: 14 Nov 2013
Messages: 10

Re: QGIS 2.0.1 : Déplacer "automatiquement" des points

Merci pour votre réponse. En fouillant de mon côté j'ai trouver les mêmes liens que vous et votre réponse m'a confirmé la requête "update etc" qui me permet de décaler tous mes points. Ca me permet déjà d'avancer un peu dans mon projet.


Je doute que cela soit possible (ou alors cela doit être hors d'atteinte pour moi) mais voilà ce qui serait parfait pour mon projet =>

L'état actuel de mes couches :

Je dispose d'une couche de points "supports" et d'une couche de points "panneaux".
Jusqu'ici les points panneaux sont localisés sans réelle protocole (il peut être très proche du support, légèrement décalé, fortement décalé dans n'importe quelle direction, etc).

Le meilleur résultat que je souhaiterais avoir :
décaler les panneaux de leurs supports (un champ dans la couche panneau reprend l'identifiant du support) dans plusieurs directions (schématiquement pour répartir les panneaux autour de leur support).

Je doute fortement que cela soit réalisable vu que le relevé actuel ne répond pas à un protocole d'ensemble, il m'apparaît donc difficile d'automatiser cette demande pour l'ensemble de ma couche. En espérant me tromper smile

Merci d'avance.

Dernière modification par damien_B (Tue 03 December 2013 10:24)

Hors ligne

 

#4 Wed 04 December 2013 10:18

damien_B
Participant occasionnel
Lieu: Limoges
Date d'inscription: 14 Nov 2013
Messages: 10

Re: QGIS 2.0.1 : Déplacer "automatiquement" des points

Après de nouvelles informations, je n'ai pas nécessité de faire ce que j'ai expliqué dans mon dernier post (et visiblement cela est impossible, en tout cas impossible de manière automatisée). Du coup je vais en rester au shift de X mètres en abscisse et ordonnées SANTANNA.

Par contre une fois le shift effectué, le shape que j'enregistre est en géométrie multipoint au lieu de point. Je n'arrive pas à savoir si la différence est cruciale ou pas? (Notamment dans un import oracle par la suite, cela peut-il poser des problèmes?)

Hors ligne

 

Pied de page des forums

Powered by FluxBB