Як буферна лінія з різними відстанями для лівої / правої сторони


14

Як я можу буферувати рядок у QGIS, використовуючи один атрибут для лівої частини рядка та один атрибут для правого боку рядка? Я намагаюся захистити річку з її шириною берега, яка відрізняється в правій та лівій частині.


ви намагалися використовувати буфер JTS від QGIS? lin-ear-th-inking.blogspot.it/2010/11 / ...
Julien

Відповіді:


8

Визначення сторони лінії є досить прямим вперед на орієнтуваній поверхні , що є двовимірною площиною в ГІС. Якщо визначити початкову і кінцеву точку для лінії, можна однозначно визначити "ліву" та "праву" сторони. Це так, навіть якщо лінія перетинає себе.

З більш практичної точки зору, простий робочий процес для створення однобічного буфера включає стандартний буфер, різницю, а потім операцію відсікання. Ось приклад.

Почніть зі створення багатокутника, який включає або точно перекриває вашу лінію. Для того щоб буфер знаходився на правій стороні вашої лінії, внутрішня частина многокутника повинна знаходитися зліва. Зауважте, що якщо ваша лінія перетинає себе, це не працюватиме за бажанням, і вам може знадобитися намалювати полігон таким чином, щоб він не перетинав ні себе, ні вашу лінію. Застосуйте операцію буфера до цього багатокутника. Використовуючи плагін fTools, перейдіть до Інструменти геопроцедури> Буфер.

Полігон

Використовуючи операцію "Різниця", Інструменти геопроцедури> Різниця, з буфером як вхідним шаром та оригінальним багатокутником як різницевим шаром, виріжте всередині. Тепер у вас є правий бічний буфер.

Буферний багатокутник

Залишилося лише обрізати "зайву" частину багатокутника. Інструменти геообробки> Кліп.

Багатокутний кліп Фінальна лінія


1

Це дуже цікаве питання, яке, на мою думку, не тривіальне для вирішення. Я натрапив на сценарій для ArcMap, який пропонує дуже добре документоване рішення, що охоплює 500 рядків коду VB. Однак мені не відомий еквівалентний скрипт або модуль в QGIS.

Одним з ключових міркувань в асиметричному буфері буде напрямок потоку лінії, щоб ви могли визначити ліву і праву сторону. Що стосується річок, то це слід легко розрахувати, якщо у вас є супровід DEM.

Можливо, можна побудувати qgis-скрипт навколо логіки цього сценарію, але це вимагатиме великої роботи.


1
У ArcMap цього дуже легко досягти. У діалоговому вікні інструменту у вас є параметр, Side Typeякий може бути лівим або правим. І у вас є параметр Field. Тож сценарій цього інструменту дозволяє використовувати різні значення для обох. Я нещодавно це зробив (дивіться моє запитання тут )
LarsVegas
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.