Pages: 1
- Sujet précédent - QGIS : Coordonnées X;Y de début et de fin d'une polyligne - Sujet suivant
#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: 3940
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
Pages: 1
- Sujet précédent - QGIS : Coordonnées X;Y de début et de fin d'une polyligne - Sujet suivant