Pages: 1
- Sujet précédent - QGIS: Créer points sur lignes/distances différentes pour chaque ligne - Sujet suivant
#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
Pages: 1
- Sujet précédent - QGIS: Créer points sur lignes/distances différentes pour chaque ligne - Sujet suivant