Pages: 1
- Sujet précédent - QGIS: importer des numeros de points a une table polyligne - Sujet suivant
#1 Thu 25 July 2024 04:04
- Matthew59
- Juste Inscrit !
- Date d'inscription: 24 Jul 2024
- Messages: 4
QGIS: importer des numeros de points a une table polyligne
Bonjour
Je suis nouveau ici et dans le SIG
Sous QGIS, je voudrais pouvoir apporter directement des noms de points provenant de plusieurs tables à des champs dans un table polyligne
Pour expliquer plus en détails :
J'ai plusieurs tables contenant des points, correspondants à des plaques d'assainissement et autres.
Il faut que je relis ses plaques en représentant les tronçons d'assainissement
Je vais dessiner mes polylignes, de façon à ce que mon premier corresponde à mon point amont et le second le point aval .
Je voudrais donc renseigner dans ma table tronçon les points amont et aval de manière automatique
Avez vous une idée si c'est possible de faire ca assez facilement ?
Merci d'avance pour votre aide
Hors ligne
#2 Thu 25 July 2024 06:45
- p.jeremie
- Participant assidu
- Lieu: Valence
- Date d'inscription: 10 Sep 2017
- Messages: 415
Re: QGIS: importer des numeros de points a une table polyligne
Bonjour,
Si j'ai bien compris votre besoin, vous devriez pouvoir suivre la méthode expliquée ici https://www.sigterritoires.fr/index.php … avec-qgis/
Résumé : utilisation de l'outil de traitement "Points vers ligne" en précisant la couche source de points, l'attribut d'ordre des points et l'attribut de regroupement (un id pour vos tronçons d'assainissement).
Hors ligne
#3 Thu 25 July 2024 08:36
- Matthew59
- Juste Inscrit !
- Date d'inscription: 24 Jul 2024
- Messages: 4
Re: QGIS: importer des numeros de points a une table polyligne
Bonjour
Merci pour l'aide, mais ce n'est pas vraiment comme ca que je vais procéder.
Je vais cliquer manuellement les tronçons, et je voudrais que le numéro du point de départ et du point d'arrivée, s'ajoutent dans la table attributaire pour chaque polyligne
Hors ligne
#4 Thu 25 July 2024 10:31
- p.jeremie
- Participant assidu
- Lieu: Valence
- Date d'inscription: 10 Sep 2017
- Messages: 415
Re: QGIS: importer des numeros de points a une table polyligne
Ce qui ne va pas être évident c'est que vos points sont répartis dans plusieurs couches.
Un méthode possible en utilisant la calculatrice de champ sur la table des tronçons d'assainissement, autant de fois qu'il y a de table points :
Code:
aggregate('nom_table_point', aggregate:='concatenate', expression:="champ_table_point", filter:=intersects($geometry,point_n(geometry(@parent),1)), concatenator:='/')
Ça permet d'aller concaténer toutes les valeurs du champ_table_point dans la table nom_table_point, pour le premier point constituant chaque ligne de la table en édition (tronçons d'assainissement).
Idem pour le dernier point :
Code:
aggregate('nom_table_point', aggregate:='concatenate', expression:="champ_table_point", filter:=intersects($geometry,point_n(geometry(@parent),-1)), concatenator:='/')
Seule différence, le -1 dans la fonction point_n() qui permet de récupérer le dernier point au lieu du premier.
Le souci, c'est que si aucune référence n'est trouvée, alors la fonction va venir écraser une valeur déjà présente dans la colonne qu'on met à jour (num_depart ou num_arrivee).
Pour éviter ça, il suffit de prendre en priorité la valeur déjà présente, par exemple en utilisant coalesce() qui prend la première valeur non null dans l'ordre des arguments qu'on lui donne.
Code:
coalesce("num_arrivee", aggregate('nom_table_point', aggregate:='concatenate', expression:="champ_table_point", filter:=intersects($geometry,point_n(geometry(@parent),-1)), concatenator:='/') )
Dernière modification par p.jeremie (Thu 25 July 2024 10:32)
Hors ligne
#5 Thu 25 July 2024 11:33
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3895
Re: QGIS: importer des numeros de points a une table polyligne
Bonjour,
Ce qui ne va pas être évident c'est que vos points sont répartis dans plusieurs couches.
On peut créer une couche virtuelle (ou pas) dans lequel on regrouperait tous les points + le champ duquel on veut prendre l'info (+ peut-être le nom de la couche origine).
Par contre je n'a pas bien compris l'idée de la concaténation, pensant que Matthew voulait juste LE point auquel il s'est accroché. Mais après tout, s'il n'y en a qu'un, ce devrait être bon, je pense (si on met de côté les éventuelles caprices de la fonction intersects avec les arrondis de coordonnées).
Hors ligne
#6 Thu 25 July 2024 13:30
- p.jeremie
- Participant assidu
- Lieu: Valence
- Date d'inscription: 10 Sep 2017
- Messages: 415
Re: QGIS: importer des numeros de points a une table polyligne
En effet j'avais aussi pensé à la couche virtuelle qui regroupe les couches de points, mais comme ça ajoutait une complexité supplémentaire je n'en ai pas parlé dans un premier temps.
Pour la concaténation, en effet, ça devrait toujours retourner un seul point donc ça ne concaténera jamais rien d'autre.
Pour les arrondis de coordonnées, il faudrait ajouter une tolérance, par exemple en arrondissant les coordonnées à X décimales..
Tu as une meilleure proposition que la fonction aggregate pour aller récupérer le point d'une couche point intersectant le premier point de chaque tronçon ? Si oui, je suis intéressé de savoir laquelle.
Hors ligne
#7 Thu 25 July 2024 16:11
- Matthew59
- Juste Inscrit !
- Date d'inscription: 24 Jul 2024
- Messages: 4
Re: QGIS: importer des numeros de points a une table polyligne
Merci pour votre aide
J'arrive bien à remplir les champs
Le seul soucis, c'est que quand je lance la calculatrice une deuxième fois pour aller chercher les informations d'une autre table, les champs remplis lors du premier calcul sont supprimés ...
Est ce qu'il existe une astuce pour éviter ca ?
Ou bien est ce possible avec un seul calcul d'aller chercher les valeurs dans des champs différents de 2 tables ?
Ou oui sinon faire une table intermédiaire qui reprend tous les points de toutes les tables et ca remplirait d'un seul coup les chances dans la table finale
mais malheureusement je ne sais pas faire
Hors ligne
#8 Thu 25 July 2024 16:23
- p.jeremie
- Participant assidu
- Lieu: Valence
- Date d'inscription: 10 Sep 2017
- Messages: 415
Re: QGIS: importer des numeros de points a une table polyligne
Relire mon message avec les formules, pour éviter de supprimer les valeurs récupérées au premier calcul, utiliser coalesce().
Hors ligne
#9 Thu 25 July 2024 16:51
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3895
Re: QGIS: importer des numeros de points a une table polyligne
Ou oui sinon faire une table intermédiaire qui reprend tous les points de toutes les tables et ca remplirait d'un seul coup les chances dans la table finale
mais malheureusement je ne sais pas faire
Relire mon précédent message où je mentionne cette option, AVEC des liens vers deux façons différentes d'y arriver.
Hors ligne
#10 Fri 26 July 2024 15:08
- Matthew59
- Juste Inscrit !
- Date d'inscription: 24 Jul 2024
- Messages: 4
Re: QGIS: importer des numeros de points a une table polyligne
super merci pour votre aide
ca semble fonctionner
Hors ligne
Pages: 1
- Sujet précédent - QGIS: importer des numeros de points a une table polyligne - Sujet suivant