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 Thu 30 June 2016 16:10

greb
Juste Inscrit !
Date d'inscription: 10 Nov 2015
Messages: 8

QGIS: Créer points sur lignes/distances différentes pour chaque ligne

Bonjour,

Je suis désolé si ce sujet a déjà été abordé, mais n'ai jusqu'à maintenant rien pu trouver à ce sujet...

J'ai une couche vecteur lignes de sections en travers le long d'une rivière (plus de 500 sections).
Pour chacune de ces sections, je dois extraire les coordonnées d'un point dont la seule information que j'ai est sa distance par rapport au premier point de la section.
En gros, pour chaque ligne, je veux créer un point à une distance spécifique (différente pour toutes les lignes).

Donc dans l'idéal, je cherche quelque chose qui puisse par exemple reproduire l'outil Qchainage, mais en indiquant pour chaque entité la distance voulue (par une jointure ? ou choix de champ ?).

Autre piste que j'ai testée:
J'ai aussi une couche point des deux bouts de mes sections. J'ai réussi à créer pour chacun de ces points une couche tampon du rayon voulue pour chaque section. Mais je bloque sur comment générer pour chaque ligne le point situé à l'intersection de ma ligne de section, et de mon polygone tampon...

Peut-être quelqu'un a déjà été confronté à ce problème ?

D'avance merci pour vos conseils/suggestions !
Benjamin

Hors ligne

 

#2 Thu 30 June 2016 17:02

greb
Juste Inscrit !
Date d'inscription: 10 Nov 2015
Messages: 8

Re: QGIS: Créer points sur lignes/distances différentes pour chaque ligne

Re-bonjour,

Je pense avoir trouvé une piste, quoique pas très efficace en termes de temps...
J'ai utilisé le plugin Locate points along lines, indiqué un pas de 0.1m entre chaque point créé sur les lignes.
La table attributaire de la couche créée peut contenir les données de la couche d'origine des lignes (option à définir dans la boîte de dialogue).
A partir de là, la création d'un nouveau champ de style 1/0 avec la calculatrice de champs est une première étape: valeur 1 pour les points dont la distance créée est la plus proche (round) de la distance voulue (indiquée dans un des champs de la table), et 0 quand ce n'est pas le cas.
Évidemment, plus les lignes sont longues, et le pas de distance entre points créés petit, plus la table attributaire de la nouvelle couche créée est énorme (dans mon cas, 1 300 000 entités...), et plus la calculatrice de champs mettra du temps à remplir le nouveau champ...
Puis ensuite, faire une requête attributaire pour ne garder que les entités "1" pour créer une couche finale.

En passant en intermédiaire par un autre outil (tableur par ex), puis en important la table mise à jour dans QGis peut probablement améliorer le temps.

Et j'imagine que se mettre à la programmation Python peut aussi faciliter grandement tout ça...!

Je continue avec cette méthode, mais suis toujours intéressé par une méthode plus efficace/directe si certains ont des idées.

Benjamin

Hors ligne

 

#3 Thu 30 June 2016 17:29

YoLecomte
Participant assidu
Lieu: Epinal
Date d'inscription: 7 Jul 2015
Messages: 266

Re: QGIS: Créer points sur lignes/distances différentes pour chaque ligne

Bonjour,

En python effectivement!
des pistes ici: http://www.portailsig.org/content/pyqgi … directeurs
et la suite : http://www.portailsig.org/content/pyqgi … urs-exempl

Bon courage

Hors ligne

 

#4 Thu 30 June 2016 17:47

greb
Juste Inscrit !
Date d'inscription: 10 Nov 2015
Messages: 8

Re: QGIS: Créer points sur lignes/distances différentes pour chaque ligne

Merci pour votre réponse, et vos liens.
Effectivement, tout est envisageable! Il faudra que je m'y penche d'un peu plus près, ainsi que me familiariser avec Python.

Bonne soirée

Hors ligne

 

Pied de page des forums

Powered by FluxBB