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 Mon 11 January 2021 08:12

Glenn
Juste Inscrit !
Date d'inscription: 4 Sep 2020
Messages: 2

QGIS: Incrementer un ID couche point selon sa position sur une ligne

Bonjour à tous,

J'ai une couche des points sans id et une ligne dans une autre couche.Les points sont parfaitement sur la ligne.

Je souhaiterai incrémenter un id en fonction de la position des points sur la ligne . EX: le point le plus au début de la ligne serai le 1 puis le 2 ect.. le long de la ligne.
Est-ce possible ? ou je dois le faire a l’œil.

Merci d’avance.

Hors ligne

 

#2 Mon 11 January 2021 11:22

JD
Moderateur
Date d'inscription: 8 Aug 2013
Messages: 726

Re: QGIS: Incrementer un ID couche point selon sa position sur une ligne

Bonjour,

créer un nouveau champs integer dans votre couche de point avec la fonction suivante :
Pensez à remplacer COUCHE_LIGNE par le nom de votre couche de ligne et n'omettez pas les simples guillemets

Code:

with_variable(
    'geom_line',
    --stocke la geometrie de la ligne
    geometry(get_feature_by_id('COUCHE_LIGNE',1)),
    with_variable(
    --construit un tableau trié de la postion du point sur la ligne
        'all_line_pos',
        array_agg(line_locate_point(@geom_line,$geometry),
        order_by:= line_locate_point(@geom_line,$geometry)),
        array_find(@all_line_pos, line_locate_point(@geom_line,$geometry))
    )
)

Hors ligne

 

#3 Fri 15 January 2021 11:43

Glenn
Juste Inscrit !
Date d'inscription: 4 Sep 2020
Messages: 2

Re: QGIS: Incrementer un ID couche point selon sa position sur une ligne

merci beaucoup de votre aide.
ça marche bien.

Hors ligne

 

Pied de page des forums

Powered by FluxBB