Comment tamponner une ligne avec différentes distances pour les côtés gauche / droit

14

Comment puis-je mettre en mémoire tampon une ligne dans QGIS en utilisant un attribut pour le côté gauche de la ligne et un attribut pour le côté droit de la ligne? J'essaie de tamponner une rivière avec sa largeur de rive, qui est différente à droite et à gauche.

Olga
la source
avez-vous essayé d'utiliser le tampon JTS de QGIS? lin-ear-th-inking.blogspot.it/2010/11/…
julien

Réponses:

8

La définition du côté d'une ligne est plutôt simple sur une surface orientable , ce qu'est un plan 2D dans un SIG. Si vous définissez un point de départ et un point d'arrivée pour une ligne, vous pouvez définir sans ambiguïté les côtés "gauche" et "droit". C'est le cas même si la ligne se croise.

D'un point de vue plus pratique, un flux de travail simple pour créer un tampon unilatéral comprend un tampon standard, une opération de différence, puis une opération de découpage. Voici un exemple.

Commencez par créer un polygone qui inclut ou chevauche précisément votre ligne. Pour que le tampon soit sur le côté droit de votre ligne, l'intérieur du polygone doit être sur la gauche. Notez que si votre ligne se croise, cela ne fonctionnera pas comme vous le souhaitez, et vous devrez peut-être dessiner le polygone de sorte qu'il ne se croise pas ni votre ligne. Appliquez l'opération de tampon à ce polygone. À l'aide du plugin fTools, accédez à Outils de géotraitement> Tampon.

Polygone

À l'aide de l'opération de différence, Outils de géotraitement> Différence, avec le tampon comme couche d'entrée et le polygone d'origine comme couche de différence, découpez l'intérieur. Vous avez maintenant un tampon à droite.

Polygone tamponné

Il ne reste plus qu'à découper la partie "extra" du polygone. Outils de géotraitement> Couper.

Clip polygone Ligne finale

katahdin
la source
1

Il s'agit d'une question très intéressante qui, à mon avis, n'est pas triviale à résoudre. Je suis tombé sur un script pour ArcMap qui fournit une solution très bien documentée couvrant 500 lignes de code VB. Cependant, je ne connais pas de script ou de module équivalent dans QGIS.

L'une des principales considérations dans un tampon asymétrique sera la direction du flux de la ligne, de sorte que vous pouvez définir un côté gauche et droit. Dans le cas des rivières, cela devrait être simple pour calculer si vous avez un DEM qui l'accompagne.

Il peut être possible de construire un script qgis autour de la logique de ce script, mais cela nécessiterait un travail considérable.

sgrieve
la source
1
Dans ArcMap, cela est très facile à réaliser. Dans la boîte de dialogue de l'outil, vous avez le paramètre Side Typequi peut être à gauche ou à droite. Et vous avez le paramètre Field. Le scriptage de cet outil vous permet donc d'utiliser des valeurs différentes pour les deux. Je l'ai fait récemment (voir ma question ici )
LarsVegas