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 Fri 13 April 2012 11:31

ThibautM
Juste Inscrit !
Date d'inscription: 29 Feb 2012
Messages: 3

QGIS : Coordonnées X;Y de début et de fin d'une polyligne

Bonjour à tous,

Savez-vous comment (sous Qgis) je peux afficher dans ma table le X de début et de fin (idem pour le Y) d'une polyligne?

D'avance merci pour vos réponses.

A+

Thibaut

Dernière modification par ThibautM (Fri 13 April 2012 14:08)

Hors ligne

 

#2 Tue 17 April 2012 22:35

tqhien
Participant actif
Lieu: Clamart
Date d'inscription: 22 Apr 2011
Messages: 78

Re: QGIS : Coordonnées X;Y de début et de fin d'une polyligne

Bonjour,

Pour afficher les coordonnées X et Y de sommets d'une polyligne, il faut :
- Passer en mode vue de donnée,
- Passer en mode édition (crayon),
- Cliquer sur la calculatrice de champs (icone d'une ... calculatrice)
- dans la fenêtre qui s'ouvre, créer un nouveau champ (ou mettre à jour si le champ existe déjà)
- dans la formule, choisir respectivement xat ou yat selon la coordonnée à calculer. Le paramètre à mettre est le nème sommet : xat(0) pour le premier, un nombre négatif (-1 par exemple) pour le dernier.

Ne pas oublier de recliquer sur le crayon pour enregistrer les modifications de la couche.

Cordialement.

Hien.

Dernière modification par tqhien (Tue 17 April 2012 22:38)

Hors ligne

 

#3 Tue 02 September 2014 00:38

fabienne35
Participant occasionnel
Date d'inscription: 23 Aug 2014
Messages: 19

Re: QGIS : Coordonnées X;Y de début et de fin d'une polyligne

Bonsoir

je détère cette vieille discussion parce que j'ai exactement le même soucis.
mais quand j'utilise la fonction xat(0) j'ai une erreur de syntaxe si j'écris

Code:

=xat(0)

Code:

Erreur d'analyse:
syntax error, unexpected EQ

Erreur d'évaluation:
Pas de nœud racine !

Pourtant ma couche comprend plus de 400 lignes...

Si j'écris

Code:

xat(0)

j'ai l'erreur

Code:

Une erreur s'est produite lors de l'évaluation de la chaîne de calcul :
L'index est hors de portée

j'ai essayé sans sélectionner aucune ligne, ou en sélectionnant quelques lignes et en limitant le calcul de champs aux lignes sélectionnées... même résultat.

Avez vous réussi à faire cette opération ?

Dernière modification par fabienne35 (Tue 02 September 2014 15:43)


Qgis 2.4 sous windows 7

Hors ligne

 

#4 Tue 02 September 2014 03:41

Leyan
Participant assidu
Date d'inscription: 14 Oct 2013
Messages: 160

Re: QGIS : Coordonnées X;Y de début et de fin d'une polyligne

Il ne faut pas de signe égal, la syntaxe correcte est "xat(0)", puis "yat(0)", "xat(-1)", "yat(-1)". Je viens de le faire avec QGis 2.4, je n'ai pas de problème.

Est-ce que tu as essayé avec un autre fichier shapefile ? Peut-être qu'il y a une entité qui pose problème quelque part ?

Hors ligne

 

#5 Tue 02 September 2014 15:44

fabienne35
Participant occasionnel
Date d'inscription: 23 Aug 2014
Messages: 19

Re: QGIS : Coordonnées X;Y de début et de fin d'une polyligne

Alors après enquête il semble que cela vienne de certaines entités, notamment d'entités composés des lignes disjointes (ie 2 traits séparés par un petit espace, donc non jointives)

Est-ce que le problème pourrait venir de là ?


Qgis 2.4 sous windows 7

Hors ligne

 

#6 Tue 02 September 2014 18:24

Christian B
Participant occasionnel
Date d'inscription: 14 Sep 2006
Messages: 42

Re: QGIS : Coordonnées X;Y de début et de fin d'une polyligne

si  Qgis suit la même logique que Postgis alors oui, les fonctions de calcul des extrémités st_startpoint() st_endpoint() d'une multilinestring ramènent une valeur nulle. Il faut d'abord décomposer la multilinestring en simples linestring. Vecteur/Outils de géométrie/Scinder une entité multigéométrie, devrait le faire.
Bon courage

Hors ligne

 

#7 Wed 03 September 2014 03:47

Leyan
Participant assidu
Date d'inscription: 14 Oct 2013
Messages: 160

Re: QGIS : Coordonnées X;Y de début et de fin d'une polyligne

Puisque tu fais une partie du traitement extérieur à QGis, il est aussi possible d'exporter la géométrie en format WKT et de retrouver les coordonnées des extrémités comme cela. Cela peut même se faire directement dans Excel en utilisant des FIND, LEFT et RIGHT. Pour cela, il suffit de copier-coller la table d'attribut, la première colonne sera la géométrie de l'entité correspondantes.

Pour une ligne simple, WKT est de la forme LINESTRING(x1 y2, x1 y2, x3 y3, ...). Pour une multiligne, WKT est de la forme MULTILINESTRING((x11 y11, x12 y12), (x21 y21, x22 y22, ...), ...).

Hors ligne

 

#8 Thu 17 September 2015 16:18

ecran64
Participant occasionnel
Date d'inscription: 18 Apr 2012
Messages: 49

Re: QGIS : Coordonnées X;Y de début et de fin d'une polyligne

Bonjour,

Est ce que finalement, il y a eu une solution de trouvée?
car je dois faire la même chose, mais idem que fabienne35, je n'ai que des messages d'erreur... au départ ma couche était sous spatialite et avec xat(0) et xat(-1) ça me mettait que ma requête était invalide. j'ai remarqué qu'avec les couches au format shapefile, ça marchait, donc j'ai essayé avec le format shapefile, mais quand je lance xat(0) ou xat(-1), j'obtiens un message d'erreur "Une erreur s'est produite lors de l'évaluation de la chaîne de calcul : L'index est hors de portée"...
Je ne vois pas trop comment calculer les coordonnées des extrémités de mes cours d'eau (sachant que ce ne sont que des lignes (et non polylignes) et que j'ai vérifié la géométrie).
Quelqu'un a-t-il une solution?

Dernière modification par ecran64 (Thu 17 September 2015 16:18)

Hors ligne

 

#9 Thu 17 September 2015 17:19

Lsam
Participant assidu
Date d'inscription: 27 Nov 2013
Messages: 157

Re: QGIS : Coordonnées X;Y de début et de fin d'une polyligne

Bonjour,

Le mieux serait peut-être d'extraire ces infos sous Spatialite directement, avec une requête du genre :

Code:

select X(st_startpoint(ta_table.geometry)) as "X_début",
Y(st_startpoint(ta_table.geometry)) as "Y_début",
X(st_endpoint(ta_table.geometry)) as "X_fin",
Y(st_endpoint(ta_table.geometry)) as "Y_fin"
from ta_table

Dernière modification par Lsam (Thu 17 September 2015 17:22)

Hors ligne

 

#10 Fri 18 September 2015 10:13

ecran64
Participant occasionnel
Date d'inscription: 18 Apr 2012
Messages: 49

Re: QGIS : Coordonnées X;Y de début et de fin d'une polyligne

Bonjour Lsam,

Merci beaucoup, ça a fonctionné!!! c'est super!
Hier, en fouillant sur internet, j'avais trouvé que le xat(0) et xat(-1) ne fonctionnaient pas car mes cours d'eau étaient au format multistring et non string ou line! Du coup, je m'étais penché sur la conversion... J'avais essayé aussi le st_startpoint(ta_table.geometry) mais ça ne fonctionnait pas.
En tout cas, merci!

Dernière modification par ecran64 (Fri 18 September 2015 10:49)

Hors ligne

 

#11 Wed 23 December 2015 12:05

MCG31
Participant occasionnel
Date d'inscription: 1 Dec 2011
Messages: 32

Re: QGIS : Coordonnées X;Y de début et de fin d'une polyligne

Bonjour,

Je viens d'utiliser la démarche présentée pour un problème quasi similaire et la requête fonctionne. Le problème c'est que c'est la première fois que j'utilise Spatialite et DB manager, du coup, je suis un peu perdue. Tout fonctionne mais comment dois-je m'y prendre pour enregistrer les coordonnées récupérées pour chaque tronçon ?

Car dans la liste déroulante des colonnes sélectionnables pour la colonne avec des valeurs entières et uniques et la colonne de géométrie, je n'ai que les colonnes X_debut, X_fin, Y_debut et Y_fin qui apparaissent. Je ne peux pas sélectionner les colonnes pk et geom comme il le faudrait. Est-ce que j'ai raté une étape dans la création de ma BD ou dans l'import de la table sur laquelle je travaille ?

Par avance, merci.

Marie

Dernière modification par MCG31 (Wed 23 December 2015 12:32)

Hors ligne

 

#12 Mon 04 January 2016 12:50

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

Re: QGIS : Coordonnées X;Y de début et de fin d'une polyligne

Bonjour,
Je suppose que tu as dû scrupuleusement suivi la formule de Leyan ci-dessus (#9). Auquel cas, c'est normal que tu n'aies pas ces champs vu qu'il ne les récupère pas. Rajoute donc le nom de ces champs dans la partie select du code utilisé et ce devrait le faire.

Hors ligne

 

#13 Tue 12 January 2016 14:19

MCG31
Participant occasionnel
Date d'inscription: 1 Dec 2011
Messages: 32

Re: QGIS : Coordonnées X;Y de début et de fin d'une polyligne

Bonjour et meilleurs voeux à tous,

C'est très exactement ce que j'avais fait. Je vais tester avec cette méthode mais je ne doute pas que c'est ce qui devait manquer.
Je vous tiendrai au courant quand je l'aurais fait.

PS : Existe-t-il une documentation bien faite pour comprendre les divers procédés et manips liées à Spatialite ou plus exactement aux codes et formulations dont il se sert ?

Par avance, merci.

Marie

Hors ligne

 

Pied de page des forums

Powered by FluxBB