Création de lignes parallèles à une distance particulière des lignes qui font partie d'un fichier de formes

11

J'utilise QGIS 2.18. J'ai un fichier de formes qui contient plusieurs lignes. Après avoir traité certains traitements de données, j'ai besoin de tracer des lignes parallèles à différentes distances des lignes existantes. Par exemple, j'ai 32 lignes dans un fichier de formes existant. Je veux tracer des lignes parallèles à une distance de 50, 100, 170, 500 400 à partir de l'ID de ligne no. 3, 6,20,25,31 en une seule fois. Existe-t-il une méthode ou un plugin dans QGIS pour faire de même?

Jitendra
la source

Réponses:

6

Vous pouvez utiliser le plugin QAD , qui propose des commandes de type CAO dans QGIS.

Il ne fonctionne qu'avec les systèmes de coordonnées projetées (vous devez donc projeter vos données avant de les utiliser) et avec le mode d'édition activé (cliquez avec le bouton droit sur la couche et sélectionnez Toggle Editing).

Pour votre cas, vous devez cliquer sur le bouton Offset :

entrez la description de l'image ici

et suivez les instructions qui apparaîtront dans la fenêtre de texte QAD (exactement comme dans AutoCAD):

entrez la description de l'image ici

Par exemple, il s'agit de la sortie lorsque vous utilisez un décalage différent pour deux fonctions différentes:

entrez la description de l'image ici

mgri
la source
Merci pour votre réponse. Existe-t-il une autre méthode ou un autre plugin pour effectuer cette tâche sans projeter de données?
Jitendra
J'ai utilisé une approche avec des données projetées car il semblait que vous aviez affaire à des mètres ( distances de 50, 100, 170, 500 400 .. ). Changer la projection est très simple: faites un clic droit sur le calque, puis Save asenfin sélectionnez un système de coordonnées projetées. Une fois que vous avez effectué le décalage, vous pouvez revenir au système de coordonnées géographiques avec l'opération inverse ... Cela devrait être correct.
mgri
Sans projeter les données, vous devez gérer les angles au lieu des mètres et je ne sais pas si cela devient plus facile pour vous ...
mgri
L'outil QAD fonctionne correctement. Mais je dois répéter la tâche pour toutes les lignes du fichier de formes manuellement. Existe-t-il une méthode pour lire le line_ID et la distance à la ligne lue à partir de la table attributaire ou du fichier exel ou CSV automatiquement et dessiner toutes les lignes parallèles simultanément.
Jitendra
Je ne connais pas d'outil qui fait cette tâche, mais je peux essayer de donner une solution en utilisant PyQGIS ... Cela pourrait-il vous intéresser?
mgri
6

Si vous avez une colonne dans votre table d'attributs qui spécifie la distance entre les lignes parallèles, la méthode suivante devrait pouvoir le faire en une seule fois -

Vous pouvez utiliser l' Single sided buffers (and offset lines) for linesalgorithme ci-dessous GDAL/OGR > [OGR] Geoprocessingdans la boîte à outils Traitement. Vous devrez définir l' opération comme courbe de décalage et saisir le nom de la colonne contenant la distance en distance du tampon (dans mon cas, le nom de la colonne est largeur ). Vous pouvez également définir de quel côté de la ligne la ligne parallèle doit être dessinée en sélectionnant Côté tampon comme droite ou gauche.

entrez la description de l'image ici

nash
la source
Merci pour votre réponse. J'utilise l'outil OGR selon votre suggestion, mais rien n'a été montré dans le nouveau fichier de formes de sortie.
Jitendra
Pouvez-vous partager le système de projection dans lequel se trouve votre fichier de forme? Des captures d'écran de la table attributaire de la couche de sortie peuvent être utiles.
nash
Le système de projection du fichier de formes est EPSG 4326
Jitendra
Vous comprenez donc que les nouvelles lignes sont créées à une distance de 50,100,170,500 et 400 qui est dans l'unité Degrés et non en mètres (que je suppose que vous voulez?)
nash
En supposant que vous voulez la distance en mètres - vous devez convertir votre fichier de formes dans un système de projection avec des unités en mètres (par exemple un système de projection UTM de la zone applicable). Exécutez ensuite l'algorithme.
nash
6

Vous pouvez utiliser "v.parallel", vous pouvez trouver cet outil dans la boîte à outils de traitement QGIS.

  1. Sélectionnez la ligne avec l'ID de ligne no. 3, 6,20,25,31 Sélectionnez les lignes

  2. Utilisez "v.parallel", créez une ligne parallèle à partir des lignes sélectionnées. Mais, vous devez faire plusieurs fois pour produire différentes distances de décalage (50, 100, 170, 500 400). Il y a une option "Côté", vous pouvez attribuer l'emplacement des lignes parallèles. "v.parallel"

  3. Résultat: lignes parallèles (de couleur bleue) sur le côté gauche des lignes sélectionnées résultat
Cy T
la source
Merci Cy Y pour sa réponse. J'ai utilisé la commande v.parallel mais rien n'a été montré dans le nouveau shapefile de sortie.
Jitendra
1
p / s: la commande "v.parallel" ne fonctionne qu'avec des lignes courbes, elle ne peut pas fonctionner avec les lignes droites qui n'ont que deux sommets de ligne.
Cy T